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  

Change History (2)

comment:1 by Elon Musk, 5 months ago

Input gxf file is required.

comment:2 by Gavin, 5 months ago

File uploaded via VideoLAN File Uploader - filename 'IZ06000_dvcam.gxf'

Note: See TracTickets for help on using tickets.