Opened 5 months ago
Last modified 5 months ago
#10704 new defect
FFmpeg cannot transmux file from GXF to MOV
Reported by: | Gavin | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | avformat |
Version: | git-master | Keywords: | gxf |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Summary of the bug:
Trying to re-wrap a GXF file into an MOV container - contains raw PCM samples.
It looks like the gxf reader generates AVPackets that contain an invalid PTS/DTS/duration.
The original file plays fine in ffplay
How to reproduce:
% ffmpeg -i IZ06000_dvcam.gxf -c:v copy -c:a copy IZ06000_dvcam.mov ffmpeg version N-112866-g66a02a8508 Copyright (c) 2000-2023 the FFmpeg developers built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04) configuration: libavutil 58. 32.100 / 58. 32.100 libavcodec 60. 35.100 / 60. 35.100 libavformat 60. 18.100 / 60. 18.100 libavdevice 60. 4.100 / 60. 4.100 libavfilter 9. 13.100 / 9. 13.100 libswscale 7. 6.100 / 7. 6.100 libswresample 4. 13.100 / 4. 13.100 Input #0, gxf, from 'IZ06000_dvcam.gxf': Metadata: timecode : 00:00:00:00 timecode_at_mark_in: 00:00:00:00 timecode_at_mark_out: 00:00:29:23 Duration: 00:00:29.96, start: 0.000000, bitrate: 18241 kb/s Stream #0:0: Video: mpeg2video (4:2:2), yuv420p(tv, bt470bg, top first), 720x608 [SAR 152:135 DAR 4:3], 12000 kb/s, 50 fps, 25 tbr, 50 tbn Side data: cpb: bitrate max/min/avg: 12000000/0/0 buffer size: 8732672 vbv_delay: N/A Stream #0:1: Audio: pcm_s16le, 48000 Hz, mono, s16, 768 kb/s Stream #0:2: Audio: pcm_s16le, 48000 Hz, mono, s16, 768 kb/s Stream #0:3: Audio: pcm_s16le, 48000 Hz, mono, s16, 768 kb/s Stream #0:4: Audio: pcm_s16le, 48000 Hz, mono, s16, 768 kb/s Stream #0:5: Audio: pcm_s16le, 48000 Hz, mono, s16, 768 kb/s Stream #0:6: Audio: pcm_s16le, 48000 Hz, mono, s16, 768 kb/s Stream #0:7: Audio: pcm_s16le, 48000 Hz, mono, s16, 768 kb/s Stream #0:8: Audio: pcm_s16le, 48000 Hz, mono, s16, 768 kb/s Stream #0:9: Data: none Output #0, mov, to 'IZ06000_dvcam.mov': Metadata: timecode : 00:00:00:00 timecode_at_mark_in: 00:00:00:00 timecode_at_mark_out: 00:00:29:23 encoder : Lavf60.18.100 Stream #0:0: Video: mpeg2video (4:2:2) (m2v1 / 0x3176326D), yuv420p(tv, bt470bg, top first), 720x608 [SAR 152:135 DAR 4:3], q=2-31, 12000 kb/s, 50 fps, 25 tbr, 12800 tbn Side data: cpb: bitrate max/min/avg: 12000000/0/0 buffer size: 8732672 vbv_delay: N/A Stream #0:1: Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, mono, s16, 768 kb/s Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (copy) Press [q] to stop, [?] for help [mov @ 0x562f19c82980] Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly [mov @ 0x562f19c82980] pts has no value Last message repeated 275 times [in#0/gxf @ 0x562f19c65480] Error during demuxing: Operation not permitted [in#0/gxf @ 0x562f19c65480] Error retrieving a packet from demuxer: Operation not permitted [mov @ 0x562f19c82980] pts has no value Last message repeated 5 times [out#0/mov @ 0x562f19d0cdc0] video:44026kB audio:2812kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.012545% size= 46844kB time=00:00:29.96 bitrate=12808.7kbits/s speed= 708x
Note:
See TracTickets
for help on using tickets.
Input gxf file is required.