[Libav-user] Getting older PTS

wm4 nfxjfg at googlemail.com
Thu May 1 11:43:06 CEST 2014


On Wed, 30 Apr 2014 17:51:06 +0530
Abhishek Maniyar <abhishek.maniyar at springcomputing.in> wrote:

> Hey sorry for the complicated log. Following a simplified version of that:
> 
> Log is in format:
> hr:mm:ss.ms (packet receive time from av_read_frame):: PTS :: <Timestamp in ms> (AVPacket)
> 
> 12:26:50.878 :: PTS: 21904.921875
> 12:26:50.917 :: PTS: 21945.855469
> 12:26:50.960 :: PTS: 21986.033203
> 12:26:51.000 :: PTS: 22025.255859
> 12:26:51.040 :: PTS: 22069.566406
> 12:26:51.081 :: PTS: 22105.255859
> 12:26:51.122 :: PTS: 22145.322266
> 12:26:51.165 :: PTS: 22184.611328
> 12:26:51.204 :: PTS: 22225.812500
> 12:26:51.250 :: PTS: 22264.457031
> ….
> 12:26:53.306 :: PTS: 21924.312500
> 12:26:53.347 :: PTS: 21965.599609
> 12:26:53.352 :: PTS: 22004.466797
> 12:26:53.393 :: PTS: 22043.710938
> 12:26:53.427 :: PTS: 22084.667969
> 12:26:53.476 :: PTS: 22124.066406
> 12:26:53.507 :: PTS: 22164.800781
> 12:26:53.551 :: PTS: 22205.644531
> 12:26:53.593 :: PTS: 22244.023438
> 12:26:53.631 :: PTS: 22283.644531
> 12:26:53.668 :: PTS: 22324.710938
> 12:26:53.712 :: PTS: 22364.267578
> 12:26:53.751 :: PTS: 22404.044922
> 12:26:53.793 :: PTS: 22444.888672
> 
> 
> Its a 25FPS video, so i should get 1 video frame to be displayed for 40 ms (25 frames for 40ms each = 1000ms = 1s ,so 25FPS ).  
> 
> My problem is :
> I got frames:
> 12:26:50.878 :: PTS: 21904.921875 (this is a frame i got to be displayed at 21904.921875 ms)
> 12:26:50.917 :: PTS: 21945.855469 (this is a frame i got to be displayed at  21945.855469 ms)
> approx 40 ms.. which is right. and similar for subsequent frames.
> 
> after around 3 seconds I got
> 12:26:53.306 :: PTS: 21924.312500  (this is a frame i got to be displayed at 21924.312500)
> 12:26:53.347 :: PTS: 21965.599609  (this is a frame i got to be displayed at 21965.599609)
> approx 40 ms.. which is right. and similar for subsequent frames.
> 
> but my problem is i already had frames to be displayed in dat time block( 21904.921875 ms -  22264.457031ms ), which I already displayed and discarded. Now after 3 seconds i again started getting packets with PTS for the same time time block.
> 
> Thanks for your help.

Maybe these are merely wrapping timestamps? Normally I'd expect that
timestamps don't wrap that often, but I don't know what your source
does.

> - Abhishek
> 
> 
> On 30-Apr-2014, at 5:22 PM, wm4 <nfxjfg at googlemail.com> wrote:
> 
> > On Wed, 30 Apr 2014 16:37:04 +0530
> > Abhishek Maniyar <abhishek.maniyar at springcomputing.in> wrote:
> > 
> >> But how can i sort them? I get older packet after am done displaying the later one.
> > 
> > You know that for each packet you feed to the decoder, you get back a
> > decoded frame. So you put all packet PTS values in an array, and pick
> > the PTS with the lowest value each time a frame is output.
> > 
> >> Also there looks like a overlap in block.. if we see the first part, the PTS looks like properly organised. next PTS is at expected time. But after some time, we see packets for same time block, which look right to.. even in there next PTS is at tight time wrt to previous. 
> >> I am unable to understand how can I get different packets for same time block after some time?
> >> In the following example , I am getting frames for time stamp 21904 to 22264 twice. And if we see to both blocks of data independently, they both look complete. 
> > 
> > Then I don't know. (Though I don't see any double timestamps, maybe
> > bring the output in a more readable and less redundant format?)
> > 
> >> Reorder is when packets are not in order. But here it looks like there are enough packets in both the sections. Thats what is confusing me more. 
> >> 
> >> 2014-04-29 12:26:50.878 MyPlayer[197:5c07] PTS: 21904.921875(Duration : 40.000000) Bufferred: 3640.00
> >> 2014-04-29 12:26:50.917 MyPlayer[197:5c07] PTS: 21945.855469(Duration : 40.000000) Bufferred: 3640.00
> >> 2014-04-29 12:26:50.960 MyPlayer[197:5c07] PTS: 21986.033203(Duration : 40.000000) Bufferred: 3640.00
> >> 2014-04-29 12:26:51.000 MyPlayer[197:5c07] PTS: 22025.255859(Duration : 40.000000) Bufferred: 3600.00
> >> 2014-04-29 12:26:51.040 MyPlayer[197:5c07] PTS: 22069.566406(Duration : 40.000000) Bufferred: 3600.00
> >> 2014-04-29 12:26:51.081 MyPlayer[197:5c07] PTS: 22105.255859(Duration : 40.000000) Bufferred: 3600.00
> >> 2014-04-29 12:26:51.122 MyPlayer[197:5c07] PTS: 22145.322266(Duration : 40.000000) Bufferred: 3600.00
> >> 2014-04-29 12:26:51.165 MyPlayer[197:5c07] PTS: 22184.611328(Duration : 40.000000) Bufferred: 3600.00
> >> 2014-04-29 12:26:51.204 MyPlayer[197:5c07] PTS: 22225.812500(Duration : 40.000000) Bufferred: 3600.00
> >> 2014-04-29 12:26:51.250 MyPlayer[197:5c07] PTS: 22264.457031(Duration : 40.000000) Bufferred: 3600.00
> >> .
> >> .
> >> .
> >> 2014-04-29 12:26:53.304 MyPlayer[197:5c07] Got older packet (21924.312500): 50
> >> 2014-04-29 12:26:53.306 MyPlayer[197:5c07] PTS: 21924.312500(Duration : 40.000000) Bufferred: 3600.00
> >> 2014-04-29 12:26:53.343 MyPlayer[197:5c07] Got older packet (21965.599609): 51
> >> 2014-04-29 12:26:53.347 MyPlayer[197:5c07] PTS: 21965.599609(Duration : 40.000000) Bufferred: 3600.00
> >> 2014-04-29 12:26:53.350 MyPlayer[197:5c07] Got older packet (22004.466797): 52
> >> 2014-04-29 12:26:53.352 MyPlayer[197:5c07] PTS: 22004.466797(Duration : 40.000000) Bufferred: 3640.00
> >> 2014-04-29 12:26:53.391 MyPlayer[197:5c07] Got older packet (22043.710938): 53
> >> 2014-04-29 12:26:53.393 MyPlayer[197:5c07] PTS: 22043.710938(Duration : 40.000000) Bufferred: 3640.00
> >> 2014-04-29 12:26:53.424 MyPlayer[197:5c07] Got older packet (22084.667969): 54
> >> 2014-04-29 12:26:53.427 MyPlayer[197:5c07] PTS: 22084.667969(Duration : 40.000000) Bufferred: 3640.00
> >> 2014-04-29 12:26:53.473 MyPlayer[197:5c07] Got older packet (22124.066406): 55
> >> 2014-04-29 12:26:53.476 MyPlayer[197:5c07] PTS: 22124.066406(Duration : 40.000000) Bufferred: 3640.00
> >> 2014-04-29 12:26:53.506 MyPlayer[197:5c07] Got older packet (22164.800781): 56
> >> 2014-04-29 12:26:53.507 MyPlayer[197:5c07] PTS: 22164.800781(Duration : 40.000000) Bufferred: 3640.00
> >> 2014-04-29 12:26:53.549 MyPlayer[197:5c07] Got older packet (22205.644531): 57
> >> 2014-04-29 12:26:53.551 MyPlayer[197:5c07] PTS: 22205.644531(Duration : 40.000000) Bufferred: 3640.00
> >> 2014-04-29 12:26:53.590 MyPlayer[197:5c07] Got older packet (22244.023438): 58
> >> 2014-04-29 12:26:53.593 MyPlayer[197:5c07] PTS: 22244.023438(Duration : 40.000000) Bufferred: 3640.00
> >> 2014-04-29 12:26:53.628 MyPlayer[197:5c07] Got older packet (22283.644531): 59
> >> 2014-04-29 12:26:53.631 MyPlayer[197:5c07] PTS: 22283.644531(Duration : 40.000000) Bufferred: 3640.00
> >> 2014-04-29 12:26:53.668 MyPlayer[197:5c07] PTS: 22324.710938(Duration : 40.000000) Bufferred: 3640.00
> >> 2014-04-29 12:26:53.712 MyPlayer[197:5c07] PTS: 22364.267578(Duration : 40.000000) Bufferred: 3640.00
> >> 2014-04-29 12:26:53.751 MyPlayer[197:5c07] PTS: 22404.044922(Duration : 40.000000) Bufferred: 3640.00
> >> 2014-04-29 12:26:53.793 MyPlayer[197:5c07] PTS: 22444.888672(Duration : 40.000000) Bufferred: 3640.00
> >> 
> >> 
> >> On 30-Apr-2014, at 4:13 PM, wm4 <nfxjfg at googlemail.com> wrote:
> >> 
> >>> On Wed, 30 Apr 2014 16:05:22 +0530
> >>> Abhishek Maniyar <abhishek.maniyar at springcomputing.in> wrote:
> >>> 
> >>>> I am new to using FFMPEG. 
> >>>> 
> >>>> YES, I am calculating PTS as "frame.pts = packet.pts *_videoTimeBase;". I am not using FFMPEG decoder(using a 3rd party decoder). So i don't have AVFrame. Hence only PTS I have is the one I get from AVPacket. I have printed PTS in the sequence I get packet from (av_read_frame)
> >>>> 
> >>>> Please see the following log:
> >>>> .
> >>>> .
> >>>> .
> >>>> .
> >>>> .
> >>>> 2014-04-29 12:26:50.878 MyPlayer[197:5c07] PTS: 21904.921875(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:50.917 MyPlayer[197:5c07] PTS: 21945.855469(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:50.960 MyPlayer[197:5c07] PTS: 21986.033203(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:51.000 MyPlayer[197:5c07] PTS: 22025.255859(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:51.040 MyPlayer[197:5c07] PTS: 22069.566406(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:51.081 MyPlayer[197:5c07] PTS: 22105.255859(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:51.122 MyPlayer[197:5c07] PTS: 22145.322266(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:51.165 MyPlayer[197:5c07] PTS: 22184.611328(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:51.204 MyPlayer[197:5c07] PTS: 22225.812500(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:51.250 MyPlayer[197:5c07] PTS: 22264.457031(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:51.293 MyPlayer[197:5c07] PTS: 22305.322266(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:51.332 MyPlayer[197:5c07] Got older packet (19965.955078): 1
> >>>> 2014-04-29 12:26:51.333 MyPlayer[197:5c07] PTS: 19965.955078(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:51.372 MyPlayer[197:5c07] Got older packet (20004.978516): 2
> >>>> 2014-04-29 12:26:51.375 MyPlayer[197:5c07] PTS: 20004.978516(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:51.412 MyPlayer[197:5c07] Got older packet (20045.822266): 3
> >>>> 2014-04-29 12:26:51.415 MyPlayer[197:5c07] PTS: 20045.822266(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:51.456 MyPlayer[197:5c07] Got older packet (20085.267578): 4
> >>>> 2014-04-29 12:26:51.460 MyPlayer[197:5c07] PTS: 20085.267578(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:51.500 MyPlayer[197:5c07] Got older packet (20124.734375): 5
> >>>> 2014-04-29 12:26:51.503 MyPlayer[197:5c07] PTS: 20124.734375(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:51.545 MyPlayer[197:5c07] Got older packet (20166.222656): 6
> >>>> 2014-04-29 12:26:51.547 MyPlayer[197:5c07] PTS: 20166.222656(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:51.590 MyPlayer[197:5c07] Got older packet (20205.333984): 7
> >>>> 2014-04-29 12:26:51.592 MyPlayer[197:5c07] PTS: 20205.333984(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:51.630 MyPlayer[197:5c07] Got older packet (20245.044922): 8
> >>>> 2014-04-29 12:26:51.632 MyPlayer[197:5c07] PTS: 20245.044922(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:51.664 MyPlayer[197:5c07] Got older packet (20286.201172): 9
> >>>> 2014-04-29 12:26:51.666 MyPlayer[197:5c07] PTS: 20286.201172(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:51.672 MyPlayer[197:5c07] Got older packet (20324.777344): 10
> >>>> 2014-04-29 12:26:51.673 MyPlayer[197:5c07] PTS: 20324.777344(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:51.708 MyPlayer[197:5c07] Got older packet (20364.800781): 11
> >>>> 2014-04-29 12:26:51.709 MyPlayer[197:5c07] PTS: 20364.800781(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:51.745 MyPlayer[197:5c07] Got older packet (20405.623047): 12
> >>>> 2014-04-29 12:26:51.748 MyPlayer[197:5c07] PTS: 20405.623047(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:51.785 MyPlayer[197:5c07] Got older packet (20445.867188): 13
> >>>> 2014-04-29 12:26:51.789 MyPlayer[197:5c07] PTS: 20445.867188(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:51.827 MyPlayer[197:5c07] Got older packet (20484.888672): 14
> >>>> 2014-04-29 12:26:51.829 MyPlayer[197:5c07] PTS: 20484.888672(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:51.866 MyPlayer[197:5c07] Got older packet (20525.466797): 15
> >>>> 2014-04-29 12:26:51.867 MyPlayer[197:5c07] PTS: 20525.466797(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:51.915 MyPlayer[197:5c07] Got older packet (20566.177734): 16
> >>>> 2014-04-29 12:26:51.916 MyPlayer[197:5c07] PTS: 20566.177734(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:51.947 MyPlayer[197:5c07] Got older packet (20605.355469): 17
> >>>> 2014-04-29 12:26:51.949 MyPlayer[197:5c07] PTS: 20605.355469(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:51.989 MyPlayer[197:5c07] Got older packet (20645.867188): 18
> >>>> 2014-04-29 12:26:51.991 MyPlayer[197:5c07] PTS: 20645.867188(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:52.029 MyPlayer[197:5c07] Got older packet (20685.066406): 19
> >>>> 2014-04-29 12:26:52.034 MyPlayer[197:5c07] PTS: 20685.066406(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:52.077 MyPlayer[197:5c07] Got older packet (20725.000000): 20
> >>>> 2014-04-29 12:26:52.080 MyPlayer[197:5c07] PTS: 20725.000000(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:52.110 MyPlayer[197:5c07] Got older packet (20766.000000): 21
> >>>> 2014-04-29 12:26:52.112 MyPlayer[197:5c07] PTS: 20766.000000(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:52.152 MyPlayer[197:5c07] Got older packet (20805.222656): 22
> >>>> 2014-04-29 12:26:52.160 MyPlayer[197:5c07] PTS: 20805.222656(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:52.194 MyPlayer[197:5c07] Got older packet (20844.689453): 23
> >>>> 2014-04-29 12:26:52.197 MyPlayer[197:5c07] PTS: 20844.689453(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:52.234 MyPlayer[197:5c07] Got older packet (20886.333984): 24
> >>>> 2014-04-29 12:26:52.238 MyPlayer[197:5c07] PTS: 20886.333984(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:52.272 MyPlayer[197:5c07] Got older packet (20924.800781): 25
> >>>> 2014-04-29 12:26:52.275 MyPlayer[197:5c07] PTS: 20924.800781(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:52.313 MyPlayer[197:5c07] Got older packet (20964.378906): 26
> >>>> 2014-04-29 12:26:52.315 MyPlayer[197:5c07] PTS: 20964.378906(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:52.359 MyPlayer[197:5c07] Got older packet (21006.044922): 27
> >>>> 2014-04-29 12:26:52.360 MyPlayer[197:5c07] PTS: 21006.044922(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:52.396 MyPlayer[197:5c07] Got older packet (21045.267578): 28
> >>>> 2014-04-29 12:26:52.398 MyPlayer[197:5c07] PTS: 21045.267578(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:52.440 MyPlayer[197:5c07] Got older packet (21083.912109): 29
> >>>> 2014-04-29 12:26:52.449 MyPlayer[197:5c07] PTS: 21083.912109(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:52.476 MyPlayer[197:5c07] Got older packet (21125.689453): 30
> >>>> 2014-04-29 12:26:52.478 MyPlayer[197:5c07] PTS: 21125.689453(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:52.517 MyPlayer[197:5c07] Got older packet (21165.023438): 31
> >>>> 2014-04-29 12:26:52.522 MyPlayer[197:5c07] PTS: 21165.023438(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:52.557 MyPlayer[197:5c07] Got older packet (21204.289062): 32
> >>>> 2014-04-29 12:26:52.558 MyPlayer[197:5c07] PTS: 21204.289062(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:52.598 MyPlayer[197:5c07] Got older packet (21245.644531): 33
> >>>> 2014-04-29 12:26:52.600 MyPlayer[197:5c07] PTS: 21245.644531(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:52.639 MyPlayer[197:5c07] Got older packet (21285.156250): 34
> >>>> 2014-04-29 12:26:52.641 MyPlayer[197:5c07] PTS: 21285.156250(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:52.679 MyPlayer[197:5c07] Got older packet (21323.623047): 35
> >>>> 2014-04-29 12:26:52.681 MyPlayer[197:5c07] PTS: 21323.623047(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:52.735 MyPlayer[197:5c07] Got older packet (21370.267578): 36
> >>>> 2014-04-29 12:26:52.736 MyPlayer[197:5c07] PTS: 21370.267578(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:52.773 MyPlayer[197:5c07] Got older packet (21405.111328): 37
> >>>> 2014-04-29 12:26:52.774 MyPlayer[197:5c07] PTS: 21405.111328(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:52.811 MyPlayer[197:5c07] Got older packet (21444.957031): 38
> >>>> 2014-04-29 12:26:52.813 MyPlayer[197:5c07] PTS: 21444.957031(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:52.844 MyPlayer[197:5c07] Got older packet (21485.667969): 39
> >>>> 2014-04-29 12:26:52.862 MyPlayer[197:5c07] PTS: 21485.667969(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:52.892 MyPlayer[197:5c07] Got older packet (21525.134766): 40
> >>>> 2014-04-29 12:26:52.893 MyPlayer[197:5c07] PTS: 21525.134766(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:52.943 MyPlayer[197:5c07] Got older packet (21565.066406): 41
> >>>> 2014-04-29 12:26:52.944 MyPlayer[197:5c07] PTS: 21565.066406(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:52.974 MyPlayer[197:5c07] Got older packet (21605.466797): 42
> >>>> 2014-04-29 12:26:52.975 MyPlayer[197:5c07] PTS: 21605.466797(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:53.016 MyPlayer[197:5c07] Got older packet (21645.267578): 43
> >>>> 2014-04-29 12:26:53.021 MyPlayer[197:5c07] PTS: 21645.267578(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:53.056 MyPlayer[197:5c07] Got older packet (21684.777344): 44
> >>>> 2014-04-29 12:26:53.058 MyPlayer[197:5c07] PTS: 21684.777344(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:53.099 MyPlayer[197:5c07] Got older packet (21725.289062): 45
> >>>> 2014-04-29 12:26:53.101 MyPlayer[197:5c07] PTS: 21725.289062(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:53.139 MyPlayer[197:5c07] Got older packet (21764.800781): 46
> >>>> 2014-04-29 12:26:53.141 MyPlayer[197:5c07] PTS: 21764.800781(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:53.179 MyPlayer[197:5c07] Got older packet (21804.066406): 47
> >>>> 2014-04-29 12:26:53.180 MyPlayer[197:5c07] PTS: 21804.066406(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:53.220 MyPlayer[197:5c07] Got older packet (21845.466797): 48
> >>>> 2014-04-29 12:26:53.223 MyPlayer[197:5c07] PTS: 21845.466797(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:53.262 MyPlayer[197:5c07] Got older packet (21884.378906): 49
> >>>> 2014-04-29 12:26:53.265 MyPlayer[197:5c07] PTS: 21884.378906(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:53.304 MyPlayer[197:5c07] Got older packet (21924.312500): 50
> >>>> 2014-04-29 12:26:53.306 MyPlayer[197:5c07] PTS: 21924.312500(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:53.343 MyPlayer[197:5c07] Got older packet (21965.599609): 51
> >>>> 2014-04-29 12:26:53.347 MyPlayer[197:5c07] PTS: 21965.599609(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:53.350 MyPlayer[197:5c07] Got older packet (22004.466797): 52
> >>>> 2014-04-29 12:26:53.352 MyPlayer[197:5c07] PTS: 22004.466797(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:53.391 MyPlayer[197:5c07] Got older packet (22043.710938): 53
> >>>> 2014-04-29 12:26:53.393 MyPlayer[197:5c07] PTS: 22043.710938(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:53.424 MyPlayer[197:5c07] Got older packet (22084.667969): 54
> >>>> 2014-04-29 12:26:53.427 MyPlayer[197:5c07] PTS: 22084.667969(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:53.473 MyPlayer[197:5c07] Got older packet (22124.066406): 55
> >>>> 2014-04-29 12:26:53.476 MyPlayer[197:5c07] PTS: 22124.066406(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:53.506 MyPlayer[197:5c07] Got older packet (22164.800781): 56
> >>>> 2014-04-29 12:26:53.507 MyPlayer[197:5c07] PTS: 22164.800781(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:53.549 MyPlayer[197:5c07] Got older packet (22205.644531): 57
> >>>> 2014-04-29 12:26:53.551 MyPlayer[197:5c07] PTS: 22205.644531(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:53.590 MyPlayer[197:5c07] Got older packet (22244.023438): 58
> >>>> 2014-04-29 12:26:53.593 MyPlayer[197:5c07] PTS: 22244.023438(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:53.628 MyPlayer[197:5c07] Got older packet (22283.644531): 59
> >>>> 2014-04-29 12:26:53.631 MyPlayer[197:5c07] PTS: 22283.644531(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:53.668 MyPlayer[197:5c07] PTS: 22324.710938(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:53.712 MyPlayer[197:5c07] PTS: 22364.267578(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:53.751 MyPlayer[197:5c07] PTS: 22404.044922(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:53.793 MyPlayer[197:5c07] PTS: 22444.888672(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:53.833 MyPlayer[197:5c07] PTS: 22484.511719(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:53.871 MyPlayer[197:5c07] PTS: 22524.289062(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:53.913 MyPlayer[197:5c07] PTS: 22565.177734(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:53.954 MyPlayer[197:5c07] PTS: 22604.734375(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:53.998 MyPlayer[197:5c07] PTS: 22644.023438(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:54.037 MyPlayer[197:5c07] PTS: 22685.244141(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:54.074 MyPlayer[197:5c07] PTS: 22724.599609(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:54.124 MyPlayer[197:5c07] PTS: 22764.044922(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:54.156 MyPlayer[197:5c07] PTS: 22804.490234(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:54.197 MyPlayer[197:5c07] PTS: 22844.156250(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:54.244 MyPlayer[197:5c07] PTS: 22884.023438(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:54.278 MyPlayer[197:5c07] PTS: 22923.511719(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:54.318 MyPlayer[197:5c07] PTS: 22964.177734(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:54.378 MyPlayer[197:5c07] PTS: 23004.445312(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:54.407 MyPlayer[197:5c07] PTS: 23044.111328(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:54.445 MyPlayer[197:5c07] PTS: 23084.378906(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:54.485 MyPlayer[197:5c07] PTS: 23124.000000(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:54.525 MyPlayer[197:5c07] PTS: 23164.066406(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:54.566 MyPlayer[197:5c07] PTS: 23204.623047(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:54.613 MyPlayer[197:5c07] PTS: 23243.734375(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:54.667 MyPlayer[197:5c07] PTS: 23283.888672(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:54.707 MyPlayer[197:5c07] PTS: 23323.089844(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:54.739 MyPlayer[197:5c07] PTS: 23364.355469(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:54.778 MyPlayer[197:5c07] PTS: 23403.623047(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:54.819 MyPlayer[197:5c07] PTS: 23444.734375(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:54.866 MyPlayer[197:5c07] PTS: 23484.044922(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:54.900 MyPlayer[197:5c07] PTS: 23524.111328(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:54.942 MyPlayer[197:5c07] PTS: 23564.957031(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:54.947 MyPlayer[197:5c07] PTS: 23603.957031(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:54.987 MyPlayer[197:5c07] PTS: 23643.134766(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:55.023 MyPlayer[197:5c07] PTS: 23684.333984(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:55.064 MyPlayer[197:5c07] PTS: 23723.156250(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:55.146 MyPlayer[197:5c07] PTS: 23762.867188(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:55.149 MyPlayer[197:5c07] PTS: 23807.623047(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:55.230 MyPlayer[197:5c07] PTS: 23882.867188(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:55.275 MyPlayer[197:5c07] PTS: 23923.667969(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:55.315 MyPlayer[197:5c07] PTS: 23963.623047(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:55.354 MyPlayer[197:5c07] PTS: 24003.556641(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:55.389 MyPlayer[197:5c07] PTS: 24044.333984(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:55.431 MyPlayer[197:5c07] PTS: 24083.466797(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:55.471 MyPlayer[197:5c07] PTS: 24123.822266(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:55.511 MyPlayer[197:5c07] PTS: 24165.177734(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:55.551 MyPlayer[197:5c07] PTS: 24204.000000(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:55.592 MyPlayer[197:5c07] PTS: 24243.466797(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:55.637 MyPlayer[197:5c07] PTS: 24284.333984(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:55.674 MyPlayer[197:5c07] PTS: 24323.845703(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:55.714 MyPlayer[197:5c07] PTS: 24363.111328(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:55.754 MyPlayer[197:5c07] PTS: 24404.490234(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:55.795 MyPlayer[197:5c07] PTS: 24447.066406(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:55.836 MyPlayer[197:5c07] PTS: 24482.511719(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:55.877 MyPlayer[197:5c07] PTS: 24524.023438(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:55.917 MyPlayer[197:5c07] PTS: 24563.400391(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:55.958 MyPlayer[197:5c07] PTS: 24602.644531(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:55.998 MyPlayer[197:5c07] PTS: 24643.355469(Duration : 40.000000) Bufferred: 3640.00
> >>>> 2014-04-29 12:26:56.048 MyPlayer[197:5c07] PTS: 24682.978516(Duration : 40.000000) Bufferred: 3600.00
> >>>> 2014-04-29 12:26:56.092 MyPlayer[197:5c07] PTS: 24722.644531(Duration : 40.000000) Bufferred: 3600.00
> >>>> .
> >>>> .
> >>>> .
> >>>> .
> >>>> .
> >>>> 
> >>>> Is this expected/valid? How can we handle such cases? 
> >>> 
> >>> Yes, most file formats store the timestamp in a way that requires
> >>> reordering. If the decoder you're using doesn't provide any means to do
> >>> the reordering, you could sort them, I guess.
> >>> 
> >>>> Thanks and regards
> >>>> Abhishek
> >>>> 
> >>>> 
> >>>> On 30-Apr-2014, at 3:35 PM, wm4 <nfxjfg at googlemail.com> wrote:
> >>>> 
> >>>>> On Tue, 29 Apr 2014 12:13:01 -0700
> >>>>> J Decker <d3ck0r at gmail.com> wrote:
> >>>>> 
> >>>>>> On Tue, Apr 29, 2014 at 3:26 AM, Abhishek Maniyar <
> >>>>>> abhishek.maniyar at springcomputing.in> wrote:
> >>>>>> 
> >>>>>>> Hello Everyone,
> >>>>>>> 
> >>>>>>> I am trying to connect to RTSP using FFMPEG library in iOS.
> >>>>>>> 
> >>>>>>> I am using TCP. Some times in poor network conditions, packets with older
> >>>>>>> PTS received. Is it possible in FFMPEG to get a packet with PTS is sequence
> >>>>>>> 10,11,12,13,7,8,9,….. Should FFMPEG not discard packets those are older den
> >>>>>>> current packet?
> >>>>>>> 
> >>>>>> I had the same sort of sequential PTS in some videos; another place to
> >>>>>> ignore that and use your own frame count based PTS... like MP4 clips come
> >>>>>> in ticks, mkv come in milliseconds in the PTS and some are sequential
> >>>>>> counts (avi)  and even playing from disk I got backwards numbers
> >>>>> 
> >>>>> Seems like you don't understand timestamps at all.
> >>>>> 
> >>>>> First, PTS can go backwards on the packet level. This is because some
> >>>>> codecs reorder frames on decoding. Packet PTS are in encoded order, not
> >>>>> in display order, and the decoder will reorder the PTS to display order
> >>>>> for you (just like it reorders the decoded pictures). See AVFrame
> >>>>> fields for more info.
> >>>>> 
> >>>>> Second, timestamps in ffmpeg are always relative to a timebase. The
> >>>>> timebase tells you in what units the PTS values are in. You just divide
> >>>>> the PTS by the timebase, and you get the time in seconds. The
> >>>>> demuxer will tell you the timebase; see AVStream.time_base.
> >>>>> _______________________________________________
> >>>>> Libav-user mailing list
> >>>>> Libav-user at ffmpeg.org
> >>>>> http://ffmpeg.org/mailman/listinfo/libav-user
> >>>> 
> >>>> 
> >>> 
> >>> _______________________________________________
> >>> Libav-user mailing list
> >>> Libav-user at ffmpeg.org
> >>> http://ffmpeg.org/mailman/listinfo/libav-user
> >> 
> > 
> > _______________________________________________
> > Libav-user mailing list
> > Libav-user at ffmpeg.org
> > http://ffmpeg.org/mailman/listinfo/libav-user
> 



More information about the Libav-user mailing list