Page 1 of 1

Broadcasting at multiple bitrates ?

Posted: 08 Dec 2004 15:33
by max77
I have a TV card (bt848-based) connected to external DVB receiver. I need to set up a broadcast server which is to stream at several different bitrates.
Is that possible with VLC ? What about hardware sharing ?

Thanx in advance.

PS. Fedora Core 2, VLC 8.1

Posted: 08 Dec 2004 19:50
by markfm
I haven't heard of HW sharing being available, though do not know Linux.

One possibility is to have the higher bitrate stream be the primary. It streams to whatever clients want/need it, plus to a second local VLC. Launch a second copy of VLC on the first machine, configured as a client to the initial higher rate stream, re-transcoding to the lower bitrate. You'll have a bit of lag from the first stream to the second -- roughly 600 ms likely, though that should be a don't care for end clients, who would only sign up to either the higher rate or the lower rate streams.

The processor penalty will be one extra set of decoding, as the second instance of VLC brings the first VLC stream back to baseband before re-enoding at the lower rate.

(this is not "classic" MBR delivery, but does allow you to serve a given source at two rates, using either different addresses or different ports).

multiple bitrates

Posted: 09 Dec 2004 15:22
by pha
use ffserver from ffmpeg 0.4.8, it can encode multiple bitrates from v4l device and even supports multiple audio sample rates and distribute streams with vlc, that's what i found works best

Posted: 09 Dec 2004 21:05
by max77
ok, i managed to set up 3 different bitrates, but i had to use 3 different ports.

eg.
mms://my.server:1234 for 160 kbps
mms://my.server:1235 for 384 kbps
and so on...

this is wrong.
i would prefer something like that:
mms://my.server:1234/stream160.asf
mms://my.server:1234/stream384.asf

but when i try to make vlc use the same port for 2 streams it simply doesn't start the second stream saying "cannot bind socket". looks like it starts one listening process for each stream instead of starting ONE listening process and forking on client's request.

as for ffmpeg - yes, i used it, but unfortunately its streaming capabilities are not acceptable for me.

Posted: 09 Dec 2004 21:24
by markfm
Try the IRC, see if Trax or E-bola know anything that can help.

Posted: 17 Dec 2004 01:16
by viron
Hi Maxx77,
You can not ask a computer to perform miracles,

There is a Network Layer format all network protocolls have to apply with.

MMS is a proprietary application-layer protocol developed by Microsoft
MMS uses the TCP protocoll or UDP protocol

Tcp/Ip is one of them. Sockets belong to layer 4 , Transport layer.
Microsoft Media Server, with UDP-based transport (MMSU)
Microsoft Media Server, with TCP-based transport (MMST)

TCP establishes connections between two hosts on the network through 'sockets' which are determined by the IP address and port number. TCP keeps track of the packet delivery order and the packets that must be resent. Maintaining this information for each connection makes TCP a stateful protocol.

UDP on the other hand provides a low overhead transmission service, but with less error checking

So if you use TCP you have to have different sockets for different connections.

Regards,
Viron.