[Live-devel] MPEG-2 Program Stream trick play (pause/play only)

Leon Woestenberg leonw at mailcan.com
Mon Apr 4 01:01:08 PDT 2005


Hello Ross,

the latest changelog (2005.04.01) shows improvements in MPEG-2 Program
Stream support (seeking, A/V sync), as well as your earlier email on
2 Feb 2005:
---
Ross Finlayson finlayson at live.com
Wed Feb 2 09:01:29 PST 2005

FYI, seeking is implemented, for a particular media type, ...

I am currently working on adding this functionality for MPEG-1 or 2
Video Elementary Streams, and Program Streams.
---

This triggered me to start testing on some material here.

Transmitter: Linux x86 VIA Epia board running live.com 2005.04.01
Channel: 100 Mbit/s UTP LAN
Receiver: W2K running the vlc-win32-200504010324.zip" build as an RTSP 
client.

I am encoding a MPEG-2 PS with a MPEG-2 VES and a MPEG-1 Audio Layer 2
AES from a chip encoder (Vweb VW2010) to file (test.mpg) then use that
file as the test.mpg for live.com's testOnDemandRTSPServer. Using VLC
I connect, play a bit, pause and then press play again.

After the pause/play sequence, the video and audio gets choppy (missing
frames and some what-look-like out-of-order frames). Seeking has the
same effect.

What I find strange is that the DEBUG_TIMESTAMPS output shows zero for 
the video stream, packet presentation_time_stamp (in all cases, also
before pause).

snippets of VLC resp. live.com output:


main debug: decoded 105/105 pictures
...
main debug: decoded 105/105 pictures

<press pause in VLC>

main debug: control type=1
main debug: looking for video blending module: 1 candidate
blend debug: chroma: YUVP -> I420
main debug: using video blending module "blend"
main debug: looking for text renderer module: 2 candidates
freetype debug: Using fontsize: 36
main debug: using text renderer module "freetype"

<video freezes, audio silent>
<wait a few seconds>
<press play in VLC>

main debug: control type=1
main warning: computed PTS is out of range (1370403), clearing out
main warning: PTS is out of range (1371002), dropping buffer
main warning: output PTS is out of range (1373692), clearing out
main warning: PTS is out of range (1347055), dropping buffer
main warning: late picture skipped (1601752)
main warning: vout synchro warning: pts != current_date (-2751553)
main warning: PTS is out of range (1368064), dropping buffer
main warning: received buffer in the future (21725934489)
main warning: backward_pts != current_pts (2751553)
main warning: received buffer in the future (21725798391)
main warning: received buffer in the future (21725822354)
main warning: received buffer in the future (21725846193)
main warning: received buffer in the future (21725870171)
main warning: received buffer in the future (21725894047)
main warning: received buffer in the future (21725918026)
main warning: vout synchro warning: pts != current_date (-2751553)
main warning: received buffer in the future (21725932912)
main warning: received buffer in the future (21725956882)
main warning: late picture skipped (1682188)
main debug: stream periodicity changed from P[4] to P[2]
main warning: backward_pts != current_pts (-40000)
main warning: clock gap, unexpected stream discontinuity
main warning: vout synchro warning: pts != current_date (-223679)
main warning: backward_pts != current_pts (-21724263387)
main warning: received buffer in the future (21725930717)
main debug: audio output is starving (383258), playing silence
main warning: clock gap, unexpected stream discontinuity
main warning: vout synchro warning: pts != current_date (21724863386)
main warning: output date isn't PTS date, requesting resampling (-42523)
main warning: buffer is 42523 in advance, triggering downsampling
main warning: late picture skipped (119846)
main warning: late picture skipped (38684)
main debug: stream periodicity changed from P[2] to P[4]
main warning: backward_pts != current_pts (-320000)
main warning: vout synchro warning: pts != current_date (21722055099)
main warning: vout synchro warning: pts != current_date (-21721872652)
main warning: vout synchro warning: pts != current_date (40000)
main warning: late picture skipped (21721454235)
main warning: received buffer in the future (21722512270)
main warning: received buffer in the future (21722536211)
main warning: received buffer in the future (21722560189)
main warning: received buffer in the future (21722584165)
main warning: received buffer in the future (21722608145)
main warning: received buffer in the future (21722632122)
main warning: received buffer in the future (21722656102)
main warning: received buffer in the future (21722680080)
main warning: received buffer in the future (21722704060)
main warning: received buffer in the future (21722518962)
main warning: received buffer in the future (21722542925)
main warning: received buffer in the future (21722566726)
main warning: received buffer in the future (21722590705)
main warning: received buffer in the future (21722614447)
main warning: received buffer in the future (21722638424)
main warning: received buffer in the future (21722662400)
main warning: received buffer in the future (21722686380)
main warning: received buffer in the future (21722709766)
main warning: received buffer in the future (21722733742)
main warning: received buffer in the future (21722757612)
main warning: received buffer in the future (21722781563)
main warning: received buffer in the future (21722805432)
main warning: received buffer in the future (21722829410)
main warning: received buffer in the future (21722853284)
main warning: received buffer in the future (21722877262)
main warning: received buffer in the future (21722901108)
main warning: received buffer in the future (21722925086)
main warning: received buffer in the future (21722948959)
main warning: received buffer in the future (21722972937)
main warning: received buffer in the future (21722996265)
main warning: received buffer in the future (21723020242)
main warning: received buffer in the future (21723044110)
main warning: received buffer in the future (21723068088)
main warning: received buffer in the future (21723091961)
main warning: received buffer in the future (21723115895)
main warning: received buffer in the future (21723139530)
main warning: received buffer in the future (21723163510)
main warning: received buffer in the future (21723183627)
main warning: received buffer in the future (21723207590)
main warning: backward_pts != current_pts (-720000)
main warning: received buffer in the future (21723181539)
main warning: received buffer in the future (21723205392)
main warning: received buffer in the future (21723179238)
main warning: received buffer in the future (21723203198)
main warning: received buffer in the future (21723176950)
main warning: received buffer in the future (21723200913)
main warning: received buffer in the future (21723175159)
main warning: received buffer in the future (21723199120)
main warning: received buffer in the future (21723184144)
main warning: received buffer in the future (21723208105)
main warning: received buffer in the future (21723181692)
main warning: received buffer in the future (21723205653)
main warning: received buffer in the future (21723179137)
main warning: received buffer in the future (21723203100)
main warning: received buffer in the future (21723177595)
main warning: received buffer in the future (21723201556)
main warning: received buffer in the future (21723174782)
main warning: received buffer in the future (21723198746)
main warning: received buffer in the future (21723184818)
main warning: received buffer in the future (21723208781)
main warning: received buffer in the future (21722707499)
main warning: received buffer in the future (21722731461)
main warning: received buffer in the future (21722755359)
main warning: received buffer in the future (21722779337)
main warning: received buffer in the future (21722803174)
main warning: received buffer in the future (21722827152)
main warning: received buffer in the future (21722851025)
main warning: received buffer in the future (21722874646)
main warning: received buffer in the future (21722898625)
main warning: received buffer in the future (21722922606)
main warning: received buffer in the future (21722946585)
main warning: received buffer in the future (21722970566)
main warning: received buffer in the future (21722994546)
main warning: received buffer in the future (21723018527)
main warning: received buffer in the future (21723038999)
main warning: received buffer in the future (21723062966)
main warning: received buffer in the future (21723086773)
main warning: received buffer in the future (21723110751)
main warning: received buffer in the future (21723134564)
main warning: received buffer in the future (21723158160)
main warning: received buffer in the future (21723180579)
main warning: received buffer in the future (21723204556)
main warning: received buffer in the future (21723178957)
main warning: received buffer in the future (21723202734)
main warning: received buffer in the future (21723177801)
main warning: received buffer in the future (21723201762)
main warning: received buffer in the future (21723176173)
main warning: received buffer in the future (21723200133)
main warning: received buffer in the future (21723183048)
main warning: received buffer in the future (21723206447)
main warning: received buffer in the future (21723181519)
main warning: received buffer in the future (21723205479)
main warning: received buffer in the future (21723179630)
main debug: decoded 84/101 pictures
main warning: vout synchro warning: pts != current_date (720000)
main warning: backward_pts != current_pts (-520000)
main warning: computed PTS is out of range (1854899), clearing out
main warning: timing screwed, stopping resampling
main warning: output PTS is out of range (1871883), clearing out
main warning: input PTS is out of range (1855778), trashing
main warning: computed PTS is out of range (1860772), clearing out
main debug: audio output is starving (389375), playing silence
main warning: vout synchro warning: pts != current_date (520000)
main warning: late picture skipped (255709)
main warning: backward_pts != current_pts (-320000)
main warning: vout synchro warning: pts != current_date (280000)
main warning: backward_pts != current_pts (40000)
main warning: late picture skipped (96902)
main warning: backward_pts != current_pts (-720000)
main warning: late picture skipped (16975)
main warning: vout synchro warning: pts != current_date (720000)
main warning: backward_pts != current_pts (-520000)
main debug: decoded 61/105 pictures
main warning: vout synchro warning: pts != current_date (520000)
main warning: late picture skipped (260048)
main warning: backward_pts != current_pts (-320000)
main warning: vout synchro warning: pts != current_date (280000)
main warning: backward_pts != current_pts (40000)
main warning: late picture skipped (102206)
main warning: backward_pts != current_pts (-720000)
main warning: late picture skipped (21344)
main warning: vout synchro warning: pts != current_date (720000)
main warning: backward_pts != current_pts (-520000)
main warning: vout synchro warning: pts != current_date (520000)
main warning: late picture skipped (264368)
main warning: backward_pts != current_pts (-320000)
main debug: control type=1
main warning: vout synchro warning: pts != current_date (280000)
main warning: backward_pts != current_pts (40000)
main debug: decoded 52/105 pictures
main warning: late picture skipped (106196)
main warning: backward_pts != current_pts (-720000)
main warning: late picture skipped (15652)
main warning: vout synchro warning: pts != current_date (720000)
main warning: vout warning: early picture skipped (21711828088)
---

---
fTimestampBase: 0xfe1d80e2, tv: 1112566405.284460
         => RTP timestamp: 0x8d662ab3
pack hdr system_clock_reference_base: 0x0002737c4
pack hdr system_clock_reference_extension: 0x04d
video stream, packet presentation_time_stamp: 0x000000000
                 packet decoding_time_stamp: 0x000000000
fTimestampBase: 0xfe1d80e2, tv: 1112566405.284460
         => RTP timestamp: 0x8d662ab3
fTimestampBase: 0xfe1d80e2, tv: 1112566405.284460
         => RTP timestamp: 0x8d662ab3
fTimestampBase: 0xfe1d80e2, tv: 1112566405.284460
         => RTP timestamp: 0x8d662ab3
fTimestampBase: 0xfe1d80e2, tv: 1112566405.284460
         => RTP timestamp: 0x8d662ab3
video stream, packet presentation_time_stamp: 0x000000000
                 packet decoding_time_stamp: 0x000000000
fTimestampBase: 0xfe1d80e2, tv: 1112566405.284460
         => RTP timestamp: 0x8d662ab3
pack hdr system_clock_reference_base: 0x0002738f8
pack hdr system_clock_reference_extension: 0x01d
video stream, packet presentation_time_stamp: 0x000000000
                 packet decoding_time_stamp: 0x000000000
fTimestampBase: 0xfe1d80e2, tv: 1112566405.284460
         => RTP timestamp: 0x8d662ab3
fTimestampBase: 0xfe1d80e2, tv: 1112566405.284460
         => RTP timestamp: 0x8d662ab3
fTimestampBase: 0xfe1d80e2, tv: 1112566405.284460
         => RTP timestamp: 0x8d662ab3
video stream, packet presentation_time_stamp: 0x000000000
                 packet decoding_time_stamp: 0x000000000
fTimestampBase: 0xfe1d80e2, tv: 1112566405.284460
         => RTP timestamp: 0x8d662ab3
pack hdr system_clock_reference_base: 0x000273a2c
pack hdr system_clock_reference_extension: 0x076
audio stream, packet presentation_time_stamp: 0x00027d427
                 packet decoding_time_stamp: 0x000000000
----


More information about the live-devel mailing list