[streaming] Re: How to stream high-def video over a LAN?

Chhaya, Harshal hchhaya at ti.com
Tue Mar 1 23:47:20 CET 2005


> Well, the fact the file can be read from a file leads either 
> to think of packet loss related to issues in the network, or 
> in the ethernel card / ethernet card drivers. How is the CPU 
> usage when reading from network, compared to from file, what 
> are the error messages given by VLC ?

Ben,

The average CPU usage when playing a local file is about 
65-70% but it is ~90% when playing a streamed version of
the same file. Also, the kernel portion of the usage is 
much higher when playing the stream probably because of 
the network driver ((~30% compared to less than 10%).

As I mentioned earlier, I tried dumping the raw version of
the streamed video and then playing it locally.

I checked the file size of the dumped file and it is smaller
than the original file. This refutes my earlier hypothesis
that the network is not losing any packets. It seems that
the network *is* losing packets but playing the 'lossy' file
is still smoother than playing the stream.


When I play the streamed version, the error messages are:

ts debug: PATCallBack called
ts debug: new PAT ts_id=1 version=17 current_next=1
ts debug:   * number=1 pid=66
ts debug: PMTCallBack called
ts debug: new PMT program number=1 version=19 pid_pcr=68
ts debug:   * es pid=68 type=2 fcc=mpgv
main warning: late picture skipped (19422960)
main debug: stream periodicity changed from P[4] to P[2]
main warning: dts != current_pts (-20175113)
main warning: late picture skipped (19429805)
main warning: vout synchro warning: pts != current_date (16000)
main warning: vout synchro warning: pts != current_date (10065)
main warning: vout synchro warning: pts != current_date (14321)
main warning: vout synchro warning: pts != current_date (9021)
main debug: stream periodicity changed from P[2] to P[4]
main warning: vout synchro warning: pts != current_date (8565)
main warning: vout synchro warning: pts != current_date (11387)
main warning: vout synchro warning: pts != current_date (9988)
main debug: decoded 58/110 pictures
main warning: dts != current_pts (-26801)
main warning: vout synchro warning: pts != current_date (12311)
main warning: vout synchro warning: pts != current_date (11177)
main warning: late picture skipped (-6997)
main debug: decoded 42/105 pictures
main debug: decoded 49/105 pictures
main warning: late picture skipped (-6028)
ts warning: discontinuity received 0xb instead of 0x4
main debug: decoded 44/105 pictures
main debug: decoded 44/105 pictures


and when I play the dumped version, I get:


main debug: adding playlist item `C:\Program
Files\VideoLAN\VLC8\emotion_dump.ts' ( C:\Program
Files\VideoLAN\VLC8\emotion_dump.ts )
main debug: control type=0
main debug: control: INPUT_CONTROL_SET_DIE proceed
main debug: closing input
demuxdump: closing emotion_dump.ts (37466 Kbytes dumped)
main debug: unlocking module "demuxdump"
main debug: unlocking module "access_udp"
main debug: thread 3196 joined (src/input/input.c:290)
main debug: creating new input thread
main debug: waiting for thread completion
main warning: drive letter C: found in source
main debug: `C:\Program Files\VideoLAN\VLC8\emotion_dump.ts' gives
access `' demux `' path `C:\Program Files\VideoLAN\VLC8\emotion_dump.ts'
main debug: demux2_New: access='' demux='' path='C:\Program
Files\VideoLAN\VLC8\emotion_dump.ts'
main debug: looking for access_demux module
main debug: thread 3196 (input) created at priority 1
(src/input/input.c:228)
main debug: probing 1 candidate
main debug: access2_New: access='' path='C:\Program
Files\VideoLAN\VLC8\emotion_dump.ts'
main debug: looking for access2 module
main debug: probing 4 candidates
vcd debug: trying .cue file: C:\Program
Files\VideoLAN\VLC8\emotion_dump.cue
vcd warning: could not open C:\Program
Files\VideoLAN\VLC8\emotion_dump.ts
access_file debug: opening file `C:\Program
Files\VideoLAN\VLC8\emotion_dump.ts'
main debug: using access2 module "access_file"
main debug: pre buffering
main debug: received first data for our buffer
main debug: prebuffering done 1408981 bytes in 0s - 291331 kbytes/s
main debug: demux2_New: access='' demux='' path='C:\Program
Files\VideoLAN\VLC8\emotion_dump.ts'
main debug: looking for demux2 module
main debug: probing 34 candidates
mp4 warning: MP4 plugin discarded (not a valid file)
avi warning: avi module discarded (invalid header)
asf warning: ASF plugin discarded (not a valid file)
flac warning: flac module discarded (no startcode)
aac warning: AAC module discarded
main debug: looking for id3 module
main debug: probing 2 candidates
id3tag debug: checking for ID3 tag
main debug: using id3 module "id3tag"
main debug: unlocking module "id3tag"
mpgv warning: ES module discarded (no startcode)
sap warning: SDP (UDP) module discarded
livedotcom warning: SDP module discarded
mkv warning: matroska module discarded (invalid header 0x47400030)
ogg warning: ogg module discarded (invalid header)
real warning: Real module discarded
aiff warning: AIFF module discarded
au warning: AU module discarded
mod warning: MOD module discarded (extention 'ts' unknown)
nsv warning: NSV module discarded
playlist warning: old import module discarded: invalid file
playlist warning: pls import module discarded
pva warning: PVA module discarded
main debug: using demux2 module "ts"
main debug: looking for a subtitle file in C:\Program
Files\VideoLAN\VLC8\
main debug: found a possible subtitle: AUTHORS.txt
main debug: found a possible subtitle: COPYING.txt
main debug: found a possible subtitle: MAINTAINERS.txt
main debug: found a possible subtitle: NEWS.txt
main debug: found a possible subtitle: README.txt
main debug: found a possible subtitle: THANKS.txt
ts debug: DEMUX_SET_GROUP 0 00000000
main debug: `C:\Program Files\VideoLAN\VLC8\emotion_dump.ts' sucessfully
opened
ts debug: PATCallBack called
ts debug: new PAT ts_id=1 version=13 current_next=1
ts debug:   * number=1 pid=66
ts debug: PMTCallBack called
ts debug: new PMT program number=1 version=11 pid_pcr=68
ts debug:   * es pid=68 type=2 fcc=mpgv
main debug: Selecting program id=1
main debug: looking for decoder module
main debug: probing 23 candidates
main debug: using decoder module "libmpeg2"
main debug: thread 3388 (decoder) created at priority 0
(src/input/decoder.c:157)
libmpeg2 debug: 1920x1088, aspect 768000, 29.971 fps
main debug: no usable vout present, spawning one
main debug: Registering subpicture channel, ID: 2
main debug: Registering subpicture channel, ID: 3
main debug: Registering subpicture channel, ID: 4
main debug: Registering subpicture channel, ID: 5
main debug: looking for video output module
main debug: probing 5 candidates
vout_directx debug: creating DirectXEventThread
main debug: waiting for thread completion
vout_directx debug: DirectXCreateWindow
vout_directx debug: Created video sub-window
main debug: thread 4256 (DirectX Events Thread) created at priority 0
(directx.c:248)
vout_directx debug: DirectXEventThread running
vout_directx debug: DirectXInitDDraw
vout_directx debug: directx-device: 
vout_directx debug: DirectXEnumCallback: Primary Display Driver, display
vout_directx debug: DirectXEnumCallback: HIGHTECH EXCALIBUR RADEON 9000,
\\.\DISPLAY1
vout_directx debug: selecting HIGHTECH EXCALIBUR RADEON 9000,
\\.\DISPLAY1
vout_directx debug: screen dimensions (0x0,1280x1024)
vout_directx debug: DirectDraw Capabilities: overlay=1 yuvoverlay=1
can_deinterlace_overlay=1 colorkey=1 stretch=1 bltfourcc=1
vout_directx debug: End DirectXInitDDraw
vout_directx debug: DirectXCreateDisplay
vout_directx debug: DirectXCreateClipper
main debug: using video output module "vout_directx"
vout_directx debug: NewPictureVec overlay:yes chroma:YV12
vout_directx debug: YUV overlay created successfully
vout_directx debug: End NewPictureVec (succeeded)
main debug: got 1 direct buffer(s)
main debug: picture in 1920x1088, chroma 0x30323449 (I420), aspect ratio
16:9
main debug: picture out 1920x1088, chroma 0x30323449 (I420), aspect
ratio 16:9
main debug: direct render, mapping render pictures 0-6 to system
pictures 1-7
main debug: waiting for thread completion
main debug: thread 4320 (video output) created at priority 1
(src/video_output/video_output.c:443)
main warning: dts != current_pts (398162)
main warning: backward_pts != current_pts (-33367)
main warning: late picture skipped (104853)
main debug: stream periodicity changed from B[1] to B[2]
main debug: stream periodicity changed from P[5] to P[4]
main warning: dts != current_pts (-27878)
ts warning: discontinuity received 0x0 instead of 0x9
main debug: decoded 89/103 pictures
ts warning: discontinuity received 0x4 instead of 0xd
main debug: decoded 105/105 pictures
main debug: decoded 105/105 pictures
main debug: decoded 105/105 pictures
ts debug: eof ?
main debug: EOF reached
main debug: waiting decoder fifos to empty
main warning: late picture skipped (213877)
main warning: late picture skipped (114007)
main debug: closing input
ts debug: pid list:
ts debug:   - pid[0] seen
ts debug:   - pid[66] seen
main debug: unlocking module "libmpeg2"
main debug: thread 3388 joined (src/input/decoder.c:189)
main debug: killing decoder fourcc `mpgv', 0 PES in FIFO
main warning: Program doesn't contain anymore ES, TODO cleaning ?
ts debug:   - pid[68] seen
main debug: unlocking module "ts"
main debug: unlocking module "access_file"
main debug: thread 3196 joined (src/input/input.c:290)
main debug: garbage collector destroying 1 vout
vout_directx debug: DirectXCloseSurface
vout_directx debug: DirectXCloseDisplay
vout_directx debug: DirectXCloseDisplay clipper
vout_directx debug: DirectXCloseDisplay display
vout_directx debug: DirectXCloseDDraw
vout_directx debug: CloseVideo
vout_directx debug: DirectXEventThread terminating
vout_directx debug: DirectXCloseWindow
vout_directx debug: WinProc WM_DESTROY
main debug: thread 4256 joined (directx.c:447)
main debug: unlocking module "vout_directx"
main debug: thread 4320 joined (src/video_output/video_output.c:483)


Thanks,
- Harshal

-- 
This is the streaming mailing-list, see http://www.videolan.org/streaming/
To unsubscribe, please read http://www.videolan.org/support/lists.html



More information about the streaming mailing list