Gstreamer playbin cannot play IPCamera mjpeg rtsp 2048x1534 - gstreamer

Gstreamer playbin cannot play my IPCamera mjpeg rtsp with 2048x1534 resolution:
gst-launch-1.0 -v playbin uri=rtsp://admin:admin#192.168.1.100:554/1/1
It shows the following WARNING message:
WARNING: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstRtpJPEGDepay:rtpjpegdepay0: Invalid Dimension 0x1536.
I have also test the following pipeline to force video size:
gst-launch-1.0 -v rtspsrc location=rtsp://admin:admin#192.168.1.100:554/1/1 ! application/x-rtp,media="video",width=2048,height=1536 ! rtpjpegdepay ! jpegdec ! autovideosink
but it complains similar WARNING message.
It should be note that when I change my video encoding to H.264 from camera panel everything is OK with playbin!

Related

How to stream motion (jpeg) images/data from folder in C++ using Gstream lib?

i am trying to play sequence of image(.jpeg) from my local folder to play as h264 video in VLC player through local host connection.
I am using Gstreamer lib to stream support and i am using from test-launch.c from github samples
OS : Linux 18.04
Gstremer ver: 1.14.2 Building from source using Cerbero
Following command is used to set the parser
multifilesrc location=/home/user/Downloads/gen/img.%4d.jpeg loop=true caps=image/jpeg,framerate=10/1 ! jpegdec ! x264enc ! h264parse ! rtph264pay name=pay0 pt=96
but no streaming happening insted i can see a error like below
(Gstremer_img2vid2:21273): GStreamer-CRITICAL **: 15:57:21.547: gst_bin_get_by_name: assertion 'GST_IS_BIN (bin)' failed
0:01:26.143446201 21273 0x55555592b850 ERROR rtspclient rtsp-client.c:3105:handle_setup_request: client 0x5555559d5260: no control in path '/test'
Any help will be appreciated thanks
You may have to provide size of the frames for jpeg decoding (here using 640x480):
test-launch "multifilesrc location=/home/user/Downloads/gen/img.%4d.jpeg loop=true ! image/jpeg,width=640,height=480,framerate=10/1 ! jpegdec ! x264enc insert-vui=1 ! h264parse config-interval=1 ! rtph264pay name=pay0"
Should be ok for receiving on localhost using vlc:
cvlc rtsp://127.0.0.1:8554/test

GStreamer with USB webcam on Nvidia Jetson Nano

I'm working with AI-Thermometer project using Nvidia Jeton Nano.
The project is using Pi camera v2 for video capturing.
Here's the command of showing video streams using Pi camera v2.
gst-launch-1.0 nvarguscamerasrc sensor_mode=0 ! 'video/x-raw(memory:NVMM),width=3264, height=2464, framerate=21/1, format=NV12' ! nvvidconv flip-method=2 ! 'video/x-raw,width=960, height=720' ! nvvidconv ! nvegltransform ! nveglglessink -e
I want to use the normal USB webcam (such as Logitech c930) instead of Pi camera v2.
To do so, I need to stream the USB webcam data using GStreamer in the same way as above pipeline commands.
I installed v4l-utils on Ubuntu of Jetson Nano. And tried like this,
gst-launch-1.0 v4l2src device="/dev/video0" ! 'video/x-raw(memory:NVMM),width= ...
, but it gave a warning and didn't work.
How can I show video streams from webcam?
There should not quotes around the device parameter i.e. device=/dev/video0. If the error persists, then its probably something else.
gst-launch-1.0 v4l2src device="/dev/video0" ! \
"video/x-raw, width=640, height=480, format=(string)YUY2" ! \
xvimagesink -e

Play Doorbird audio stream with gstreamer

Hy i tried to play a doorbird live audio stream via gstreamer gst-launch.
I found a code snipped in an fhem server script.
It should be possible with the command gst-launch-1.0 filesrc location=<http://12.0.0.231/bha-api/audio-receive.cgi user=xxxx passwd=xxxx> ! wavparse ! audioconvert ! lame ! filesink location=a.mp3
But i get following error: lame not found. if i change lame to lame lamemp3enc i get the error file not found http://12.0.0.231/bha-api/audio-receive.cgi
What do i wrong?

Playing mpeg2ts with Gstreamer-1.0

I am trying to play a .ts file with Gstreamer-1.0 as well as gst-omx have been successfully installed .
Try to play ts video using below command line format but failed to play.
test#test-Gardenia:~/Videos$ gst-launch-1.0 -v filesrc location= mpeg2.ts ! tsdemux ! mpegvideoparse ! omxmpeg2dec ! videoconvert ! ximagesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/GstTSDemux:tsdemux0: Internal data stream error.
Additional debug info:
mpegtsbase.c(1347): mpegts_base_loop (): /GstPipeline:pipeline0/GstTSDemux:tsdemux0:
stream stopped, reason not-linked
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
/GstPipeline:pipeline0/GstTSDemux:tsdemux0.GstPad:audio_0044: caps = "NULL"
Freeing pipeline ...
Tried below command also but not did not work.
test#test:~/Videos$ gst-launch-1.0 filesrc location= mpeg2.ts ! tsdemux ! tsparse ! omxmpeg2dec ! videoconvert ! ximagesink
WARNING: erroneous pipeline: could not link mpegtsparse2-0 to omxmpeg2videodec-omxmpeg2dec0
Can any one help me how to play .ts file with mpeg2 codec format using gstreamer

Problems streaming webcam over UDP with gstreamer as MJPEG stream

First, I have read the following thread, but I want to harness the webcam hardware JPEG compression as opposed to software h264 compression.
Second, I tested the following pipeline and it works:
gst-launch-1.0 -v v4l2src device=/dev/video1 ! 'image/jpeg,width=640,height=480,videorate=8/1' ! jpegdec ! xvimagesink
Then I tried similar pipeline but with udpsink at the end:
gst-launch-1.0 -v v4l2src device=/dev/video1 ! 'image/jpeg,width=640,height=480,videorate=8/1' ! rtpjpegpay ! udpsink host=127.0.0.1 port=1234
Then I tried to play this stream:
gst-launch-1.0 -v udpsrc port=1234 ! "application/x-rtp, payload=96" ! rtpjpegdepay ! jpegdec ! xvimagesink
And it failed with the following errors:
/GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:sink: caps =
image/jpeg, framerate=(fraction)0/1, width=(int)640, height=(int)480
** (gst-launch-1.0:10761): CRITICAL **: gst_adapter_push: assertion 'GST_IS_BUFFER (buf)' failed
** (gst-launch-1.0:10761): CRITICAL **: gst_jpeg_dec_fill_input_buffer: assertion 'dec->current_frame_map.data
!= NULL' failed
Any suggestions?