Re-stream Motion JPEG network connected webcam via GStreamer-RTSP (RFC2435) - pipeline help

Matt Thyer matt.thyer at gmail.com
Wed Mar 6 01:41:45 UTC 2019


Dear GStreamer developers,

I'm trying to re-stream a Motion-JPEG stream via the GStreamer RTSP server
(i.e. RFC2435 extension to RTSP) but am having trouble with my pipeline.
The video source is an "i-Spy Tank" by HappyCow. See:
https://www.youtube.com/watch?v=p-_fnMRzcKE
There's a blog on accessing this tank's video, turret and track controls
here: https://devblog.kogan.com/blog/hacking-the-wifi-spy-tank
Think of it as a simple WiFi connected web camera where the device presents
as an open wireless access point.
The Motion JPEG video stream is at: http://10.10.1.1:8196/ (not port 9876
as the devblog confusingly says!).

VLC tells me that the stream is:
   Codec: Motion JPEG (MJPG)
   Resolution: 640x480
   Display resolution: 640x480
   Decoded format: Planar 4:2:2 YUV full scale

What's working:
I've successfully saved the individual JPEG frames with the following
pipeline:
gst-launch-1.0 -e souphttpsrc location=http://10.10.1.1:8196/ !
multipartdemux ! image/jpeg,width=640,height=480 ! multifilesink
location=frame%05d.jpeg

What's not working:
I'm unable to re-stream using GStreamer RTSP so far...
I've tried pipelines: "souphttpsrc location=http://10.10.1.1:8196/ !
multipartdemux ! rtpjpegpay"
and: "souphttpsrc location=http://10.10.1.1:8196/ do-timestamp=true !
multipartdemux ! image/jpeg,width=640,height=480 ! rtpjpegpay"
But both of these pipelines fail with error:
"FIXME              rtspmedia rtsp-media.c:3835:gst_rtsp_media_suspend:
suspend for dynamic pipelines needs fixing"
(When run with GST_DEBUG="*:3").
My understanding of this error is that it's due to a capabilities mismatch
between elements.
Is this the case?

I've seen some people use "avdec_mjpeg" and then re-encode but I'd rather
not go to that extreme... If it's incompatible or missing capabilities, how
can I artificially provide these caps without transcoding?

Matt Thyer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20190306/0753494b/attachment.html>


More information about the gstreamer-devel mailing list