#10607: Remuxing MXF to MOV without re-encoding cannot find timecode framerate
on
some source files
-------------------------------------+-------------------------------------
Reporter: | Owner: (none)
electron.rotoscope |
Type: defect | Status: new
Priority: normal | Component:
| undetermined
Version: git-master | Resolution:
Keywords: mxf mov | Blocked By:
timecode |
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Comment (by Tomas Härdin):
This is due to movenc.c using avg_frame_rate for timecode rate, which it
shouldn't. See mov_check_timecode_track(). avg_frame_rate relies on
heuristics which is why you're finding the behavior hard to trigger. The
fundamental issue is due to lavf passing timecode data around in metadata
strings.
Short debugging log:
Does mxf_read_timecode_component() pick up !RoundedTimecodeBase? Yes.
Does av_timecode_init() get the !RoundedTimecodeBase? Yes, in the second
call to av_timecode_init() in mxf_parse_structural_metadata() (line 2699).
So the issue is not in mxfdec per se, and movenc is definitely wrong.
!RoundedTimecodeBase should be passed unaltered from demuxer to muxer in
case of stream copy and also in case of transcoding. If frame rate is
changed then the metadata should be dropped and the user required to
explicitly specify what the timecode data should be. Side data might be a
more appropriate mechanism for timecodes.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/10607#comment:1>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
_______________________________________________
FFmpeg-trac mailing list
FFmpeg-trac@avcodec.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-trac
To unsubscribe, visit link above, or email
ffmpeg-trac-requ...@ffmpeg.org with subject "unsubscribe".