microshow / RxFFmpeg

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

三星S9升级Android 10之后调用就崩了 #114

Open liaodq opened 4 years ago

liaodq commented 4 years ago

2020-02-21 20:04:51.940 com.mzxf.funchild A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x2c in tid 9401 (RxCachedThreadS), pid 9274 (m.mzxf.funchild) 2020-02-21 20:04:52.074 ? E/crash_dump64: unknown process state: t 2020-02-21 20:04:52.191 ? E/NetdEventListenerService: handleMessage: { when=0 what=10001 obj=com.android.server.connectivity.NetdEventListenerService$DnsResultParams@a9d1b05 target=com.android.server.connectivity.NetdEventListenerService$DnsEventHandler } 2020-02-21 20:04:52.271 ? A/DEBUG: 2020-02-21 20:04:52.272 ? A/DEBUG: Build fingerprint: 'samsung/starqltezc/starqltechn:10/QP1A.190711.020/G9600ZCU6DTA9:user/release-keys' 2020-02-21 20:04:52.272 ? A/DEBUG: Revision: '14' 2020-02-21 20:04:52.272 ? A/DEBUG: ABI: 'arm64' 2020-02-21 20:04:52.272 ? A/DEBUG: Timestamp: 2020-02-21 20:04:52+0800 2020-02-21 20:04:52.272 ? A/DEBUG: pid: 9274, tid: 9401, name: RxCachedThreadS >>> com.mzxf.funchild <<< 2020-02-21 20:04:52.272 ? A/DEBUG: uid: 10806 2020-02-21 20:04:52.272 ? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x2c 2020-02-21 20:04:52.272 ? A/DEBUG: Cause: null pointer dereference 2020-02-21 20:04:52.272 ? A/DEBUG: x0 0000000000000000 x1 0000000000000000 x2 0000000000000000 x3 0000000000000002 2020-02-21 20:04:52.272 ? A/DEBUG: x4 0000007096ca68de x5 00000070948908ee x6 6c6c615f6e616373 x7 0000000000000000 2020-02-21 20:04:52.272 ? A/DEBUG: x8 0000007094b587e0 x9 fbf3b087bc6d6d9b x10 0000000000000008 x11 0000000000000010 2020-02-21 20:04:52.272 ? A/DEBUG: x12 0000000000055358 x13 0000000000000001 x14 00000070a4154950 x15 0000000000000000 2020-02-21 20:04:52.272 ? A/DEBUG: x16 0000007096cc68a0 x17 000000707c4b5634 x18 000000705ff86000 x19 0000007060cc9818 2020-02-21 20:04:52.272 ? A/DEBUG: x20 0000000000000001 x21 00000000b0adaf08 x22 000000709484c800 x23 0000007060cc9818 2020-02-21 20:04:52.272 ? A/DEBUG: x24 0000000000004008 x25 0000007060ccc020 x26 0000007096cd9078 x27 0000000000000058 2020-02-21 20:04:52.272 ? A/DEBUG: x28 0000007094cccb60 x29 0000007060cc9790 2020-02-21 20:04:52.272 ? A/DEBUG: sp 0000007060cc96e0 lr 0000007096c80204 pc 0000007096c80208 2020-02-21 20:04:52.494 ? A/DEBUG: backtrace: 2020-02-21 20:04:52.494 ? A/DEBUG: #00 pc 000000000002c208 /data/app/com.mzxf.funchild-WqiviGfOgIaMEAlUsnYiow==/lib/arm64/librxffmpeg-invoke.so (BuildId: 137c41f87a00028fe757fbdf65ef90b65e56f3aa) 2020-02-21 20:04:52.494 ? A/DEBUG: #01 pc 000000000002ba48 /data/app/com.mzxf.funchild-WqiviGfOgIaMEAlUsnYiow==/lib/arm64/librxffmpeg-invoke.so (BuildId: 137c41f87a00028fe757fbdf65ef90b65e56f3aa) 2020-02-21 20:04:52.494 ? A/DEBUG: #02 pc 000000000002b7f4 /data/app/com.mzxf.funchild-WqiviGfOgIaMEAlUsnYiow==/lib/arm64/librxffmpeg-invoke.so (ffmpeg_parse_options+152) (BuildId: 137c41f87a00028fe757fbdf65ef90b65e56f3aa) 2020-02-21 20:04:52.494 ? A/DEBUG: #03 pc 000000000001bbfc /data/app/com.mzxf.funchild-WqiviGfOgIaMEAlUsnYiow==/lib/arm64/librxffmpeg-invoke.so (run_ffmpeg_command+268) (BuildId: 137c41f87a00028fe757fbdf65ef90b65e56f3aa) 2020-02-21 20:04:52.494 ? A/DEBUG: #04 pc 000000000001b268 /data/app/com.mzxf.funchild-WqiviGfOgIaMEAlUsnYiow==/lib/arm64/librxffmpeg-invoke.so (Java_io_microshow_rxffmpeg_RxFFmpegInvoke_runFFmpegCmd+224) (BuildId: 137c41f87a00028fe757fbdf65ef90b65e56f3aa) 2020-02-21 20:04:52.494 ? A/DEBUG: #05 pc 0000000000140350 /apex/com.android.runtime/lib64/libart.so (art_quick_generic_jni_trampoline+144) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.494 ? A/DEBUG: #06 pc 0000000000137334 /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.494 ? A/DEBUG: #07 pc 0000000000145fec /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread, unsigned int, unsigned int, art::JValue, char const)+244) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.494 ? A/DEBUG: #08 pc 00000000002e4398 /apex/com.android.runtime/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread, art::ArtMethod, art::ShadowFrame, unsigned short, art::JValue)+384) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.494 ? A/DEBUG: #09 pc 00000000002df5f8 /apex/com.android.runtime/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod, art::Thread, art::ShadowFrame&, art::Instruction const, unsigned short, art::JValue)+892) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.495 ? A/DEBUG: #10 pc 00000000005a21d8 /apex/com.android.runtime/lib64/libart.so (MterpInvokeVirtual+648) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.495 ? A/DEBUG: #11 pc 0000000000131814 /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.495 ? A/DEBUG: #12 pc 0000000000a9de9c /data/app/com.mzxf.funchild-WqiviGfOgIaMEAlUsnYiow==/oat/arm64/base.vdex (io.microshow.rxffmpeg.RxFFmpegInvoke$2.subscribe+28) 2020-02-21 20:04:52.495 ? A/DEBUG: #13 pc 00000000005a3cb8 /apex/com.android.runtime/lib64/libart.so (MterpInvokeInterface+1788) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.495 ? A/DEBUG: #14 pc 0000000000131a14 /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_interface+20) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.495 ? A/DEBUG: #15 pc 0000000000ac38ac /data/app/com.mzxf.funchild-WqiviGfOgIaMEAlUsnYiow==/oat/arm64/base.vdex (io.reactivex.internal.operators.flowable.FlowableCreate.subscribeActual+104) 2020-02-21 20:04:52.495 ? A/DEBUG: #16 pc 00000000005a2498 /apex/com.android.runtime/lib64/libart.so (MterpInvokeVirtual+1352) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.495 ? A/DEBUG: #17 pc 0000000000131814 /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.495 ? A/DEBUG: #18 pc 0000000000aa68a4 /data/app/com.mzxf.funchild-WqiviGfOgIaMEAlUsnYiow==/oat/arm64/base.vdex (io.reactivex.Flowable.subscribe+28) 2020-02-21 20:04:52.495 ? A/DEBUG: #19 pc 00000000005a2498 /apex/com.android.runtime/lib64/libart.so (MterpInvokeVirtual+1352) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.495 ? A/DEBUG: #20 pc 0000000000131814 /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.495 ? A/DEBUG: #21 pc 0000000000aa6906 /data/app/com.mzxf.funchild-WqiviGfOgIaMEAlUsnYiow==/oat/arm64/base.vdex (io.reactivex.Flowable.subscribe+14) 2020-02-21 20:04:52.495 ? A/DEBUG: #22 pc 00000000005a3cb8 /apex/com.android.runtime/lib64/libart.so (MterpInvokeInterface+1788) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.496 ? A/DEBUG: #23 pc 0000000000131a14 /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_interface+20) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.496 ? A/DEBUG: #24 pc 0000000000ad88f0 /data/app/com.mzxf.funchild-WqiviGfOgIaMEAlUsnYiow==/oat/arm64/base.vdex (io.reactivex.internal.operators.flowable.FlowableSubscribeOn$SubscribeOnSubscriber.run+24) 2020-02-21 20:04:52.496 ? A/DEBUG: #25 pc 00000000005a3cb8 /apex/com.android.runtime/lib64/libart.so (MterpInvokeInterface+1788) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.496 ? A/DEBUG: #26 pc 0000000000131a14 /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_interface+20) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.496 ? A/DEBUG: #27 pc 0000000000f9f306 /data/app/com.mzxf.funchild-WqiviGfOgIaMEAlUsnYiow==/oat/arm64/base.vdex (io.reactivex.internal.schedulers.ScheduledRunnable.run+26) 2020-02-21 20:04:52.496 ? A/DEBUG: #28 pc 00000000005a2498 /apex/com.android.runtime/lib64/libart.so (MterpInvokeVirtual+1352) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.496 ? A/DEBUG: #29 pc 0000000000131814 /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.496 ? A/DEBUG: #30 pc 0000000000f9f194 /data/app/com.mzxf.funchild-WqiviGfOgIaMEAlUsnYiow==/oat/arm64/base.vdex (io.reactivex.internal.schedulers.ScheduledRunnable.call) 2020-02-21 20:04:52.496 ? A/DEBUG: #31 pc 00000000005a3cb8 /apex/com.android.runtime/lib64/libart.so (MterpInvokeInterface+1788) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.496 ? A/DEBUG: #32 pc 0000000000131a14 /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_interface+20) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.496 ? A/DEBUG: #33 pc 00000000001ed3fe /apex/com.android.runtime/javalib/core-oj.jar (java.util.concurrent.FutureTask.run+62) 2020-02-21 20:04:52.496 ? A/DEBUG: #34 pc 00000000005a30f0 /apex/com.android.runtime/lib64/libart.so (MterpInvokeSuper+2248) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.496 ? A/DEBUG: #35 pc 0000000000131894 /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_super+20) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.496 ? A/DEBUG: #36 pc 00000000001f3dd2 /apex/com.android.runtime/javalib/core-oj.jar (java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run+38) 2020-02-21 20:04:52.497 ? A/DEBUG: #37 pc 00000000005a3cb8 /apex/com.android.runtime/lib64/libart.so (MterpInvokeInterface+1788) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.497 ? A/DEBUG: #38 pc 0000000000131a14 /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_interface+20) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.497 ? A/DEBUG: #39 pc 00000000001f8446 /apex/com.android.runtime/javalib/core-oj.jar (java.util.concurrent.ThreadPoolExecutor.runWorker+158) 2020-02-21 20:04:52.497 ? A/DEBUG: #40 pc 00000000005a2498 /apex/com.android.runtime/lib64/libart.so (MterpInvokeVirtual+1352) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.497 ? A/DEBUG: #41 pc 0000000000131814 /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.497 ? A/DEBUG: #42 pc 00000000001f71f4 /apex/com.android.runtime/javalib/core-oj.jar (java.util.concurrent.ThreadPoolExecutor$Worker.run+4) 2020-02-21 20:04:52.497 ? A/DEBUG: #43 pc 00000000005a3cb8 /apex/com.android.runtime/lib64/libart.so (MterpInvokeInterface+1788) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.497 ? A/DEBUG: #44 pc 0000000000131a14 /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_interface+20) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.497 ? A/DEBUG: #45 pc 00000000000eaa54 /apex/com.android.runtime/javalib/core-oj.jar (java.lang.Thread.run+8) 2020-02-21 20:04:52.497 ? A/DEBUG: #46 pc 00000000002b56ac /apex/com.android.runtime/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEbb.llvm.3584781260104004149+240) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.497 ? A/DEBUG: #47 pc 0000000000593740 /apex/com.android.runtime/lib64/libart.so (artQuickToInterpreterBridge+1032) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.497 ? A/DEBUG: #48 pc 0000000000140468 /apex/com.android.runtime/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.497 ? A/DEBUG: #49 pc 0000000000137334 /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.497 ? A/DEBUG: #50 pc 0000000000145fec /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread, unsigned int, unsigned int, art::JValue, char const)+244) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.497 ? A/DEBUG: #51 pc 00000000004b1eb0 /apex/com.android.runtime/lib64/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod, art::(anonymous namespace)::ArgArray, art::JValue, char const)+104) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.498 ? A/DEBUG: #52 pc 00000000004b2fc4 /apex/com.android.runtime/lib64/libart.so (art::InvokeVirtualOrInterfaceWithJValues(art::ScopedObjectAccessAlreadyRunnable const&, _jobject, _jmethodID, jvalue const)+416) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.498 ? A/DEBUG: #53 pc 00000000004f3ef0 /apex/com.android.runtime/lib64/libart.so (art::Thread::CreateCallback(void)+1176) (BuildId: 71929d29c572f37e6a4fb77ec415ffd3) 2020-02-21 20:04:52.498 ? A/DEBUG: #54 pc 00000000000e6f10 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36) (BuildId: 55ce0a7d78144b0290f9746ed1615719) 2020-02-21 20:04:52.498 ? A/DEBUG: #55 pc 00000000000850c8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: 55ce0a7d78144b0290f9746ed1615719) 2020-02-21 20:04:53.603 ? E//system/bin/tombstoned: Tombstone written to: /data/tombstones/tombstone_00

liaodq commented 4 years ago

应该是和#101一样的沙盒路径问题

liaodq commented 4 years ago

目前方案先copy视频文件再使用绝对路径,ffmpeg是否能用uri ?

public static void copyFile(Context context, @NonNull Uri uri, @NonNull String pathTo) throws IOException {
    FileChannel outputChannel = null;
    FileChannel inputChannel = null;
    try {
        ParcelFileDescriptor parcelFileDescriptor =
                context.getContentResolver().openFileDescriptor(uri, "r");
        FileDescriptor fileDescriptor = parcelFileDescriptor.getFileDescriptor();
        inputChannel = new FileInputStream(fileDescriptor).getChannel();
        outputChannel = new FileOutputStream(new File(pathTo)).getChannel();
        inputChannel.transferTo(0, inputChannel.size(), outputChannel);
        inputChannel.close();
    } finally {
        if (inputChannel != null) inputChannel.close();
        if (outputChannel != null) outputChannel.close();
    }
}
microshow commented 4 years ago

v2.3.0 1、提升SDK健壮性; 2、修复连续执行命令可能导致闪退的问题(比如执行完A命令立马执行B命令); 3、修复执行中断命令动作后立马执行下一个命令导致闪退的问题;

DaWeiDavy commented 4 years ago

我的华为nove 4 和mate 30pro,都是android10,报错信息和你的一样

DaWeiDavy commented 4 years ago

应该是和#101一样的沙盒路径问题

但是在小米的android上面,就可以。也是沙盒路径

DaWeiDavy commented 4 years ago

这个报错是jni层的报错

iHe1u0 commented 3 years ago

谷歌禁止了Android Q以上对二进制文件的使用,这里有个解决方案:FFMPEG commands isn't working in Android Q