微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法使用 ffmpeg 从视频中提取音轨

如何解决无法使用 ffmpeg 从视频中提取音轨

我尝试从视频中提取音轨并对其进行转码,但出现错误Filter split:output1 has an unconnected output。如何解决这个问题?

ffmpeg 命令:

ffmpeg -i video.mp4 -filter_complex [0]split=2[s0][s1] -map [s0] -c:a aac -dn -map -0:v? -map 0:1 -map_chapters -1 -map_Metadata -1 -sn video-0.aac -map [s1] -ac 2 -c:a aac -dn -map -0:v? -map 0:2 -map_chapters -1 -map_Metadata -1 -sn video-1.aac -y

fprobe 完整输出(有关章节的条带信息):

Input #0,mov,mp4,m4a,3gp,3g2,mj2,from 'video.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    title           : SomeTitle
    encoder         : Lavf58.45.100
  Duration: 00:21:35.58,start: 0.000000,bitrate: 10591 kb/s
  Chapters:
    Chapter #0:0: start 0.000000,end 70.000000
      Metadata:
        title           : Chapter 1
...
...
    Chapter #0:20: start 1278.000000,end 1295.584000
      Metadata:
        title           : Last Chapter
  Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661),yuv420p(tv,bt709),1920x1080 [SAR 1:1 DAR 16:9],9754 kb/s,23.98 fps,23.98 tbr,16k tbn,47.95 tbc (default)
    Metadata:
      handler_name    : VideoHandler
      vendor_id       : [0][0][0][0]
  Stream #0:1(rus): Audio: ac3 (ac-3 / 0x332D6361),48000 Hz,stereo,fltp,192 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
      vendor_id       : [0][0][0][0]
    Side data:
      audio service type: main
  Stream #0:2(eng): Audio: eac3 (ec-3 / 0x332D6365),5.1(side),640 kb/s
    Metadata:
      handler_name    : SoundHandler
      vendor_id       : [0][0][0][0]
    Side data:
      audio service type: main
  Stream #0:3(eng): Data: bin_data (text / 0x74786574),0 kb/s
    Metadata:
      handler_name    : SubtitleHandler

解决方法

2个问题:

  1. split filter 用于视频。如果您想分割音频,请使用 asplit
  2. 您正在尝试将视频放入 AAC,但 AAC 只是音频。

简化示例;假设您想要 output-0.aac 中的音频 #0 和 output-1.aac 中的音频 #1:

ffmpeg -i video.mp4 -map 0:a:0 -map_chapters -1 -map_metadata -1 output-0.aac -map 0:a:1 -map_chapters -1 -map_metadata -1 output-1.aac

有关 -map 的详细信息,请参阅 FFmpeg Wiki: Map

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。