[FFmpeg-trac] #11080(documentation:new): FFmpeg timestamps do not consistently agree with packet timestamps
FFmpeg
trac at avcodec.org
Sat Jul 13 21:30:21 EEST 2024
#11080: FFmpeg timestamps do not consistently agree with packet timestamps
-------------------------------------+-------------------------------------
Reporter: markfilipak | Owner: (none)
Type: task | Status: new
Priority: normal | Component:
| documentation
Version: unspecified | Resolution:
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Comment (by markfilipak):
First, does FFmpeg have dedicated testers?
Second, I'll reply to what I assume has been directed to me.
Replying to [comment:77 Balling]:
> Second of all, stop sending all that stuff to ffmpeg-user list, they do
not know what they are talking about except Paul and Michael.
No worry... I hoped that Gyan would join in, too. If others contribute
foo, I can correct them.
> This file has no mixed slices.
Mind you, I know about I- SI- P- SP- and B-slices. By "no mixed slices",
do you mean all frames have only I-slices and SI-slices? If so, how do you
know that? What tool?
> This IS A BLU-RAY, the spec per H.264 on Blu-ray ...
The pattern: /blu-ray/ig, doesn't appear in H.264. Do you mean H.264,
Annex B?
>... requires 4 slices on each frame ...
By "4 slices" do you mean reference slices or reconstructed slices? How do
you know what you say? What tool?
> Finally, I think I found the real issue here: see analyser, why is this
P frame recogized somewhere in the second cut of frames??? BOTH 2
analyzers behave like this:
>
> Let's open a new bug about how it cannot decode BBI if you cut two first
B frames, maybe because of that frame!! https://i.imgur.com/DcWUnnz.png
This frame PTS 13 (and logically it should be there) yet it places it
somewhere in the end.
I respectfully disagree with your reckoning that the open Bs (i.e. in DTS:
I B B) are, all three, part of a single GOP. I contend that the open Bs
are part of the previous GOP that was cut off. I also respectfully
disagree that I- & B-frames and GOPs exist in AVC -- they do not appear in
the text, not at all. That makes 'talking' about them impossible.
My concern is NAL AU-1 (aka "non-IDR" frame) and NAL AU-5 (aka "IDR"
frame). I- P- & B-frames are a fiction. GOPs are fiction in AVC.
About tools: I use 5 tools: H.222, H.264, a hex editor, Eric Berendsen's
DVBinspector, and Peter Daniel's MPEG-2 TS Packet Analyser [sic]. I rely
mostly on the first three. I've found the beautifications that tools make
hide the truth and also hide their bugs. DVBinspector is problematical. A
hex editor never lies. Here is an example of my parsing:
{{{
======================================| TS PACKET
0..3 TS header | 47 HH HH HH
sync_byte | 47 == == ==
| == HH HH H=
| .——' '—————————————.
transport_error_indicator | b--- ---- ---- ---- ----
payload_unit_start_indicator | -b-- ---- ---- ---- ----
transport_priority | --b- ---- ---- ---- ----
//0,none..1,for this PID, this packet has priority over others with '0'
transport_priority
PID (Packet Identifier) | ---b bbbb bbbb bbbb ----
//0,PAT..1,CAT..2,TS description
table..3,IPMP..4..15,(reserved)..16..8190,network_PID Program_map_PID
elementary_PID or other..8191,packet is null -- may also convey PCR
transport_scrambling_control | ---- ---- ---- ---- bb--
//0,payload is not scrambled..1..3,(user-defined)
adaptation_field_control | ---- ---- ---- ---- --bb
//0,(reserved)..1,has payload..2,has adaptation..3,has adaptation+payload
continuity_counter | == == == =H //0..15
--------------------------------------|
TS_PAYLOAD_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
4..187 |
//PS..PES..stuffing bytes..private data
}}}
And one last thing: Can you help me find where NAL units live? I can't
find them in the H.264 syntax.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/11080#comment:80>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list