[FFmpeg-devel] [PATCH 04/18] fftools/ffmpeg_mux: stop rescaling timestamps in of_streamcopy()

Michael Niedermayer michael at niedermayer.cc
Sat Aug 26 23:20:27 EEST 2023


On Sat, Aug 26, 2023 at 05:11:30PM +0200, Anton Khirnov wrote:
> This function converts packet timestamps from the input stream timebase
> to OutputStream.mux_timebase, which may or may not be equal to the
> actual output AVStream timebase (and even when it is, this may not
> always be the optimal choice due to bitstream filtering).
> 
> Just keep the timestamps in input stream timebase, they will be rescaled
> as needed before bitstream filtering and/or sending the packet to the
> muxer.
> 
> Drop now-unused OutputStream.mux_timebase.
> ---
>  fftools/ffmpeg.h          |  2 --
>  fftools/ffmpeg_enc.c      |  2 --
>  fftools/ffmpeg_mux.c      | 21 +++++++--------------
>  fftools/ffmpeg_mux_init.c |  2 --
>  4 files changed, 7 insertions(+), 20 deletions(-)

./ffmpeg -i in.flv  -t 0.2 -bitexact -acodec copy -y /tmp/copy.mov  (this ffmpeg version matters)

./ffmpeg -i /tmp/copy.mov -bitexact -f framecrc -                   (this ffmpeg version doesnt matter)

0,          0,          0,     1152,     4608, 0xa25d01fe
0,       1152,       1152,     1152,     4608, 0x3b9ff171
0,       2304,       2304,     1152,     4608, 0x10ad7d49
0,       3456,       3456,     1152,     4608, 0xadae4ea6
0,       4608,       4608,     1152,     4608, 0xaba106e7
0,       5760,       5760,     1152,     4608, 0x1beee538
0,       6912,       6912,     1152,     4608, 0x7dbe78ef
0,       8064,       8064,     1152,     4608, 0xaf41b247

after the commit:
0,          0,          0,     1152,     4608, 0xa25d01fe
0,       1147,       1147,     1152,     4608, 0x3b9ff171
0,       2293,       2293,     1152,     4608, 0x10ad7d49
0,       3440,       3440,     1152,     4608, 0xadae4ea6
0,       4586,       4586,     1152,     4608, 0xaba106e7
0,       5777,       5777,     1152,     4608, 0x1beee538
0,       6924,       6924,     1152,     4608, 0x7dbe78ef
0,       8070,       8070,     1152,     4608, 0xaf41b247

Here the timestamps stored in a newly muxed file seems bad
could be missing something but that seems bad, even if the
input is only 1ms precisse we need to generate valid timestamps
if we remux

I suspect every mp3 in flv will show this effect but if not i can share in.flv

thx

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

The bravest are surely those who have the clearest vision
of what is before them, glory and danger alike, and yet
notwithstanding go out to meet it. -- Thucydides
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20230826/11a99bd7/attachment.sig>


More information about the ffmpeg-devel mailing list