[FFmpeg-trac] #8338(avformat:new): can't copy GoPro metadata
FFmpeg
trac at avcodec.org
Tue Aug 6 05:32:11 EEST 2024
#8338: can't copy GoPro metadata
-------------------------------------+------------------------------------
Reporter: importon | Owner: (none)
Type: enhancement | Status: new
Priority: wish | Component: avformat
Version: git-master | Resolution:
Keywords: mov | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+------------------------------------
Comment (by Kamil Filipek):
I have seeked information on difference between reported difference in
handling the tmcd stream, by versions `4.0.2` & `4.2.1` with `4.2.1`,
being a version reporting the error `Could not find tag for codec %s in
stream #%d, codec not currently supported in container`.
This line is generated by code in `libavformat/movenc.c`. Diffing `4.2.1`
with `4.0.2` reveals to me:
- In commit `981178f3b0b547a228804ff36641b2237eb75a16` streams with `gpmd`
tag have been permitted into the MP4 container, as "GoPro Binary Data".
(This is the stream which is detected by ffprobe and doesn't report any
issues when copy is attempted)
- `tmcd` stream appears often associated with the .mov container and
attempting to repackage the streams into .mov passes without issues.
Compared original .mp4 file
{{{
Duration: 00:01:31.69, start: 0.000000, bitrate: 44716 kb/s
Stream #0:0[0x1](eng): Video: hevc (Main) (hvc1 / 0x31637668),
yuvj420p(pc, bt709), 3840x2160 [SAR 1:1 DAR 16:9], 44456 kb/s, 29.97 fps,
29.97 tbr, 30k tbn (default)
Metadata:
creation_time : 2024-03-09T11:07:43.000000Z
handler_name : GoPro H.265
vendor_id : [0][0][0][0]
encoder : GoPro H.265 encoder
timecode : 11:07:03:02
Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz,
stereo, fltp, 189 kb/s (default)
Metadata:
creation_time : 2024-03-09T11:07:43.000000Z
handler_name : GoPro AAC
vendor_id : [0][0][0][0]
timecode : 11:07:03:02
Stream #0:2[0x3](eng): Data: none (tmcd / 0x64636D74) (default)
Metadata:
creation_time : 2024-03-09T11:07:43.000000Z
handler_name : GoPro TCD
timecode : 11:07:03:02
Stream #0:3[0x4](eng): Data: bin_data (gpmd / 0x646D7067), 52 kb/s
(default)
Metadata:
creation_time : 2024-03-09T11:07:43.000000Z
handler_name : GoPro MET
}}}
With .mov file in which only video stream should have been altered.
{{{
Duration: 00:01:31.69, start: 0.000000, bitrate: 10166 kb/s
Stream #0:0[0x1](eng): Video: hevc (Main) (hvc1 / 0x31637668),
yuvj420p(pc, bt709, progressive), 3840x2160 [SAR 1:1 DAR 16:9], 9915 kb/s,
29.97 fps, 29.97 tbr, 30k tbn (default)
Metadata:
creation_time : 2024-03-09T11:07:43.000000Z
handler_name : GoPro H.265
vendor_id : FFMP
encoder : Lavc61.3.100 hevc_nvenc
timecode : 11:07:03:02
Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz,
stereo, fltp, 189 kb/s (default)
Metadata:
creation_time : 2024-03-09T11:07:43.000000Z
handler_name : GoPro AAC
vendor_id : [0][0][0][0]
Stream #0:2[0x3](eng): Data: none (tmcd / 0x64636D74) (default)
Metadata:
creation_time : 2024-03-09T11:07:43.000000Z
handler_name : GoPro TCD
timecode : 11:07:03:02
Stream #0:3[0x4](eng): Data: bin_data (gpmd / 0x646D7067), 52 kb/s
(default)
Metadata:
creation_time : 2024-03-09T11:07:43.000000Z
handler_name : GoPro MET
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/8338#comment:16>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list