audio - ffmpeg - 如何从输入->输出中传递所有流音频/tmcd等

标签 audio ffmpeg codec ffprobe

请帮助我,希望将特定的 ffmpeg 参数包含在我的视频编码中。
我的工作只与视频流有关,所以这是我唯一要更改的。
我收到一个已经为特定广播公司预编译的 .mov 文件,其中一些自包含视频有 4 个流(1 个视频、2 个音频和其他一些时间码流)。其他有多达 17 个流:1 个视频流、15 个音频流,最后一个是不支持的 tmcd。
我的流程管道包括仅重新编码/重新处理视频 流,以及我需要传递给输出文件的所有其他内容 - 所有其他流没有任何更改或更改。
在此编码步骤中,我将 icon.png 从 sec 2-3、4-5 和 6-8 插入到位置 5:21。为此,我使用了 map 选项,因此我的编码字符串如下所示:

ffmpeg -i in.mov -i icon.png -i icon.png -i icon.png
    -filter_complex "  [0][1]overlay=5:21:enable='between(t,2,3)'[v1];
                      [v1][2]overlay=5:21:enable='between(t,4,5)'[v2];
                      [v2][3]overlay=5:21:enable='between(t,6,8)'[v3]" -map '[v3]' -map 0:a
    -c:v dvvideo -pix_fmt yuv422p -b:v 115084915 -maxrate 115084915 -minrate 115084915 -r 29.97 -top 1 -color_primaries bt709 -color_trc bt709 -colorspace bt709 -vtag dvh6
    -c:a copy -c:s copy -y out.mov
问题在于 out.mov 仅显示 2 个流而不是 17 个(1 个视频和 2 个音频)。所有其他 15 个流都被完全截断。
阅读其他一些stackoverflow帖子,我发现了一种传输所有其他流的方法,即使用-map 0:
但是当我尝试添加 - map 0 在我的最后一行:
    ...
    -map 0 -c:a copy -c:s copy -y out.mov
但这将流的数量从 17 增加到 34 - 输出文件大小也增加了一倍。
如果我删除 map “[v3]”- map 0:a 从我的原始编码字符串中并且只包含 -map 0,我得到了正确数量的流,但是,当然 icon.png 没有在正确的时间插入。我应该怎么办?
如果有办法将我的 -filter_complex 重新映射到覆盖图像而不使用此 - map 选项?或者,具体说明每个 - map 指的是?
如果没有,我可以使用哪些其他参数/​​参数(如果甚至存在这样的选项)来复制所有流、子和所有其他音频,如果存在的话,可能还有其他用于音频损伤的信号。
请帮忙,这样我终于可以包装我的输出并提交我的工作了。
编辑1:
这是我的输出:
ffprobe version N-99345-g904ab5365c Copyright (c) 2007-2020 the FFmpeg developers
  built with Apple LLVM version 10.0.0 (clang-1000.11.45.5)
  configuration: --enable-filter=qrrabbit --enable-opengl --enable-gpl --enable-libx264 --extra-libs='-lqrencode -lpthread'
  libavutil      56. 59.100 / 56. 59.100
  libavcodec     58.106.100 / 58.106.100
  libavformat    58. 58.100 / 58. 58.100
  libavdevice    58. 11.102 / 58. 11.102
  libavfilter     7. 87.100 /  7. 87.100
  libswscale      5.  8.100 /  5.  8.100
  libswresample   3.  8.100 /  3.  8.100
  libpostproc    55.  8.100 / 55.  8.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'output.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 512
    compatible_brands: qt  
    creation_time   : 2020-02-29T22:07:42.000000Z
    encoder         : Lavf58.58.100
  Duration: 00:00:20.05, start: 0.000000, bitrate: 133544 kb/s
    Stream #0:0: Video: dvvideo (dvh6 / 0x36687664), yuv422p(bt709, top first), 1280x1080 [SAR 3:2 DAR 16:9], 115084 kb/s, 29.97 fps, 29.97 tbr, 11988 tbn, 29.97 tbc (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : VideoHandler
      encoder         : Lavc58.106.100 dvvideo
      timecode        : 00:00:00;00
    Stream #0:1(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
    Stream #0:2(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
    Stream #0:3(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
    Stream #0:4(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
    Stream #0:5(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
    Stream #0:6(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
    Stream #0:7(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
    Stream #0:8(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
    Stream #0:9(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
    Stream #0:10(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
    Stream #0:11(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
    Stream #0:12(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
    Stream #0:13(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
    Stream #0:14(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
    Stream #0:15(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
    Stream #0:16(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
    Stream #0:17(eng): Data: none (tmcd / 0x64636D74), 0 kb/s
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : VideoHandler
      timecode        : 00:00:00;00
Unsupported codec with id 0 for input stream 17
这是输入文件中的 ffprobe :
ffprobe version N-99345-g904ab5365c Copyright (c) 2007-2020 the FFmpeg developers
  built with Apple LLVM version 10.0.0 (clang-1000.11.45.5)
  configuration: --enable-filter=qrrabbit --enable-opengl --enable-gpl --enable-libx264 --extra-libs='-lqrencode -lpthread'
  libavutil      56. 59.100 / 56. 59.100
  libavcodec     58.106.100 / 58.106.100
  libavformat    58. 58.100 / 58. 58.100
  libavdevice    58. 11.102 / 58. 11.102
  libavfilter     7. 87.100 /  7. 87.100
  libswscale      5.  8.100 /  5.  8.100
  libswresample   3.  8.100 /  3.  8.100
  libpostproc    55.  8.100 / 55.  8.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 537199360
    compatible_brands: qt  
    creation_time   : 2020-02-29T22:07:42.000000Z
  Duration: 00:00:20.05, start: 0.000000, bitrate: 133935 kb/s
    Stream #0:0(eng): Video: dvvideo (dvh6 / 0x36687664), yuv422p(bt709, top coded first (swapped)), 1280x1080 [SAR 3:2 DAR 16:9], 115084 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 29.97 tbc (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Video Media Handler
      encoder         : DVCPRO HD 1080i60
      timecode        : 00:00:00;00
    Stream #0:1(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
      timecode        : 00:00:00;00
    Stream #0:2(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
      timecode        : 00:00:00;00
    Stream #0:3(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
      timecode        : 00:00:00;00
    Stream #0:4(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
      timecode        : 00:00:00;00
    Stream #0:5(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
      timecode        : 00:00:00;00
    Stream #0:6(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
      timecode        : 00:00:00;00
    Stream #0:7(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
      timecode        : 00:00:00;00
    Stream #0:8(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
      timecode        : 00:00:00;00
    Stream #0:9(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
      timecode        : 00:00:00;00
    Stream #0:10(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
      timecode        : 00:00:00;00
    Stream #0:11(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
      timecode        : 00:00:00;00
    Stream #0:12(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
      timecode        : 00:00:00;00
    Stream #0:13(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
      timecode        : 00:00:00;00
    Stream #0:14(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
      timecode        : 00:00:00;00
    Stream #0:15(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
      timecode        : 00:00:00;00
    Stream #0:16(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Apple Sound Media Handler
      timecode        : 00:00:00;00
    Stream #0:17(eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
    Metadata:
      creation_time   : 2020-02-29T22:07:42.000000Z
      handler_name    : Time Code Media Handler
      timecode        : 00:00:00;00
Unsupported codec with id 0 for input stream 17

最佳答案

有条件地映射所有非视频流(即包括如果存在)。复杂过滤器图的输出会自动映射到第一个输出,因此不需要手动映射。复制除视频之外的所有流。您可以将单个叠加实例用于多个时间范围。ffmpeg -i in.mov -i icon.png -filter_complex "[0][1]overlay=5:21:enable='between(t,2,3)+between(t,4,5)+between(t,6,8)'" -map 0:a? -map 0:s? -pix_fmt yuv422p -r 30000/1001 -c copy -c:v dvvideo -b:v 115084915 -maxrate 115084915 -minrate 115084915 -top 1 -color_primaries bt709 -color_trc bt709 -colorspace bt709 -vtag dvh6 -y out.mov

关于audio - ffmpeg - 如何从输入->输出中传递所有流音频/tmcd等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64036017/

相关文章:

android - 在后台播放视频中的音频

audio - 给定 MP3,是否可以使用快速傅立叶变换 (FFT) 来分解不同的乐器?

c - libavcodec/libx264 不尊重 keyint_min

FFMPEG 缩小图像

c++ - 平面YUV420数据布局

c++ - opus_encoder_create() 返回空指针

c# - 适用于 Mac 和 Windows 的音频框架

c# - 捕获扬声器输出

java - 视频压缩不适用于 ffmpeg4android_lib 库