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:
Any ideas of what may cause this?
Any pointers would be of great help.
Thank you
Best Regards
Solved! Go to Solution.
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
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?
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