[FFmpeg-user] framecrc

Paul B Mahol onemda at gmail.com
Mon Nov 13 11:04:11 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?
>

DTS is different from PTS.
And you should probably reorder DTS by keeping original order - just do
offset and not by using packet number.


>
> >>>> 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?
>
> >> 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