Page 1 of 1

VLS and multicast problem

Posted: 01 May 2004 22:39
by Guest
Hi there,

for the last couple of nights I've been trying to set up VLS (on a 2.4.21 linux) to multicast a DVB-signal to VLC, running on a W2K client, but I simply don't get the installation working the way I want it to work.
Maybe someone has some hints for me...

The server system consists of the following components:

(SusE-)Linux 2.4.21
Technisat SkyStar2
LinuxTV dvb driver set (v1.1.1 CVS branch for the 2.4.x kernel modules)
vls-0.5.6
libdvb-0.2.2
libdvbpsi3-0.1.4
... and the libs to enable dvd-streaming, which are (hopefully) not linked to the problems I have got here.

The kernel modules work as expected since I can watch TV using xine and szap.
Therefore I assume that I don't have any hardware problems.

With VLS I have also managed to set up a fairly simple unicast streaming, by using the command line directives:

vls -vv -d udp:192.168.1.70 dvb:ZDF --ttl 12

VLS starts without any (critical) error messages and I can decode the MPEG-stream using the VLC player on Windows. No problems at all.

But that's not really the way you want to start and configure VLS! So I setup a vls.cfg in order to be able to watch some more streams and here the problems begin.
In a first step I tried to setup a simple multicast configuration: only one input, one channel and a command line to start the streaming:

<...>

# Streams sources declaration
BEGIN "Inputs"
TV = "dvb" # input == DVB
END


# Video input (DVB) configuration
BEGIN "TV"
DeviceNumber = "0" # /dev/dvb/adapter<i>
SendMethod = "0" # 0 - Send All Pids
# 1 - Send only MPEG2 datas
END

# Channel (outputs) declaration
BEGIN "Channels"
TVChannel = "network" # An output for network streaming
END


BEGIN "TVChannel" # TVChannel shall be of
Type = "multicast" # type multicast
TTL = "12" # and Time To Live == 12.
SrcHost = "192.168.1.60" # Source address of stream
SrcPort = "1234" # source port
END


#Finally we connect inputs with channels and hence build a streamings server
# start <program> <channel> <input>
BEGIN "LaunchOnStartUp"
command1 = "start ZDF TVChannel TV"
END

I guess everything looks fine here, but when vls starts I get the following error messages:


2004-05-01 21:49:03 [ERROR/tv] Unable to start program ZDF
2004-05-01 21:49:03 [ERROR/tv] Error: Unable to create thread
Error: Unable to init streamer
Error: Net4Output initialisation failed
Error: Unknown host:

There is no streaming and even worse, when I try to shutdown the server, VLS crashes giving the whole box a huge work load. Eventually VLS stops with a segmentation fault... .

Does anyone have clue what these kind of error messages mean ? It doesn't really tell you what the problem is and I haven't found anything about it in the groups and mailing lists either...

Greetings
Bernie

Posted: 03 May 2004 12:35
by markfm
Where is destination host defined (DstHost), the place where you put in a multicast address?
I don't use VLS, just VLC, but there is a VLS guide, and it has sample configuration sections for different things, including multicast.
http://videolan.org/doc/

Posted: 04 May 2004 16:23
by Bernie
Hi,
Where is destination host defined (DstHost), the place where you put in a multicast address?
Ok, ok, ok. Maybe the problem is linked to my lack of understanding the mechanisms unicast and multicast.
I hope I don't embarras myself, but multicast means a single host sends data to multihosts, right ?

Why do I need a dstHost for multicasting then ?

You are right, I've ommitted the dstHost parameter in the TVChannel section.
It's possible to specify it, though...

Greetings,
Bernie

Posted: 06 May 2004 12:45
by markfm
It's just TCP/IP stuff.
Any time you want to send packets out, you should pick an address -- where the packets are supposed to go.
You can use a unicast, point-to-point addresss, which is the address of a specific other machine. Otherwise you can use a multicast address. A multicast address is one in the 224.0.x.x - 239.255.x.x address range.
http://www.winnetmag.com/Windows/Articl ... /5052.html
Generally, if you're testing locally, try a multicast address of 239.x.y.z, say 239.10.20.30. Then, anyone who wishes to view the stream "signs up" to that address, puts that in their instance of VLC as the UDP address they want to receive data on.

Posted: 06 May 2004 22:11
by Bernie
That's it,

it's all about TCP/IP, indeed. I finally got it working. 8)
(and I know a bit more about *casting...)

I altered vls.cfg to the following

BEGIN "TVChannel" # TVChannel shall be of
Type = "multicast" # type multicast
TTL = "12" # and Time To Live == 12.
SrcHost = "239.10.20.254" # Source address of stream
SrcPort = "1234" # source port
DstHost = "239.10.20.1" # Destination Port
END

and vls started without any errors. I guess altering SrcHost to the multicast address space is optional, if server and client are hooked up the same network switch/hub...

Thanks for your help !
Bernie

how about ipv6 muticast?

Posted: 03 Jul 2004 06:18
by efm99
>>... if you're testing locally, try a multicast address of 239.x.y.z, say 239.10.20.30. Then, anyone who wishes to view the stream "signs up" to that address, puts that in their instance of VLC as the UDP address they want to receive data on.

can i do the same for ipv6 multicasting?
(e.g. src address = ff02::1)

thx

Posted: 18 Apr 2006 16:04
by HBiT
BEGIN "1" # MPEG2 stream stored in /home/videolan/streams/Dolby.vob
Name = "avi"
FileName = "/home/hbit/v/1.avi"
Type = "Mpeg2-PS"
END
....
BEGIN "multicast" # multicast example
Type = "multicast"
TTL = "12" # Time To Live
SrcHost = "239.10.20.254" # Source address of stream
SrcPort = "8000" # source port
DstHost = "239.10.20.30" # multicast address
DstPort = "8000" # destination port
END
....
command2 = "start avi multicast local1"
>>>

Looping in Synch !!!!!!!!! (buffer size=188)
...many...many
Looping in Synch !!!!!!!!! (buffer size=188)
Looping in Synch !!!!!!!!! (buffer size=188)
2006-04-18 20:59:45 [ERROR/local1] Unable to start program avi
2006-04-18 20:59:45 [ERROR/local1] Error: unable to start streaming of program avi
Error: Unable to create thread
Error: PS to TS converter failed to start


Looping in Synch !!!!!!!!! (buffer size=188) help! what is this?
and why don't work multicast?

Posted: 18 Apr 2006 16:36
by HBiT
if i do

BEGIN "1" # MPEG2 stream stored in /home/videolan/streams/Dolby.vob
Name = "avi"
FileName = "/home/hbit/v/1.avi"
Type = "Mpeg2-TS" # was PS
END

Looping in Synch !!!!!!!!! (buffer size=188)
i don't have

and vlsd bind
udp 0 0 239.10.20.254:8000 0.0.0.0:*
why he work on srchost ???

BEGIN "multicast" # multicast example
Type = "multicast"
TTL = "12" # Time To Live
SrcHost = "239.10.20.254" # Source address of stream
SrcPort = "8000" # source port
DstHost = "239.10.20.30" # multicast address
DstPort = "8000" # destination port
END

P/S/ Вообщем как по http мультикастом раздавать видео!?!??
комрады не дайте сгинуть!!!

Posted: 26 Jul 2006 02:42
by KOL
P/S/ Вообщем как по http мультикастом раздавать видео!?!??
комрады не дайте сгинуть!!!
Плакал, как ребенок : )))