Working udp video stream pipeline giving headache on beaglebone black

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Working udp video stream pipeline giving headache on beaglebone black

Juha Lumme
Hi,

I have compiled gstreamer 1.9.2 for both x86 and arm from the same source, and I am trying to test some video streaming over udp. 
I have a working test pipeline on my desktop Linux for sending video from a usb video capture device:
gst-launch-1.0 -vv v4l2src device=/dev/video1 ! 'video/x-raw, width=320, height=240'  ! videoconvert ! x264enc pass=qual quantizer=40 tune=zerolatency ! rtph264pay ! udpsink host=192.168.1.10 port=5000
The stream creation output can be seen here:

I can receive this video fine on my desktop with following udpsrc:
gst-launch-1.0 -vv udpsrc port=5000 ! 'application/x-rtp,payload=127' ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! xvimagesink sync=false

Now if I move over to my beaglebone black, and I attempt the same pipeline (except /dev/video0 instead of 1 because there is no webcam), creation of pipeline looks exactly the same:

But actually nothing is happening on the receiving end. Both of the systems have almost same amount of plugins, and at least the ones Im using in the pipeline exist on both systems. 
Is there some way to get more debug information from the stream to find out what might be wrong ?

Also, is there some specific video encoders I should be using for optimum performance ? Or will beaglebone be powerful enough to encode at least 320*240 resolution video ?

Thanks for any advice,
Juha


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Working udp video stream pipeline giving headache on beaglebone black

Nicolas Dufresne-5

Le 30 sept. 2016 5:32 PM, "Juha Lumme" <[hidden email]> a écrit :
>
> Hi,
>
> I have compiled gstreamer 1.9.2 for both x86 and arm from the same source, and I am trying to test some video streaming over udp. 
> I have a working test pipeline on my desktop Linux for sending video from a usb video capture device:
> gst-launch-1.0 -vv v4l2src device=/dev/video1 ! 'video/x-raw, width=320, height=240'  ! videoconvert ! x264enc pass=qual quantizer=40 tune=zerolatency ! rtph264pay ! udpsink host=192.168.1.10 port=5000

You might want to add a caps filter after the encoder to control the h264 profile. By default it produce high, which require more cpu. You may also consider controlling the bitrate.

> The stream creation output can be seen here:
> http://paste.ubuntu.com/23257378/
>
> I can receive this video fine on my desktop with following udpsrc:
> gst-launch-1.0 -vv udpsrc port=5000 ! 'application/x-rtp,payload=127' ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! xvimagesink sync=false

Instead of disabling the synchronization, you should probable add an rtpjitterbuffer after udpsrc, and control it's latency property, so it gives enough time for the packets to reach your PC.

>
> Now if I move over to my beaglebone black, and I attempt the same pipeline (except /dev/video0 instead of 1 because there is no webcam), creation of pipeline looks exactly the same:
> http://paste.ubuntu.com/23257385/
>
> But actually nothing is happening on the receiving end. Both of the systems have almost same amount of plugins, and at least the ones Im using in the pipeline exist on both systems. 
> Is there some way to get more debug information from the stream to find out what might be wrong ?

Sure, GStreamer have a extensive tracing system, controlled by GST_DEBUG environment. See:

https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gst-running.html

>
> Also, is there some specific video encoders I should be using for optimum performance ? Or will beaglebone be powerful enough to encode at least 320*240 resolution video ?

That I don't know, though using an HW accelerated encoder or an encoding camera could certainly help if performance is the problem.

>
> Thanks for any advice,
> Juha
>
>
> _______________________________________________
> gstreamer-devel mailing list
>[hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel