Stream parallel camera OV5640 on SabreLite

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Stream parallel camera OV5640 on SabreLite

Jump to solution
1,812 Views
philippeballeyd
Contributor IV

Hi everyone.

I've built the image fsl-image-multimedia (dizzi branch) on the BD-SabreLite and i'm trying to stream the OV5640 camera (port J5) over the the network

Here is the 2 gstreamer commands i'm using:

- Sender:

gst-launch v4l2src device=/dev/video0 ! 'video/x-raw-yuv,width=1280,height=720,framerate=30/1' ! ffmpegcolorspace ! vpuenc codec=6 ! rtph264pay ! udpsink host=192.168.20.31 port=5000

- Receiver:

gst-launch udpsrc port=5000 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, payload=(int)96, encoding-name=(string)H264" ! rtph264depay ! ffdec_h264 ! xvimagesink

This seems to work, but not correctly

See in attachment a screenshot of what it looks like:

Screenshot from 2014-10-30 11_59_46.png

Any ideas of what may cause this?

Any pointers would be of great help.

Thank you

Best Regards

Labels (3)
Tags (3)
1 Solution
1,158 Views
philippeballeyd
Contributor IV

Found the solution.

Sender:

gst-launch mfw_v4lsrc capture-mode=4 rotate=3 fps-n=30 fps-d=1 ! ffmpegcolorspace ! vpuenc codec=6 ! rtph264pay ! udpsink host=192.168.20.31 port=5000

Receiver

gst-launch udpsrc port=5000 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, payload=(int)96, encoding-name=(string)H264" ! rtph264depay ! ffdec_h264 ! xvimagesink

View solution in original post

0 Kudos
Reply
2 Replies
1,158 Views
philippeballeyd
Contributor IV

I managed to make it work by using the following gstreamer commands:

Sender:

gst-launch mfw_v4lsrc capture-mode=4 rotate=3 fps-n=30 fps-d=1 ! vpuenc codec=12 ! tcpserversink host=192.168.20.31 port=5000

Receiver:

gst-launch tcpclientsrc host=192.168.20.43 port=5000 ! jpegdec ! autovideosink

But now i'm having issues to encode it with h264

For that i'm using the following commands:

Sender:

gst-launch mfw_v4lsrc capture-mode=4 rotate=3 fps-n=30 fps-d=1 ! ffmpegcolorspace ! vpuenc codec=6 ! tcpserversink host=192.168.20.31 port=5000

Receiver:

gst-launch tcpclientsrc host=192.168.20.43 port=5000 ! ffdec_h264 ! xvimagesink

I'm getting the following error:

Setting pipeline to PAUSED ...

Pipeline is PREROLLING ...

ERROR: from element /GstPipeline:pipeline0/ffdec_h264:ffdec_h2640: Internal GStreamer error: negotiation problem.  Please file a bug at http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer.

Additional debug info:

gstffmpegdec.c(2804): gst_ffmpegdec_chain (): /GstPipeline:pipeline0/ffdec_h264:ffdec_h2640:

ffdec_h264: input format was not set before data start

ERROR: pipeline doesn't want to preroll.

Setting pipeline to NULL ...

Freeing pipeline ...

Any ideas?

0 Kudos
Reply
1,159 Views
philippeballeyd
Contributor IV

Found the solution.

Sender:

gst-launch mfw_v4lsrc capture-mode=4 rotate=3 fps-n=30 fps-d=1 ! ffmpegcolorspace ! vpuenc codec=6 ! rtph264pay ! udpsink host=192.168.20.31 port=5000

Receiver

gst-launch udpsrc port=5000 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, payload=(int)96, encoding-name=(string)H264" ! rtph264depay ! ffdec_h264 ! xvimagesink

0 Kudos
Reply