FFMPEG:我需要音频 channel 7 和 8 作为视频的主要音轨

标签 ffmpeg transcoding mixing transcode

我有一个带有 8 个音频 channel 的视频。

我需要轨道 7(左立体声)和 8(右立体声)作为视频的音频(我将其转换为 flv)。

我试过玩-filter_complexjoin , amix , 和 amerge过滤器,以及 -map参数,但我似乎找不到正确的值组合:-/

输出:

/usr/local/bin/ffmpeg-1.0/bin/ffmpeg -i '/folder/video_name.mov' -f 'flv' \
-s '320x240' -b '250k' -aspect '4:3' -ac 1 -ab '64k' -ar '22050' -y \
/folder/video_name.flv

ffmpeg version N-46241-g09ea482 Copyright (c) 2000-2012 the FFmpeg developers
  built on Nov  5 2012 07:33:09 with gcc 4.1.2 (GCC) 20080704 (Red Hat 4.1.2-46)
  configuration: --prefix=/usr/local/bin/ffmpeg-1.0
  libavutil      52.  1.100 / 52.  1.100
  libavcodec     54. 70.100 / 54. 70.100
  libavformat    54. 35.100 / 54. 35.100
  libavdevice    54.  3.100 / 54.  3.100
  libavfilter     3. 21.105 /  3. 21.105
  libswscale      2.  1.101 /  2.  1.101
  libswresample   0. 16.100 /  0. 16.100
Guessed Channel Layout for  Input Stream #0.1 : mono
Guessed Channel Layout for  Input Stream #0.2 : mono
Guessed Channel Layout for  Input Stream #0.3 : mono
Guessed Channel Layout for  Input Stream #0.4 : mono
Guessed Channel Layout for  Input Stream #0.5 : mono
Guessed Channel Layout for  Input Stream #0.6 : mono
Guessed Channel Layout for  Input Stream #0.7 : mono
Guessed Channel Layout for  Input Stream #0.8 : mono
Guessed Channel Layout for  Input Stream #0.9 : mono
Guessed Channel Layout for  Input Stream #0.10 : mono
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/folder/video_name.mov':
  Metadata:
    major_brand     : qt
    minor_version   : 537199360
    compatible_brands: qt
    creation_time   : 2013-04-03 19:45:26
  Duration: 00:00:39.03, start: 0.000000, bitrate: 122149 kb/s
    Stream #0:0(eng): Video: prores (apch / 0x68637061), yuv422p10le, 1920x1080, 110585 kb/s, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 23976 tbn, 23976 tbc
    Metadata:
      creation_time   : 2013-04-03 19:45:26
      handler_name    : Apple Alias Data Handler
      timecode        : 00:59:53:00
    Stream #0:1(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono, s32, 1152 kb/s
    Metadata:
      creation_time   : 2013-04-03 19:45:26
      handler_name    : Apple Alias Data Handler
    Stream #0:2(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono, s32, 1152 kb/s
    Metadata:
      creation_time   : 2013-04-03 19:45:26
      handler_name    : Apple Alias Data Handler
    Stream #0:3(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono, s32, 1152 kb/s
    Metadata:
      creation_time   : 2013-04-03 19:45:26
      handler_name    : Apple Alias Data Handler
    Stream #0:4(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono, s32, 1152 kb/s
    Metadata:
      creation_time   : 2013-04-03 19:45:26
      handler_name    : Apple Alias Data Handler
    Stream #0:5(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono, s32, 1152 kb/s
    Metadata:
      creation_time   : 2013-04-03 19:45:26
      handler_name    : Apple Alias Data Handler
    Stream #0:6(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono, s32, 1152 kb/s
    Metadata:
      creation_time   : 2013-04-03 19:45:26
      handler_name    : Apple Alias Data Handler
    Stream #0:7(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono, s32, 1152 kb/s
    Metadata:
      creation_time   : 2013-04-03 19:45:26
      handler_name    : Apple Alias Data Handler
    Stream #0:8(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono, s32, 1152 kb/s
    Metadata:
      creation_time   : 2013-04-03 19:45:26
      handler_name    : Apple Alias Data Handler
    Stream #0:9(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono, s32, 1152 kb/s
    Metadata:
      creation_time   : 2013-04-03 19:45:26
      handler_name    : Apple Alias Data Handler
    Stream #0:10(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono, s32, 1152 kb/s
    Metadata:
      creation_time   : 2013-04-03 19:45:26
      handler_name    : Apple Alias Data Handler
    Stream #0:11(eng): Data: none (tmcd / 0x64636D74)
    Metadata:
      creation_time   : 2013-04-03 19:45:30
      handler_name    : Apple Alias Data Handler
      timecode        : 00:59:53:00
Please use -b:a or -b:v, -b is ambiguous
Output #0, flv, to '/folder/video_name.flv':
  Metadata:
    major_brand     : qt
    minor_version   : 537199360
    compatible_brands: qt
    encoder         : Lavf54.35.100
    Stream #0:0(eng): Video: flv1 ([2][0][0][0] / 0x0002), yuv420p, 320x240 [SAR 1:1 DAR 4:3], q=2-31, 250 kb/s, 1k tbn, 23.98 tbc
    Metadata:
      creation_time   : 2013-04-03 19:45:26
      handler_name    : Apple Alias Data Handler
      timecode        : 00:59:53:00
    Stream #0:1(eng): Audio: adpcm_swf ([1][0][0][0] / 0x0001), 22050 Hz, mono, s16, 88 kb/s
    Metadata:
      creation_time   : 2013-04-03 19:45:26
      handler_name    : Apple Alias Data Handler
Stream mapping:
  Stream #0:0 -> #0:0 (prores -> flv)
  Stream #0:1 -> #0:1 (pcm_s24le -> adpcm_swf)
Press [q] to stop, [?] for help
frame=   33 fps=0.0 q=2.0 size=     108kB time=00:00:01.99 bitrate= 442.4kbits/s    
frame=   66 fps= 65 q=2.0 size=     225kB time=00:00:02.97 bitrate= 619.0kbits/s    
frame=   99 fps= 65 q=2.0 size=     341kB time=00:00:04.96 bitrate= 561.8kbits/s    
frame=  136 fps= 67 q=2.0 size=     400kB time=00:00:05.99 bitrate= 547.5kbits/s    
frame=  177 fps= 70 q=3.0 size=     482kB time=00:00:07.98 bitrate= 494.3kbits/s    
frame=  210 fps= 69 q=3.7 size=     590kB time=00:00:08.96 bitrate= 539.7kbits/s    
frame=  240 fps= 68 q=6.3 size=     660kB time=00:00:10.01 bitrate= 539.7kbits/s    
frame=  264 fps= 65 q=6.7 size=     719kB time=00:00:11.01 bitrate= 535.2kbits/s    
frame=  288 fps= 63 q=8.4 size=     772kB time=00:00:12.02 bitrate= 526.1kbits/s    
frame=  312 fps= 62 q=15.4 size=     829kB time=00:00:13.65 bitrate= 497.4kbits/s    
frame=  336 fps= 60 q=10.4 size=     875kB time=00:00:14.02 bitrate= 511.1kbits/s    
frame=  360 fps= 59 q=10.6 size=     916kB time=00:00:15.01 bitrate= 499.9kbits/s    
frame=  383 fps= 58 q=17.8 size=     957kB time=00:00:15.97 bitrate= 490.6kbits/s    
frame=  411 fps= 58 q=6.5 size=    1008kB time=00:00:17.97 bitrate= 459.3kbits/s    
frame=  437 fps= 57 q=9.7 size=    1046kB time=00:00:18.99 bitrate= 451.3kbits/s    
frame=  460 fps= 57 q=7.7 size=    1086kB time=00:00:20.01 bitrate= 444.6kbits/s    
frame=  489 fps= 57 q=11.3 size=    1144kB time=00:00:20.99 bitrate= 446.3kbits/s    
frame=  512 fps= 56 q=10.3 size=    1182kB time=00:00:22.01 bitrate= 439.8kbits/s    
frame=  535 fps= 55 q=21.5 size=    1225kB time=00:00:22.98 bitrate= 436.7kbits/s    
frame=  564 fps= 55 q=18.3 size=    1280kB time=00:00:24.00 bitrate= 436.8kbits/s    
frame=  587 fps= 55 q=8.5 size=    1311kB time=00:00:24.98 bitrate= 429.7kbits/s    
frame=  610 fps= 54 q=11.9 size=    1349kB time=00:00:26.00 bitrate= 424.9kbits/s    
frame=  636 fps= 54 q=7.5 size=    1383kB time=00:00:26.98 bitrate= 419.8kbits/s    
frame=  659 fps= 54 q=9.6 size=    1421kB time=00:00:28.00 bitrate= 415.6kbits/s    
frame=  683 fps= 54 q=20.0 size=    1471kB time=00:00:29.02 bitrate= 415.1kbits/s    
frame=  711 fps= 54 q=6.4 size=    1518kB time=00:00:30.00 bitrate= 414.5kbits/s    
frame=  742 fps= 54 q=6.2 size=    1558kB time=00:00:31.02 bitrate= 411.5kbits/s    
frame=  774 fps= 54 q=2.5 size=    1601kB time=00:00:33.01 bitrate= 397.1kbits/s    
frame=  816 fps= 55 q=2.0 size=    1632kB time=00:00:34.50 bitrate= 387.6kbits/s    
frame=  861 fps= 56 q=2.0 size=    1670kB time=00:00:35.99 bitrate= 380.1kbits/s    
frame=  905 fps= 57 q=2.0 size=    1706kB time=00:00:38.03 bitrate= 367.4kbits/s    
frame=  936 fps= 58 q=2.0 Lsize=    1730kB time=00:00:39.05 bitrate= 362.8kbits/s
video:1278kB audio:423kB subtitle:0 global headers:0kB muxing overhead 1.654557%

最佳答案

amerge 你走在正确的轨道上.

ffmpeg -i input -filter_complex "scale=320:-1;[0:7][0:8]amerge" -codec:v libx264 \
-preset medium -crf 23 -codec:a libmp3lame -q:a 5 -ar 44100 output.flv

我推荐使用 libx264编码 H.264 视频,因为与名为 flv 的编码器相比,它将提供更高的每比特率质量(输出 FLV/Sorenson Spark/Sorenson H.263 的编码器)。 FLV 容器可以利用 H.264 视频。

我还建议使用 libmp3lame对音频进行编码,否则你会变得很糟糕,旧的 adpcm_swf .

您的构建尚未配置为支持这些外部编码库,但有 static builds确实包含这些。

另见:
  • FFmpeg Wiki: x264 Encoding Guide
  • FFmpeg Wiki: MP3 Encoding Guide
  • 关于FFMPEG:我需要音频 channel 7 和 8 作为视频的主要音轨,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15908499/

    相关文章:

    python - 使用 derolf/transcoder 进行动态转码

    iPhone:以编程方式混合两个音频文件?

    c - 在 C 中获取 Shell 命令的结果

    android - 视频处理和过滤库

    ffmpeg - 使用 ffmpeg 设置字幕语言

    macos - ffmpeg:同时捕获两个屏幕,保存为两个单独的文件

    audio - 如何使用 libavcodec 对 AAC-LC、AAC-HE-V1、AAC-HE-V2 中的音频进行编码?

    ffmpeg - 您如何使用 ffmpeg 重新传输具有更改比特率、fps 等的 .m3u8 直播流?

    android - android中的颜色混合

    ffmpeg推视频成功了,为什么一开始就出错了?