I'm trying to find a less bandwidth intensive way of streaming video from my Nokia N900's main back camera to my desktop other than sending it as a stream of jpeg frames.
I thought the following would work : N900 : gst-launch v4l2camsrc device=/dev/video0 ! ffmpegcolorspace ! dsph264enc ! tcpserversink host=aleph1.clarkconnect.lan port=5000 PC : gst-launch tcpclientsrc host=192.168.1.179 port=5000 ! ffdec_h264 ! ffmpegcolorspace ! autovideosink but on the PC side I get this 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(2684): 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 ... Might anyone know what is going on above? Thanks, Jonathan _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Sorry for the long reply.
On Thu, Sep 1, 2011 at 1:42 AM, Jonathan Busby <[hidden email]> wrote: > I'm trying to find a less bandwidth intensive way of streaming video from my > Nokia N900's main back camera to my desktop other than sending it as a > stream of jpeg frames. > > I thought the following would work : > > N900 : gst-launch v4l2camsrc device=/dev/video0 ! ffmpegcolorspace ! > dsph264enc ! tcpserversink host=aleph1.clarkconnect.lan port=5000 > > PC : gst-launch tcpclientsrc host=192.168.1.179 port=5000 ! ffdec_h264 ! > ffmpegcolorspace ! autovideosink > > but on the PC side I get this error : ... > Might anyone know what is going on above? Most likely the SPS/PPS is missing, which is kind of expected, you need an rtp payloader, and in the case of h264, there's an option to configure the configuration interval, which is the rate at which SPS/PPS are resent. Cheers. -- Felipe Contreras _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Hi,
I am missing something about how Gstreamer manages states. I have a pipeline that looks roughly like: videosrc-->tee--> queue-->displaySink | ---> queue-->valve When I initially start the pipeline, valve drop is set to true Later I add a couple elements off the valve like so: videosrc-->tee--> queue-->displaySink | ---> queue-->valve-->imageEncoder-->FileSink I set FileSink to PLAYING after it is linked and then open the valve. When FileSink transitions to playing, the whole pipeline goes to PAUSED state and then transitions back to PLAYING. Is this normal and expected? Is there a way to prevent this from happening when I add an element to a PLAYING pipeline? Thanks, Paul _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by Felipe Contreras
>> Might anyone know what is going on above?
> > Most likely the SPS/PPS is missing, which is kind of expected, you > need an rtp payloader, and in the case of h264, there's an option to > configure the configuration interval, which is the rate at which > SPS/PPS are resent. The following pipelines works fine for me with N900 as server and notebook with Debian as client. Server: gst-launch v4l2camsrc device=/dev/video0 ! dsph264enc ! rtph264pay ! udpsink host=192.168.9.105 port=5000 Client: gst-launch -v gstrtpbin name=rtpbin \ udpsrc caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H264" \ port=5000 ! rtpbin.recv_rtp_sink_0 \ rtpbin. ! rtph264depay ! ffdec_h264 ! ffmpegcolorspace ! ximagesink Where 192.168.9.105 was the IP address of the client. I think it should be possible to use some multicast address instead but did not try it myself yet. Hope it helps, Andrey. _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Tue, Feb 21, 2012 at 12:33 AM, Andrey Nechypurenko
<[hidden email]> wrote: >>> Might anyone know what is going on above? >> >> Most likely the SPS/PPS is missing, which is kind of expected, you >> need an rtp payloader, and in the case of h264, there's an option to >> configure the configuration interval, which is the rate at which >> SPS/PPS are resent. > > The following pipelines works fine for me with N900 as server and > notebook with Debian as client. > > Server: > gst-launch v4l2camsrc device=/dev/video0 ! dsph264enc ! rtph264pay ! > udpsink host=192.168.9.105 port=5000 You might want to try something like: dsph264enc mode=1 ! rtph264pay config-interval=5 This way the encoder would be configured for streaming, and the payloader would re-send the SPS/PPS each 5 seconds (for recovery). Cheers. -- Felipe Contreras _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |