Gstreamer issue on mac osx
Andoni Morales
ylatuya at gmail.com
Thu Jan 17 03:40:36 PST 2013
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
More information about the gstreamer-devel
mailing list