New submission from mt <[email protected]>:
Hi,
on a stream copy with e.g.
ffmpeg -i input -vcodec copy output.mkv
the MATROSKA_ID_TRACKDEFAULTDURATION is set incorrectly to 1000 in
matroskaenc.c line 583, which some players interpret as 1000 FPS and
then refuse to play the MKV.
Seems the problem originates from ffmpeg.c line 2130:
if(av_q2d(icodec->time_base)*icodec->ticks_per_frame >
av_q2d(ist->st->time_base) && av_q2d(ist->st->time_base) < 1.0/1000){
codec->time_base = icodec->time_base;
codec->time_base.num *= icodec->ticks_per_frame;
av_reduce(&codec->time_base.num, &codec->time_base.den,
codec->time_base.num, codec->time_base.den,
INT_MAX);
}else
codec->time_base = ist->st->time_base;
icodec->time_base would have the correct value, but instead ist->st-
>time_base is taken which has the incorrect 1000...
----------
messages: 12871
priority: normal
status: new
substatus: new
title: stream copy sets codec time_base incorrectly
type: bug
________________________________________________
FFmpeg issue tracker <[email protected]>
<https://roundup.ffmpeg.org/issue2411>
________________________________________________