Reduce Stream Delay

About encoding, codec settings, muxers and filter usage
geogauci
New Cone
New Cone
Posts: 8
Joined: 17 Jul 2008 13:44

Reduce Stream Delay

Postby geogauci » 12 Mar 2009 15:47

Hi. I need to transmit a video stream having a delay as low as possible. I'm using MPEG4. How can I tell the transcoder not to use B frames or to use for example IPBPIPBPI....
Does anyone has got any ideas how could I reduce the delay further?

trok
Blank Cone
Blank Cone
Posts: 70
Joined: 09 Jun 2008 22:36

Re: Reduce Stream Delay

Postby trok » 12 Mar 2009 16:02

Begin with number 1. If it's not enougth add number 2 and finish with number 3.

1 - Reduce bitrates of video and audio. (vbitrate, abitrate)
2 - Transmit sound as mono. (channels)
3 - Transmit video in black and white. (?)

geogauci
New Cone
New Cone
Posts: 8
Joined: 17 Jul 2008 13:44

Re: Reduce Stream Delay

Postby geogauci » 12 Mar 2009 16:20

Both audio and video bitrates are already pretty low. Removing B-frames would reduce the delay quite a bit as well, but I can't find the how in the documentation.

popper
Blank Cone
Blank Cone
Posts: 25
Joined: 17 Oct 2008 20:55

Re: Reduce Stream Delay

Postby popper » 14 Mar 2009 23:37

Hi. I need to transmit a video stream having a delay as low as possible. I'm using MPEG4. How can I tell the transcoder not to use B frames or to use for example IPBPIPBPI....
Does anyone has got any ideas how could I reduce the delay further?
see http://www.videolan.org/doc/streaming-h ... /ch10.html
and http://www.videolan.org/doc/streaming-h ... /ch03.html

"transcode :
Note
Depending on the bitrate of the original stream and of the options chosen, transcoding can be a very CPU intensive task. As a consequence, streaming of a real time transcoded stream can lead to dropped frames or a jerky image and sound in some cases, when running out of resources.
"
"venc=
This allows to set the encoder to use to encode the videos stream. Available options are:

ffmpeg: this is the libavcodec encoding module. It handles a large variety of different codecs (the list can be found on the streaming features page.

Item options are: keyint=<number of frames> allows to set the maximal amount of frames between 2 key frames, hurry-up allows the encoder to decrease the quality of the stream if the CPU can't keep up with the encoding rate, interlace allows to improve the quality of the encoding of interlaced streams, noise-reduction=<noise reduction factor> enables a noise reduction algorithm (will decrease required bitrate at the cost of details in the image), vt=<bitrate tolerance in kbit/s> allows to set a tolerance for the bitrate of the outputted video stream, bframes=<amount of frames> allows to set the amount of B frames between 2 key frames, qmin=<quantizer> allows to set the minimum quantizer scale, qmax=<quantizer> allows to set the maximum quantizer scale, qscale=<quantizer scale> allows to specify a fixed quantizer scale for VBR encodings, i-quant-factor=<quantization factor> allows to set the quantization factor of I frames, compared to P frames, hq=<quality> allows to choose the quality level for the encoding of the motion vectors (arguments are simple, rd or bits, default is simple *FIXME*), strict=<level of compliance> allows to force a stricter standard compliance (possible values are -1, 0 and 1, default is 0), strict-rc enables a strict rate control algorithm, rc-buffer-size=<size of the buffer in bits> allows to choose the size of the buffer used for rate control (bigger means more efficient rate control), rc-buffer-aggressivity=<float representing the aggressiveness> allows to set the rate control buffer aggressiveness *FIXME*, pre-me allows to enable pre motion estimation, mpeg4-matrix enable use of the MPEG4 quantization matrix with MPEG2 streams, improving quality while keeping compatibility with MPEG2 decoders, trellis enables trelli quantization (better quality, but slower processing).

theora: The Xiph.org theora encoder. The module is used to produce theora streams. Theora is a free patent and royalties free video codec.

The only available item option is quality=<quality level>. This option allows to create a VBR stream, overriding vb setting. the quality level must be an integer between 1 and 10. Higher is better.

x264. x264 is a free open-source h264 encoder. h264 (or MPEG4-AVC) is a quite recent high quality video codec.

Item options are: keyint=<number of frames> allows to set the maximal amount of frames between 2 key frames, idrint=<number of frames> allows to set the maximal amount of frames between 2 IDR frames, bframes=<amount of frames> allows to set the amount of B frames between an I and a P frame, qp=<quantizer parameter> allows to specify a fixed quantizer (between 1 and 51), qp-max=<quantizer parameter> allows to set the maximum value for the quantizer, qp-min=<quantizer parameter> allows to set the minimum value for the quantizer, cabac enables the CABAC (Context-Adaptive Binary Arithmetic Coding) algorithm (slower, but enhances quality), loopfilter enables deblocking loop filter, analyse enables the analyze mode, frameref=<amount of frames> allows to set the number of previous frames used as predictors, scenecut=<sensibility< allows to control how aggressively the encoder should insert extra I-frame, on scene change.
"


Return to “VLC stream-output (sout)”

Who is online

Users browsing this forum: No registered users and 3 guests