microshow / RxFFmpeg

🔥💥RxFFmpeg 是基于 ( FFmpeg 4.0 + X264 + mp3lame + fdk-aac + opencore-amr + openssl ) 编译的适用于 Android 平台的音视频编辑、视频剪辑的快速处理框架,包含以下功能:视频拼接,转码,压缩,裁剪,片头片尾,分离音视频,变速,添加静态贴纸和gif动态贴纸,添加字幕,添加滤镜,添加背景音乐,加速减速视频,倒放音视频,音频裁剪,变声,混音,图片合成视频,视频解码图片,抖音首页,视频播放器及支持 OpenSSL https 等主流特色功能
4.45k stars 747 forks source link

android压缩报错 #170

Open zqc843718 opened 4 years ago

zqc843718 commented 4 years ago

SIGSEGV(SEGV_MAPERR) 0x2c

00 pc 000000000002b570 /data/app/com.**.app-nAGC2ZMGguMZQCDDp4pPSg==/lib/arm64/librxffmpeg-invoke.so [arm64-v8a::00d7231d22251c42c44febad19a403cf]

#01    pc 000000000002adb0    /data/app/com.**.app-nAGC2ZMGguMZQCDDp4pPSg==/lib/arm64/librxffmpeg-invoke.so [arm64-v8a::00d7231d22251c42c44febad19a403cf]
#02    pc 000000000002ab5c    /data/app/com..app-nAGC2ZMGguMZQCDDp4pPSg==/lib/arm64/librxffmpeg-invoke.so (ffmpeg_parse_options+152) [arm64-v8a::00d7231d22251c42c44febad19a403cf]
#03    pc 000000000001bf24    /data/app/com.**.app-nAGC2ZMGguMZQCDDp4pPSg==/lib/arm64/librxffmpeg-invoke.so (run_ffmpeg_command+268) [arm64-v8a::00d7231d22251c42c44febad19a403cf]
#04    pc 000000000001b54c    /data/app/com.**.app-nAGC2ZMGguMZQCDDp4pPSg==/lib/arm64/librxffmpeg-invoke.so (Java_io_microshow_rxffmpeg_RxFFmpegInvoke_runFFmpegCmd+224) [arm64-v8a::00d7231d22251c42c44febad19a403cf]
#05    pc 00000000005605e0    /system/lib64/libart.so (art_quick_generic_jni_trampoline+144) [arm64-v8a::a69e4bc3b64c0b6a4099a21202135ff8]
#06    pc 0000000000557588    /system/lib64/libart.so (art_quick_invoke_stub+584) [arm64-v8a::a69e4bc3b64c0b6a4099a21202135ff8]
#07    pc 00000000000cfcc8    /system/lib64/libart.so (_ZN3art9ArtMethod6InvokeEPNS_6ThreadEPjjPNS_6JValueEPKc+200) [arm64-v8a::a69e4bc3b64c0b6a4099a21202135ff8]
#08    pc 0000000000280438    /system/lib64/libart.so (_ZN3art11interpreter34ArtInterpreterToCompiledCodeBridgeEPNS_6ThreadEPNS_9ArtMethodEPNS_11ShadowFrameEtPNS_6JValueE+344) [arm64-v8a::a69e4bc3b64c0b6a4099a21202135ff8]
#09    pc 000000000027a440    /system/lib64/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+968) [arm64-v8a::a69e4bc3b64c0b6a4099a21202135ff8]
#10    pc 0000000000526ca8    /system/lib64/libart.so (MterpInvokeVirtual+588) [arm64-v8a::a69e4bc3b64c0b6a4099a21202135ff8]
#11    pc 0000000000549c14    /system/lib64/libart.so (ExecuteMterpImpl+14228) [arm64-v8a::a69e4bc3b64c0b6a4099a21202135ff8]
#12    pc 0000007cdcb711e0    <unknown>
java:
io.microshow.rxffmpeg.RxFFmpegInvoke$2.subscribe(RxFFmpegInvoke.java:117)
io.reactivex.internal.operators.flowable.FlowableCreate.subscribeActual(FlowableCreate.java:71)
io.reactivex.Flowable.subscribe(Flowable.java:14636)
io.reactivex.Flowable.subscribe(Flowable.java:14583)
io.reactivex.internal.operators.flowable.FlowableSubscribeOn$SubscribeOnSubscriber.run(FlowableSubscribeOn.java:82)
io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
java.util.concurrent.FutureTask.run(FutureTask.java:266)
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
java.lang.Thread.run(Thread.java:764)
zqc843718 commented 4 years ago

android9.0的版本

microshow commented 4 years ago

参考

zqc843718 commented 4 years ago

还是报错、我下载代码运行也还是报错,但是剪一个的apk没问题

zqc843718 commented 4 years ago

解决了 demo的 // val text = "ffmpeg -y -i "+filePath+" -b 2097k -r 30 -vcodec libx264 -preset superfast "+outPath // val commands = text.split(" ".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray() 在三星手机上会出问题 使用构建的就好了 RxFFmpegCommandList cmdlist = new RxFFmpegCommandList(); cmdlist.append("-i"); cmdlist.append("/storage/emulated/0/1/input.mp4"); cmdlist.append("-vf"); cmdlist.append("boxblur=5:1"); cmdlist.append("-preset"); cmdlist.append("superfast"); cmdlist.append("/storage/emulated/0/1/result.mp4"); return cmdlist.build();

zqc843718 commented 4 years ago

参考

多谢

microshow commented 4 years ago

ok