[FFmpeg-user] I found the bugs
Mark Filipak
markfilipak.imdb at gmail.com
Tue Jun 25 21:13:14 EEST 2024
On 25/06/2024 13.56, Carl Zwanzig wrote:
> On 6/25/2024 10:39 AM, Mark Filipak wrote:
>> VLC and PowerDVD.
>
> VLC? Right in their credits they list ffmpeg (along with many other OS projects).
>
>> It's at the top of the trac page, in the "Summary of the bug". Do you see it, z!?
>
> Did you put it in the email that I was quoting? No. In the trac comment? No.
>
> z!
Here is the "Summary of the bug"
Summary of the bug:
I made a 4 second clip having 99 actual frames. Physical order is DTS.
VLC and PowerDVD play the clip perfectly.
'-f framecrc' & packet analyzer agree: 99 frames, same DTSes & PTSes.
'-vf showinfo' disagree: 53 frames, gap & duplicates.
'-show_frames' disagree: 54 frames, gap & duplicates.
'-vf showinfo' & '-show_frames' disagree substantially.
Other effects:
MPV exhibits a 2 second glitch that matches the gap.
'-ss' and '-to' exhibit the same sorts of problems.
__packet analyzer__ _____framecrc______ ___showinfo___ ______show_frames_______
(packet order) (DTS order) (DTS order) (DTS order)
___DTS___ ___PTS___ ___DTS___ ___PTS___ N ___PTS___ N ___DTS___ ___PTS___
504126135 504137396 504126135 504137396 0 504137396 I
504129888 504129888 504129888
504133642 504133642 504133642
504137396 504148657 504137396 504148657 3 504148657 P
504141150 504141150 504141150 1 504141150 B
504144903 504144903 504144903 2 504144903 B
504148657 504156165 504148657 504156165 5 504156165 P 0 504148657 504137396 I
504152411 504152411 504152411 4 504152411 B 1 504152411 504141150 B
504156165 504167426 504156165 504167426 8 504167426 P 2 504156165 504144903 B
504159918 504159918 504159918 6 504159918 B 3 504159918 504148657 P
504163672 504163672 504163672 7 504163672 B 4 504163672 504152411 B
504167426 504174933 504167426 504174933 10 504174933 P 5 504167426 504156165 P
504171180 504171180 504171180 9 504171180 B 6 504171180 504159918 B
504174933 504186195 504174933 504186195 13 504186195 P 7 504174933 504163672 B
504178687 504178687 504178687 11 504178687 B 8 504178687 504167426 P
504182441 504182441 504182441 12 504182441 B 9 504182441 504171180 B
504186195 504197456 504186195 504197456 16 504197456 P 10 504186195 504174933 P
504189948 504189948 504189948 14 504189948 B 11 504189948 504178687 B
504193702 504193702 504193702 15 504193702 B 12 504193702 504182441 B
504197456 504204963 504197456 504204963 18 504204963 P 13 504197456 504186195 P
504201210 504201210 504201210 17 504201210 B 14 504201210 504189948 B
504204963 504216225 504204963 504216225 15 504204963 504193702 B
504208717 504208717 504208717 19 504208717 B 16 504208717 504197456 P
504212471 504212471 504212471 20 504212471 B 17 504212471 504201210 B
504216225 504223732 504216225 504223732 18 504216225 504204963 P
504219978 504219978 504219978 19 504219978 504208717 B
===================== SPLICE HERE ====================== ¦
504223731 504227485 504223731 504227485 these DTSes = PTSes + 3 frames
504227485 504234993 504227485 504234993
504231239 504231239 504231239
504234993 504246254 504234993 504246254
504238746 504238746 504238746
504242500 504242500 504242500
504246254 504257515 504246254 504257515
504250008 504250008 504250008
504253761 504253761 504253761
504257515 504265023 504257515 504265023
504261269 504261269 504261269
504265023 504276284 504265023 504276284
504268776 504268776 504268776
504272530 504272530 504272530
504276284 504287545 504276284 504287545
504280038 504280038 504280038
504283791 504283791 504283791
504287545 504295053 504287545 504295053
504291299 504291299 504291299
504295053 504306314 504295053 504306314
504298806 504298806 504298806
504302560 504302560 504302560
504306314 504317575 504306314 504317575
504310068 504310068 504310068
504313821 504313821 504313821
504317575 504325083 504317575 504325083
504321329 504321329 504321329
504325083 504332590 504325083 504332590
504328836 504328836 504328836
504332590 504340098 504332590 504340098
504336344 504336344 504336344
504340098 504347605 504340098 504347605
504343851 504343851 504343851
504347605 504355113 504347605 504355113
504351359 504351359 504351359
504355113 504362620 504355113 504362620
504358866 504358866 504358866
504362620 504370128 504362620 504370128
504366374 504366374 504366374
504370128 504377635 504370128 504377635
504373881 504373881 504373881
504377635 504385143 504377635 504385143 these DTSes = PTSes + 3 frames
504381389 504381389 504381389 ¦
504385143 504396404 504385143 504396404 22 504396404 P 20 504385143 504212471 B
504388896 504388896 504388896
504392650 504392650 504392650 21 504392650 B 21 504392650 504392650 B --+
best_effort_timestamp
504396404 504407665 504396404 504407665 25 504407665 B 22 504396404 504216225 P ¦ switches
504400158 504400158 504400158 23 504400158 P 23 504400158 504396404 P ¦ from
504403911 504403911 504403911 24 504403911 B 24 504403911 504219978 B ¦ 'pts'
504407665 504418926 504407665 504418926 28 504418926 I 25 504407665 504400158 B ¦ to
504411419 504411419 504411419 26 504411419 I 26 504411419 504223732 I ¦ 'pkt_dts'
504415173 504415173 504415173 27 504415173 B 27 504415173 504403911 B ¦ here
504418926 504426434 504418926 504426434 30 504426434 B 28 504418926 504407665 I ¦
504422680 504422680 504422680 29 504422680 B 29 504422680 504411419 B ¦
504426434 504433941 504426434 504433941 32 504433941 B 30 504426434 504415173 B ¦
504430188 504430188 504430188 31 504430188 P 31 504430188 504418926 P ¦
504433941 504445203 504433941 504445203 35 504445203 P 32 504433941 504422680 B ¦
504437695 504437695 504437695 33 504437695 P 33 504437695 504426434 P ¦
504441449 504441449 504441449 34 504441449 B 34 504441449 504430188 B ¦
504445203 504456464 504445203 504456464 38 504456464 P 35 504445203 504433941 P ¦
504448956 504448956 504448956 36 504448956 B 36 504448956 504437695 B ¦
504452710 504452710 504452710 37 504452710 B 37 504452710 504441449 B ¦
504456464 504467725 504456464 504467725 41 504467725 P 38 504456464 504445203 P ¦
504460218 504460218 504460218 39 504460218 B 39 504460218 504448956 B ¦
504463971 504463971 504463971 40 504463971 B 40 504463971 504452710 B ¦
504467725 504475233 504467725 504475233 43 504475233 B 41 504467725 504456464 P ¦
504471479 504471479 504471479 42 504471479 B 42 504471479 504460218 B ¦
504475233 504486494 504475233 504486494 46 504486494 P 43 504475233 504463971 B ¦
504478986 504478986 504478986 44 504478986 P 44 504478986 504467725 P ¦
504482740 504482740 504482740 45 504482740 B 45 504482740 504471479 B ¦
504486494 504497755 504486494 504497755 52 504497755 I 46 504486494 504475233 P ¦
504490248 504490248 504490248 47 504490248 B 47 504490248 504478986 B ¦
504494001 504494001 504494001 48 504494001 B 48 504494001 504482740 B --+
repeat -> 49 504486494 P
repeat -> 50 504490248 B
repeat -> 51 504494001 B
49 "N/A" 504486494 P
50 "N/A" 504490248 B
51 "N/A" 504494001 B
52 "N/A" 504497755 I
How to reproduce:
ffmpeg -i Ticket_11055.m2ts -map 0 -copyts -c copy -an -dn -sn -f framecrc
->>Ticket_11055.m2ts_framecrc.txt
ffmpeg -copyts -i Ticket_11055.m2ts -map 0:v -vf showinfo -c:v rawvideo -f null -muxdelay 0 -
2>>Ticket_11055.m2ts_showinfo.txt"
ffprobe -sexagesimal -select_streams v -show_frames -of flat -i Ticket_11055.m2ts
ffmpeg version 2024-05-20-git-127ded5078-full_build-www.gyan.dev
More information about the ffmpeg-user
mailing list