我正在尝试使用 ffmpeg 复制 gopro 文件的元数据。 该问题最基本的演示是将所有内容复制到新文件中:
ffmpeg -y -i source.MP4 -c copy -copy_unknown -map 0:v -map 0:a -map 0:2 -map 0:3 -map 0:4 -map_metadata 0 result.MP4
这会产生错误:
Could not find tag for codec none in stream #2, codec not currently supported in container
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
Error initializing output stream 0:4 --
据我了解,这意味着 ffmpeg 没有正确应用 -c 复制操作,而是抱怨数据流没有编码器。 0:2 和 0:4 也会发生同样的错误
在谷歌上搜索时是否发现有些人过去也遇到过同样的问题,但我也发现了一些关于它有效的报告。
有什么想法我做错了什么或者这实际上是一个错误吗?
这是 ffprobe 和 GoPro 文件的链接。
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'source.MP4':
Metadata:
major_brand : mp41
minor_version : 538120216
compatible_brands: mp41
creation_time : 2021-05-17T22:36:48.000000Z
firmware : HD7.01.01.90.00
Duration: 00:00:02.88, start: 0.000000, bitrate: 58664 kb/s
Stream #0:0(eng): Video: hevc (Main) (hvc1 / 0x31637668), yuvj420p(pc, bt709), 2704x1520 [SAR 1:1 DAR 169:95], 58557 kb/s, 59.94 fps, 59.94 tbr, 60k tbn, 59.94 tbc (default)
Metadata:
creation_time : 2021-05-17T22:36:48.000000Z
handler_name : GoPro H.265
vendor_id : [0][0][0][0]
encoder : GoPro H.265 encoder
timecode : 02:43:36:15
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 187 kb/s (default)
Metadata:
creation_time : 2021-05-17T22:36:48.000000Z
handler_name : GoPro AAC
vendor_id : [0][0][0][0]
timecode : 02:43:36:15
Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
Metadata:
creation_time : 2021-05-17T22:36:48.000000Z
handler_name : GoPro TCD
timecode : 02:43:36:15
Stream #0:3(eng): Data: bin_data (gpmd / 0x646D7067), 30 kb/s (default)
Metadata:
creation_time : 2021-05-17T22:36:48.000000Z
handler_name : GoPro MET
Stream #0:4(eng): Data: none (fdsc / 0x63736466), 16 kb/s (default)
Metadata:
creation_time : 2021-05-17T22:36:48.000000Z
handler_name : GoPro SOS
Unsupported codec with id 0 for input stream 2
Unsupported codec with id 100359 for input stream 3
Unsupported codec with id 0 for input stream 4
您可以尝试更换容器,但不知道您是否可以接受
ffmpeg -y -i source.MP4 -c copy -copy_unknown -map 0:v -map 0:a -map 0:2 -map 0:3 -map 0:4 -map_metadata 0 result.mov
你找到解决办法了吗?我正在尝试做同样的事情,但遇到了同样的错误。