ffmpeg通过handler_name

时间:2017-04-13 11:36:39

标签: ffmpeg metadata gopro

我有一个包含这些流的文件

Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 45315 kb/s, 59.94 fps, 59.94 tbr, 60k tbn, 119.88 tbc (default)
    Metadata:
      creation_time   : 2017-04-12T19:32:57.000000Z
      handler_name    :         GoPro AVC
      encoder         : GoPro AVC encoder
      timecode        : 19:51:39:46
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      creation_time   : 2017-04-12T19:32:57.000000Z
      handler_name    :         GoPro AAC
      timecode        : 19:51:39:46
    Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
    Metadata:
      creation_time   : 2017-04-12T19:32:57.000000Z
      handler_name    :         GoPro TCD
      timecode        : 19:51:39:46
    Stream #0:3(eng): Data: none (gpmd / 0x646D7067), 34 kb/s (default)
    Metadata:
      creation_time   : 2017-04-12T19:32:57.000000Z
      handler_name    :         GoPro MET
    Stream #0:4(eng): Data: none (fdsc / 0x63736466), 14 kb/s (default)
    Metadata:
      creation_time   : 2017-04-12T19:32:57.000000Z
      handler_name    :         GoPro SOS

并且只想输出Stream#0:3(eng):Data:none(gpmd / 0x646D7067)

我可以用-map 0:3映射它,但是有些文件在不同的位置有相同的Stream,如下所示:

Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 60013 kb/s, 90 fps, 90 tbr, 90k tbn, 180 tbc (default)
    Metadata:
      creation_time   : 2017-04-12T19:32:25.000000Z
      handler_name    :         GoPro AVC
      encoder         : GoPro AVC encoder
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      creation_time   : 2017-04-12T19:32:25.000000Z
      handler_name    :         GoPro AAC
    Stream #0:2(eng): Data: none (gpmd / 0x646D7067), 35 kb/s (default)
    Metadata:
      creation_time   : 2017-04-12T19:32:25.000000Z
      handler_name    :         GoPro MET
    Stream #0:3(eng): Data: none (fdsc / 0x63736466), 18 kb/s (default)
    Metadata:
      creation_time   : 2017-04-12T19:32:25.000000Z
      handler_name    :         GoPro SOS

我如何确保选择正确的?我已尝试使用-map 0:m:handler_name:" GoPro MET"以及类似的事情,但我总是收到错误:

  

流地图' 0:m:handler_name:GoPro_MET'不匹配流。

请注意,我以前从未使用过ffmpeg,可能会遗漏一些明显的东西。

谢谢!

1 个答案:

答案 0 :(得分:0)

好的,解决了。我曾尝试在GoPro MET处理程序名称之前包含空格,但实际上需要一个TAB:

-map 0:m:handler_name:“GoPro MET”