Video Streaming Server
Sat Aug 12 12:46:48 CEST 2006
I'm a newbie to Erlang and I'm from China. So sorry for my poor English.
I'm evaluating to reimplement our video streaming server in
Erlang(which is implemented in C++ now).Basically, it relays real-time
video stream from video encoding devices to many concurrent users.
The reasons I choose Erlang are:
1. Reliability: I think no other languages can beat Erlang in this
area.Our video streaming server is part of a surveillance management
system, so reliability is critical
2. Clusting: Servers may be distributed in very large surveillance
network, and will server many front video devices(for example, 10000
DVR,DVS in a large city).
3. Mass Concurrent ability: Many users will connect to server and
watch real-time video stream.
4. Portability: Server may be installed on Windows(small network) or
Linux(middle scale) or Unix(large scale, whole city).
5. Productivity. Functional declarative languages are more productive
than imperative languages (such as C++)。
But I have some questions:
1. We need connect to many different kinds of video devices, some of
these device vendors provide communication protocols to us, and we can
implement them in native Erlang code. But some vendors only provide
SDK(no source code), so should we use linked-in Port Drivers? And If
SDK use native OS thread, are there any problems?If there are, How can
we get out of these problems? or What is the best way to use these
SDKs in Erlang?
2. Video streaming need long connection, I know Yaws can server mass
short connections, and jabber protocol also doesn't need long
connection.So are there any good examples to study ,or any
Any suggestion is welcome.Thank you!
More information about the erlang-questions