[FFmpeg-user] framecrc
Paul B Mahol
onemda at gmail.com
Mon Nov 13 11:05:23 EET 2023
On Mon, Nov 13, 2023 at 4:33 AM Mark Filipak <markfilipak.imdb at gmail.com>
wrote:
> On 11/12/23 04:57, Paul B Mahol wrote:
> > On Sun, Nov 12, 2023 at 8:36 AM Mark Filipak <markfilipak.imdb at gmail.com
> >
> > wrote:
> >
> >> Previous Subject: "rewrite tags in a source's PES headers -- How?"
> >>
> >> On 11/11/23 13:41, Paul B Mahol wrote:
> >>> On Sat, Nov 11, 2023 at 7:29 PM Mark Filipak <
> markfilipak.imdb at gmail.com
> >>>
> >>> wrote:
> >>>
> >>>> Here's what I'm doing:
> >>>> -bsf:v setts=time_base=1/24000:pts=N*1001:dts=N*1001
> >>>>
> >>>> Here's the result:
> >>>> frame pts dts
> >>>> 0 0 2002 <= should be 0
> >>>> 1 3003 <= should be 1001 3003 <= should be 1001
> >>>> 2 4004 <= should be 2002 4004 <= should be 2002
> >>>> 3 2002 <= should be 3003 5005 <= should be 3003
> >>>> 4 5005 <= should be 4004 6006 <= should be 4004
> >>>> 5 1001 <= should be 5005 7007 <= should be 5005
> >>>> 6 8008 <= should be 6006 8008 <= should be 6006
> >>>> 7 9009 <= should be 7007 9009 <= should be 7007
> >>>> 8 7007 <= should be 8008 10010 <= should be 8008
> >>>> 9 10010 <= should be 9009 11011 <= should be 9009
> >>>> 10 6006 <= should be 10010 12012 <= should be 10010
> >>>> 11 13013 <= should be 11011 13013 <= should be 11011
> >>>> 12 12012 <= should be 12012 14014 <= should be 12012
> >>>> 13 14014 <= should be 13013 15015 <= should be 13013
> >>>> 14 11011 <= should be 14014 16016 <= should be 14014
> >>>> 15 17017 <= should be 15015 17017 <= should be 15015
> >>>> 16 18018 <= should be 16016 18018 <= should be 16016
>
> Why are the target PTSs out of order?
> Why are there no 0 or 1001 DTSs?
>
> >>>> The source video is 'NTSC'-soft.
> >>>> Can this be explained?
> >>>> Can it be countered?
> >>>>
> >>>> PTSs in frames 1..5 are +2 +2 -1 +1 -4
> >>>> PTSs in frames 6..10 are +2 +2 -1 +1 -4
> >>>> PTSs in frames 11..15 are +2 +0 +1 -3 +2
> >>>> I'm baffled.
> >>>>
> >>>
> >>> N is packet number, and it goes in different order.
> >>
> >> Oh, yes, out of order/out of sequence.
> >>
> >>> Can be confirmed with:
> >>>
> >>> ffmpeg -i <video> -c copy -f framecrc -
> >>
> >> Thank you, Paul. Good of you. How do I interpret the framecrc table?
> >>
> >> stream_index packet_duration
> >> | packet_dts | packet_size
> >> | | packet_pts | | 0xCRC
> >> | |________ |_________________ |___ |____ |_________
> >> 1 0 0 2880 768 0xb16c8010
> >> 1 2880 2880 2880 768 0x1b728309
> >> 1 5760 5760 2880 768 0x966977f8
> >> 1 8640 8640 2880 768 0x6e078511
> >> 0 10878 22890 3003 62500 0x5877c6d3
> >> 1 11520 11520 2880 768 0xe49b880c
> >> [framecrc@ 0000000002a9b140] Timestamps are unset ... stream 0 ...
> >> 1 14400 14400 2880 768 0x0a217046
> >> 0 15382 15382 3003 18300 0xd4f063a2 F=0x0
> >> 1 17280 17280 2880 768 0xc13a7e27
> >> 0 18385 18385 4504 17924 0x14ae7839 F=0x0
> >> 1 20160 20160 2880 768 0x91017a25
> >> 0 22890 0x8000000000000000 4504 37160 0xa54ad420 F=0x0
> >> 1 23040 23040 2880 768 0xcd087be2
> >> 0 25893 25893 4504 18920 0x6230931b F=0x0
> >> 1 25920 25920 2880 768 0xca8a79b6
> >> 1 28800 28800 2880 768 0x1d5e7a84
> >> 0 30398 30398 3003 17172 0xebbc5af9 F=0x0
> >> 1 31680 31680 2880 768 0x1c3e7f7d
> >> 0 33401 0x8000000000000000 3003 33636 0x2bf50e31 F=0x0
> >> 1 34560 34560 2880 768 0x815d7b63
> >> 1 37440 37440 2880 768 0x1ac6762d
> >> 0 37905 37905 3003 16144 0x5fabbc96 F=0x0
> >> 1 40320 40320 2880 768 0x7e2f8d29
> >> 0 40908 40908 4504 14960 0xe0a8abb9 F=0x0
> >> 1 43200 43200 2880 768 0x951c8f4c
> >> 0 45412 0x8000000000000000 4504 34072 0x6bf61d8c F=0x0
> >> 1 46080 46080 2880 768 0xf42e82a7
> >> 0 48415 48415 4504 14788 0xcc5c4f38 F=0x0
> >> : : : : : :
> >> 0 136171401 136171401 3003 23924 0xe65b80f5 F=0x0
> >> 1 136172160 136172160 2880 768 0x3b687c8c
> >> 0 136174404 0x8000000000000000 3003 52328 0x7a17da08 F=0x0
> >> 0 136178908 136178908 3003 23932 0x5bee6d60 F=0x0
> >> 0 136181911 136181911 4504 23452 0xc4a6eb3a F=0x0
> >>
> >> Why is the above so different from the packets VOBEdit shows and that I
> >> manually parse?
> >> I thought all VOB packets were 2048 bytes.
> >> Are the packets above a different type of packet?
> >>
> > Again, lacks of deeper understanding of FFmpeg subject.
>
> So, what are the answers? Does anyone know?
>
> > The above command demuxes all packets, including audio/video/subtitle.
>
> I knew that of course. Stream 0 is video. Stream 1 is audio. There are no
> subtitles.
> The framecrc table makes no sense unless its 'packets' and the source's TS
> packets are much
> different things. Is the framecrc table from the MP4 muxer instead of from
> the source frames?
>
Source packets, when using -c copy.
>
> >> The video is 'NTSC'-soft (24/1.001fps). '3003' means ffprobe 'sees'
> >> 30/1.001fps.
> >> How can I stop the decoder doing telecine?
> >
> > No decoder does telecine.
>
> Well, that's good to know. Thanks. So, the library decoders ignore soft
> telecine, eh?
>
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".
>
More information about the ffmpeg-user
mailing list