Gstreamer issue on mac osx
Chuck Crisler
ccrisler at mutualink.net
Thu Jan 17 07:31:18 PST 2013
Andoni is correct. These things are very much dependent on the target
system. I use scripts to build test/demo pipelines so that they are always
the same. I have run into problems when I copy a pipeline script to a new
system and sometimes it fails due to this very reason. When that happens
the error logging is correct but not 'enlightening' at all. You need to
learn that when you get that error -4 (not negotiated) you likely need a
ffmpegcolorspace filter just like queues solve blocking issues.
On Thu, Jan 17, 2013 at 6:40 AM, Andoni Morales <ylatuya at gmail.com> wrote:
> 2013/1/16 Gerard Toonstra <gtoonstra at gmail.com>:
> > Well…..
> >
> > It took me a day to figure things out.
> > I cleared the frameworks directory so that I'd be sure to start with
> everything new. Then installed the "brahmaputra" release 2012-11 over
> again. End result: exactly the same.
> >
> > then I went back on Linux where things do work and turned on more
> debugging to see the caps it was working with. I then explicitly took a
> note of the caps after rtph264depay:
> >
> > ./gst-launch-0.10 -vvv udpsrc multicast-group=239.255.12.12 port=5004
> auto-multicast=true
> caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H264,payload=(int)96"
> ! rtph264depay ! "video/x-h264, stream-format=(string)byte-stream,
> alignment=(string)nal" ! ffdec_h264 ! ffmpegcolorspace ! autovideosink
> sync=false
> >
> > The stream-format and alignment issues were a red herring, because it
> seemed the defaults for both were wrong, so the data in the stream was
> overriding the default properties.
> >
> > Then I turned on debugging to the max and saw this on the osxvideosink,
> where it was trying to negotiate caps on the videosink and after the
> ffdec_h264:
> >
> > 0:00:02.125843000 483 0x102008850 DEBUG GST_CAPS
> gstpad.c:2799:gst_pad_configure_sink:<autovideosink0-actual-sink-osxvideo:sink>
> caps 0x101873c80 not accepted
> > 0:00:02.125875000 483 0x102008850 INFO basesrc
> gstbasesrc.c:2570:gst_base_src_loop:<udpsrc0> pausing after gst_pad_push()
> = not-negotiated
> >
> > I inserted ffmpegcolorspace and it started working after that.
> >
> > Is there a way I can configure the machine so it doesn't need
> ffmpegcolorspace, or is this sink dependent?
>
> This depends on the sink capabilities. In this case, osxvideosink only
> supports YUY2, which is why you need a colorspace converter.
>
> Andoni
> >
> > Rgds,
> >
> > G>
> >
> >
> > On Jan 15, 2013, at 9:38 PM, Gerard Toonstra <gtoonstra at gmail.com>
> wrote:
> >
> >> Hi there,
> >>
> >> I have an IP cam that is configured to output UDP multicast. I'm
> getting video on Ubuntu Linux (12.10), but on Mac OSX there are issues.
> >> See here the output of two consecutive runs. The first one hangs, is
> aborted. The second one reports a "subclass rejected caps" issue,
> >> resulting in failure to negotiate.
> >>
> >> Does anyone know what the problem could be? Missing libraries,
> incorrect versions?
> >>
> >> I installed gstreamer from here:
> >>
> >> http://docs.gstreamer.com/display/GstSDK/Installing+on+Mac+OS+X
> >>
> >> Running Mountain Lion on Mac OSX mini: 12.2.0 Darwin Kernel Version
> 12.2.0
> >>
> >> new-host-3:bin gt$ GST_DEBUG=2 ./gst-launch-0.10 -vvv udpsrc
> multicast-group=239.255.12.12 port=5004 auto-multicast=true
> caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H264,payload=(int)96,width=(int)1280,height=(int)720"
> ! rtph264depay ! ffdec_h264 ! video/x-raw-yuv ! ffmpegcolorspace !
> autovideosink
> >> Setting pipeline to PAUSED ...
> >> Pipeline is live and does not need PREROLL ...
> >> Setting pipeline to PLAYING ...
> >> 0:00:00.126765000 499 0x10078bb00 WARN bin
> gstbin.c:2399:gst_bin_do_latency_func:<pipeline0> failed to query latency
> >> New clock: GstSystemClock
> >> ^CCaught interrupt -- handling interrupt.
> >> Interrupt: Stopping pipeline ...
> >> Execution ended after 46696132000 ns.
> >> Setting pipeline to PAUSED ...
> >> Setting pipeline to READY ...
> >> /GstPipeline:pipeline0/GstUDPSrc:udpsrc0.GstPad:src: caps = NULL
> >> Setting pipeline to NULL ...
> >> Freeing pipeline ...
> >> new-host-3:bin gt$ GST_DEBUG=2 ./gst-launch-0.10 -vvv udpsrc
> multicast-group=239.255.12.12 port=5004 auto-multicast=true
> caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H264,payload=(int)96,width=(int)1280,height=(int)720"
> ! rtph264depay ! ffdec_h264 ! video/x-raw-yuv ! ffmpegcolorspace !
> autovideosink
> >> Setting pipeline to PAUSED ...
> >> Pipeline is live and does not need PREROLL ...
> >> Setting pipeline to PLAYING ...
> >> 0:00:00.152357000 519 0x100763700 WARN bin
> gstbin.c:2399:gst_bin_do_latency_func:<pipeline0> failed to query latency
> >> New clock: GstSystemClock
> >> 0:00:00.166522000 519 0x100819050 WARN rtph264depay
> gstrtph264depay.c:280:gst_rtp_h264_depay_negotiate:<rtph264depay0>
> overriding property setting based on caps
> >> 0:00:00.166550000 519 0x100819050 WARN rtph264depay
> gstrtph264depay.c:288:gst_rtp_h264_depay_negotiate:<rtph264depay0>
> overriding property setting based on caps
> >> 0:00:00.166558000 519 0x100819050 WARN basertpdepayload
> gstbasertpdepayload.c:246:gst_base_rtp_depayload_setcaps:<rtph264depay0>
> Subclass rejected caps 0x102005440
> >> 0:00:00.166588000 519 0x100819050 WARN basesrc
> gstbasesrc.c:2633:gst_base_src_loop:<udpsrc0> error: Internal data flow
> error.
> >> 0:00:00.166596000 519 0x100819050 WARN basesrc
> gstbasesrc.c:2633:gst_base_src_loop:<udpsrc0> error: streaming task paused,
> reason not-negotiated (-4)
> >> 0:00:00.166653000 519 0x100819050 ERROR ffmpeg
> gstffmpegdec.c:2359:gst_ffmpegdec_frame:<ffdec_h2640> no codec context
> >> ERROR: from element /GstPipeline:pipeline0/GstUDPSrc:udpsrc0: Internal
> data flow error.
> >> Additional debug info:
> >> gstbasesrc.c(2633): gst_base_src_loop ():
> /GstPipeline:pipeline0/GstUDPSrc:udpsrc0:
> >> streaming task paused, reason not-negotiated (-4)
> >> Execution ended after 14420000 ns.
> >> Setting pipeline to PAUSED ...
> >> Setting pipeline to READY ...
> >> /GstPipeline:pipeline0/GstUDPSrc:udpsrc0.GstPad:src: caps = NULL
> >> Setting pipeline to NULL ...
> >> Freeing pipeline ...
> >>
> >>
> >> Rgds,
> >>
> >> Gerard
> >>
> >
> > _______________________________________________
> > gstreamer-devel mailing list
> > gstreamer-devel at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
>
> --
> Andoni Morales Alastruey
>
> LongoMatch:The Digital Coach
> http://www.longomatch.ylatuya.es
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20130117/bdfa4ca9/attachment-0001.html>
More information about the gstreamer-devel
mailing list