android - 使用参数 'pan' 初始化过滤器 'stereo:c0<c0+c2:c1<c1+c3' 时出错

标签 android video ffmpeg android-ffmpeg

我在 FFmpeg 命令下运行以合并音频和视频,使用 FFmpeg 4.0-39 版本保留视频的原始音频-

-i /storage/emulated/0/Movies/extract_audio.mp3 -i /storage/emulated/0/Movies/VID-20200501-WA0000.mp4 -filter_complex [0:a][1:a]amerge,pan=stereo:c0<c0+c2:c1<c1+c3[out] -map 1:v -map [out] -c:v copy -c:a aac -shortest /storage/emulated/0/Movies/merge_video.mp4

对于所有具有以下错误的视频,它都失败了!但是,当使用旧版本的 FFMpeg 3.0.1 时,相同的命令运行良好!
FAILED with output : ffmpeg version n4.0-39-gda39990 Copyright (c) 2000-2018 the FFmpeg developers
      built with gcc 4.9.x (GCC) 20150123 (prerelease)
      configuration: --target-os=linux --cross-prefix=/root/bravobit/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/root/bravobit/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-ffprobe --enable-libopus --enable-libvorbis --enable-libfdk-aac --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-fontconfig --enable-libvpx --enable-libass --enable-yasm --enable-pthreads --disable-debug --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-linux-perf --disable-doc --disable-shared --enable-static --enable-runtime-cpudetect --enable-nonfree --enable-network --enable-avresample --enable-avformat --enable-avcodec --enable-indev=lavfi --enable-hwaccels --enable-ffmpeg --enable-zlib --enable-gpl --enable-small --enable-nonfree --pkg-config=pkg-config --pkg-config-flags=--static --prefix=/root/bravobit/ffmpeg-android/build/armeabi-v7a --extra-cflags='-I/root/bravobit/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all' --extra-ldflags='-L/root/bravobit/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-cxxflags=
      libavutil      56. 14.100 / 56. 14.100
      libavcodec     58. 18.100 / 58. 18.100
      libavformat    58. 12.100 / 58. 12.100
      libavdevice    58.  3.100 / 58.  3.100
      libavfilter     7. 16.100 /  7. 16.100
      libavresample   4.  0.  0 /  4.  0.  0
      libswscale      5.  1.100 /  5.  1.100
      libswresample   3.  1.100 /  3.  1.100
      libpostproc    55.  1.100 / 55.  1.100
    Input #0, mp3, from '/storage/emulated/0/Movies/extract_audio.mp3.mp4':
      Metadata:
        major_brand     : M4V 
        minor_version   : 512
        compatible_brands: isomiso2avc1
        encoder         : Lavf58.12.100
      Duration: 00:00:20.04, start: 0.025057, bitrate: 256 kb/s
        Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 256 kb/s
        Metadata:
          encoder         : Lavc58.18
    Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/Movies/VID-20200501-WA0000.mp4.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf58.20.100
      Duration: 00:00:09.83, start: 0.000000, bitrate: 809 kb/s
        Stream #1:0(und): Video: h264 (avc1 / 0x31637661), yuv420p(tv, bt709), 480x600, 737 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
        Metadata:
          handler_name    : VideoHandler
        Stream #1:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 64 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
    [Parsed_pan_1 @ 0xaef0c000] This syntax is deprecated. Use '|' to separate the list items ('stereo|c0<c0+c2|c1<c1+c3' instead of 'stereo:c0<c0+c2:c1<c1+c3')
    [AVFilterGraph @ 0xaf117180] Error initializing filter 'pan' with args 'stereo:c0<c0+c2:c1<c1+c3'
    Error initializing complex filters.
    Invalid argument

最佳答案

新语法是 pan=stereo|c0<c0+c2|c1<c1+c3 .它是由 | 分隔的单个参数并由 pan 固有的解析器解析.根据您的外壳/包装器引用参数。

关于android - 使用参数 'pan' 初始化过滤器 'stereo:c0<c0+c2:c1<c1+c3' 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61985231/

相关文章:

android - 在 Android 中激活蓝牙 SPP?

Android-向ImageView添加多个标签

Python - 如何将视频文件读取为二进制数据?

iphone - 捕获相机和音频输入时出错

php - 谷歌 YouTube API (v3) : how to access my unlisted/private videos from my server?

ffmpeg usb 网络摄像头录制在设定的持续时间之前随机终止

java - 如何在 Android Studio 中调试 android 库模块?

android - 使用 Path.lineTo 在 x 轴上增加一个小数点

Nginx-rtmp vod 播放目录中的文件列表

ffmpeg - 如何使用 ffmpeg 将 mp3 推送到 srs?