missing VOL causing long delay in starting stream decoding

About encoding, codec settings, muxers and filter usage
evd
Blank Cone
Blank Cone
Posts: 13
Joined: 19 Jan 2008 01:52

missing VOL causing long delay in starting stream decoding

Postby evd » 20 Jan 2008 01:00

Hello

I am making an interesting observation, for which I hope someone has an explanation:

Summary:
I'm using vlc version 0.8.6d, running as a stream server on a FreeBSD 6.3-PRERELEASE host, and running as a player on Windows XP and FreeBSD hosts.
1. If I connect a VLC player directly to the MPEG4 stream (via rtsp) of an Axis 207W IP camera, everything works fine. The video stream becomes visible immediately after connecting to the stream.
2. However, if I go through a VLC streaming server (via http), it takes 20 to 120 seconds before I see the video stream, after that everything works fine.

The camera is working at about 3fps and the GOV=50. If I assume that the vlc player needs to wait for the next I-frame (assuming no buffering in the vlc server) I would expect to see the video stream after max. 50/3=17 seconds, instead of the 20 to 120 seconds that I observe.
Reducing the GOV value does reduce, as expected, the time it takes before the video stream becomes visible.

Details:
1. [camera] -----(rtsp)-----> [vlc player]
vlc player connecting to network stream rtsp://192.168.1.26:554/mpeg4/media.amp
most important messages vlc player:
main debug: looking for access_demux module: 1 candidate
main debug: using access_demux module "live555"
main debug: looking for decoder module: 26 candidates
main debug: using decoder module "ffmpeg"
ffmpeg debug: ffmpeg codec (MPEG-4 Video) started
main debug: looking for video output module: 7 candidates
main debug: using video output module "xvideo"
<now the video stream starts becoming visible>

2. [camera] -----(rtsp)-----> [vlc server] -----(http) -----> [vlc player]
vlc server input: rtsp://@192.168.1.26:554/mpeg4/media.amp
vlc server output: #standard{access=http{user=testuser,pwd=testpwd},mux=ts,dst=:8084}
vlc player connecting to network stream http://testuser:testpwd@192.168.1.27:8084
most important messages vlc server:
main debug: looking for sout stream module: 1 candidate
main debug: using sout stream module "stream_out_standard"
main debug: looking for sout access module: 1 candidate
main debug: using sout access module "access_output_http"
main debug: looking for sout mux module: 1 candidate
main debug: using sout mux module "mux_ts"
main debug: looking for access_demux module: 1 candidate
main debug: using access_demux module "live555"
main debug: looking for packetizer module: 17 candidates
main debug: using packetizer module "packetizer_mpeg4video"
packetizer_mpeg4video debug: opening with vol size: 30
most important messages vlc player:
main debug: looking for access_demux module: 0 candidates
main debug: looking for access2 module: 8 candidates
main debug: using access2 module "access_http"
main debug: looking for demux2 module: 45 candidates
main debug: using demux2 module "ts"
main debug: looking for decoder module: 26 candidates
main debug: using decoder module "ffmpeg"
ffmpeg debug: ffmpeg codec (MPEG-4 Video) started
main debug: looking for packetizer module: 17 candidates
main debug: using packetizer module "packetizer_mpeg4video"
packetizer_mpeg4video warning: waiting for VOL
......<this warning is repeated during 20 to 120 seconds>........
packetizer_mpeg4video warning: waiting for VOL
packetizer_mpeg4video warning: waiting for VOL
packetizer_mpeg4video warning: waiting for VOL
packetizer_mpeg4video warning: waiting for VOL
main debug: looking for video output module: 7 candidates
main debug: using video output module "xvideo"
<now the video stream starts becoming visible>

I see one big difference between connecting the vlc player directly, or via the vlc server, to the IP camera:
if the connection is made via the vlc server, the system makes use of a packetizer module as follows:
* the vlc streaming server is opening the packetizer with a VOL size of 30
* the vlc player keeps waiting for VOL for 20 to 120 seconds (if GOV=50 in the camera)
* the vlc player keeps waiting for VOL for 5 to 20 seconds (if GOV=10 in the camera)

Does anybody have an explanation for this behavior? Obviously my goal is to to see the videostream becoming visible immediately after connecting the vlc player to the vlc streaming server (like a direct connection). Can anybody advice how to achieve this?

Cheers .......... Erik

Return to “VLC stream-output (sout)”

Who is online

Users browsing this forum: No registered users and 4 guests