1

My apologies in advance for violating any etiquette / rules regarding posting in SuperUser. This is my first post.

First of all, I am a streaming video amateur -- the solution I have "cobbled" together is just from googling various websites.

Secondly, I'm not tied to any of the architecture I've selected (with the exception of Fedora being the streaming source). VLC / windows can all go out the window if people have better solutions. Paid solutions are also welcome, but open source is preferred.

I have 6 testing stations where people take tests, and I'd like to monitor them using two C920 Logitech Webcams. The tests are run on Fedora and it'd be nice to leverage the same computers to stream the webcams. All systems are run on a 1 gigabit network.

To setup the gstreamer, I researched the examples setup by OZ9AEC on his website:

http://www.oz9aec.net/index.php/gstreamer/487-using-the-logitech-c920-webcam-with-gstreamer-12

I went with the v4l2src approach.

Launching the streams

So, to stream the two cameras, I run the following commands.

gst-launch-1.0 v4l2src device=/dev/video1 ! video/x-h264,width=1280,height=720,f ramerate=30/1 ! h264parse ! rtph264pay config-interval=3 ! multiudpsink clients= 192.168.2.57:2511,127.0.0.1:2511

gst-launch-1.0 v4l2src device=/dev/video2 ! video/x-h264,width=1280,height=720,f ramerate=30/1 ! h264parse ! rtph264pay config-interval=3 ! multiudpsink clients= 192.168.2.57:2512,127.0.0.1:2512

According to my limited understanding of gstreamer, this should stream to two UDP clients -- my windows machine and my localhost

Launching a local receiver

To verify that things are actually broadcasting, I launched two local gstreamer clients locally on the same machine.

gst-launch-1.0 udpsrc port=2511 caps='application/x-rtp, media=(string)video, cl ock-rate=(int)90000, encoding-name=(string)H264' ! rtph264depay ! avdec_h264 ! a utovideosink fps-update-interval=1000 sync=false

gst-launch-1.0 udpsrc port=2512 caps='application/x-rtp, media=(string)video, cl ock-rate=(int)90000, encoding-name=(string)H264' ! rtph264depay ! avdec_h264 ! a utovideosink fps-update-interval=1000 sync=false

I launched these commands and two video screens show up, streaming the videos.

Launching my monitoring station

The next step is to use VLC to monitor my 12 webcams.

I setup 12 sdp files, each one to represent each of my streams

https://stackoverflow.com/questions/13154983/gstreamer-rtp-stream-to-vlc

I choose VLC because it has a nice button to record the stream at any time, so we can not monitor, but also record when we want to.

Here are two sample sdp files:

192.168.124.1_2511.sdp

v=0 c=IN IP4 192.168.124.1 s=ESP H264+AAC STREAM m=video 2511 RTP/AVP 96 a=rtpmap:96 H264/90000 a=fmtp:96 media=video; clock-rate=90000; encoding-name=H264;

192.168.124.1_2512.sdp

v=0 c=IN IP4 192.168.124.1 s=ESP H264+AAC STREAM m=video 2512 RTP/AVP 96 a=rtpmap:96 H264/90000 a=fmtp:96 media=video; clock-rate=90000; encoding-name=H264;

Now things get fishy

If I launch VLC and open the sdp files, only the first one opened will actually connect and show a stream.

The second VLC window will simply give up and time out.

If I launch the 192.168.124.1_2511 first, then 192.168.124.1_2512 will fail.

If I launch the 192.168.124.1_2512 first, then 192.168.124.1_2511 will fail.

However, so with 6 stations, I get only 6 video streams, not 12.

The current work around is to buy a second monitoring system and just stream 192.168.124.1_2511 to one and 192.168.124.1_2512 to the other, but this doesn't scale well, because we have more than a single monitoring station, so instead of 3 computers for 3 monitoring stations, we need 6 computers. Each computer is setup with high end graphics cards, so the costs increase quickly.

Perhaps the issues are with the gstreamer and I'm pushing too much data over my network? Any advice on reducing the network load is also welcome.

My apologies again if I have made any mistakes in my post or violated posting etiquette.

Many thanks in advance, and happy Thanksgiving from the U.S.,

DrDeveloper

0

You must log in to answer this question.

Browse other questions tagged .