Andrey, Thank you very much for your suggestions and I'll give them a try! -- Matthew Braun mjbraun at leydenjar.com On 12/16/10 6:52 AM, "Andrey Nechypurenko" <andreynech at yahoo.com> wrote: >Hi Matthew, > >>gst-launch -v v4l2src ! TIVidenc1 codecName=h264enc >>engineName=codecServer ! rtph264pay pt=96 ! udpsink host=<DEST> port=5000 > >I think there is missing colorconversion element (ffmpegcolorspace) >before >TIVidenc1. Also, it is necessary to specify colorspace (fourcc) >explicitly. You >can take a look at this thread which discuss similar issue: > >https://gstreamer.ti.com/gf/project/gstreamer_ti/forum/?_forum_action=Foru >mMessageBrowse&thread_id=3251&action=ForumBrowse&forum_id=187 > > >In addition you can take a look at some example pipelines I am using in >my >project: >http://www.gitorious.org/veter/veter/blobs/master/misc/car.config#line36 > >HTH, >Andrey. > >----- Original Message ---- >From: Matthew Braun <mjbraun at leydenjar.com> >To: gstreamer-embedded at lists.sourceforge.net >Sent: Thu, December 9, 2010 5:29:15 PM >Subject: Unable to stream MPEG4 or H.264 from BeagleBoard > >Greetings, and apologies in advance if my question is excessively simple, >although my searches have so far proven futile. > >I'm running Angstrom on a BeagleBoard C (OMAP3530) with the gstreamer-ti >package (GStreamer 0.10.30) installed. At boot the following commands are >run: > >cd /usr/share/ti/gst/omap3530/ >./loadmodules.sh >export GST_REGISTRY=/tmp/gst_registry.bin >export LD_LIBRARY_PATH=/usr/lib >export GST_PLUGIN_PATH=/usr/lib/gstreamer-0.10 >export PATH=/usr/bin:$PATH >cat /dev/zero > /dev/fb2 2> /dev/null > > >Running the command > >gst-launch v4l2src ! video/x-raw-yuv,width=640,height=480 ! >ffmpegcolorspace ! jpegenc ! multipartmux ! udpsink host=<DEST> port=5000 > >Succeeds (I can open VLC on <DEST> and view the stream, although it's >pretty choppy). However, I'd like to do an MPEG4 stream instead. Following >the example from >http://processors.wiki.ti.com/index.php/Example_GStreamer_Pipelines#OMAP35 >x >, I tried: > >gst-launch-0.10 v4l2src ! 'video/x-raw-yuv,width=640,height=480' ! >ffenc_mpeg4 ! rtpmp4vpay ! udpsink host=169.254.12.28 port=5000 -v > >But I get > >Setting pipeline to PAUSED ... >/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = >video/x-raw-yuv, format=(fourcc)I420, width=(int)640, height=(int)480, >framerate=(fraction)30/1 >Pipeline is live and does not need PREROLL ... >Setting pipeline to PLAYING ... >New clock: GstSystemClock >/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = >video/x-raw-yuv, format=(fourcc)I420, width=(int)640, height=(int)480, >framerate=(fraction)30/1 >/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = >video/x-raw-yuv, format=(fourcc)I420, width=(int)640, height=(int)480, >framerate=(fraction)30/1 >/GstPipeline:pipeline0/ffenc_mpeg4:ffenc_mpeg40.GstPad:src: caps = >video/mpeg, width=(int)640, height=(int)480, framerate=(fraction)30/1, >mpegversion=(int)4, systemstream=(boolean)false >/GstPipeline:pipeline0/ffenc_mpeg4:ffenc_mpeg40.GstPad:sink: caps = >video/x-raw-yuv, format=(fourcc)I420, width=(int)640, height=(int)480, >framerate=(fraction)30/1 >/GstPipeline:pipeline0/GstRtpMP4VPay:rtpmp4vpay0.GstPad:sink: caps = >video/mpeg, width=(int)640, height=(int)480, framerate=(fraction)30/1, >mpegversion=(int)4, systemstream=(boolean)false >/GstPipeline:pipeline0/GstRtpMP4VPay:rtpmp4vpay0.GstPad:src: caps = >application/x-rtp, media=(string)video, clock-rate=(int)90000, >encoding-name=(string)MP4V-ES, profile-level-id=(string)1, >config=(string)000001b001000001b58913000001000000012000c48d8800f514043c146 >3 >000001b24c61766335322e39372e32, payload=(int)96, ssrc=(uint)1464948709, >clock-base=(uint)3097574894, seqnum-base=(uint)47019 >/GstPipeline:pipeline0/GstUDPSink:udpsink0.GstPad:sink: caps = >application/x-rtp, media=(string)video, clock-rate=(int)90000, >encoding-name=(string)MP4V-ES, profile-level-id=(string)1, >config=(string)000001b001000001b58913000001000000012000c48d8800f514043c146 >3 >000001b24c61766335322e39372e32, payload=(int)96, ssrc=(uint)1464948709, >clock-base=(uint)3097574894, seqnum-base=(uint)47019 >libv4l2: error converting / decoding frame data: v4l-convert: error >parsing JPEG header: Not a JPG file ? >Caught SIGSEGV accessing address 0x4 >unable to fork gdb: Cannot allocate memory >Spinning. Please run 'gdb gst-launch 1582' to continue debugging, Ctrl-C >to quit, or Ctrl-\ to dump core. > > > >I assume this is related to the error parsing the JPEG header? The v4l2 >source is a Logitech C310 USB webcam. > >Trying to encode as h.264 instead, from the same examples, I use: >gst-launch -v v4l2src ! TIVidenc1 codecName=h264enc >engineName=codecServer ! rtph264pay pt=96 ! udpsink host=<DEST> port=5000 >-v >But I get: >Setting pipeline to PAUSED ... >ERROR: Pipeline doesn't want to pause. >ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Could not >negotiate format >Additional debug info: > gstbasesrc.c(2755): gst_base_src_start (): >/GstPipeline:pipeline0/GstV4l2Src:v4l2src0: >Check your filtered caps, if any >Setting pipeline to NULL ... >Freeing pipeline ... > > >Cat /proc/cmdline gives: >console=ttyS2,115200n8 console=tty0 root=/dev/mmcblk0p2 rw rootwait >rootdelay=2 mem=80M video=omapfb:vram:2M,vram:4M > > > >Any suggestions as to what I might be missing or something I should be >trying instead to get MPEG4 or H.264 streaming to work? > >Thank you very much for any guidance or suggestions! > > >-- >Matthew Braun >mjbraun at leydenjar.com > > > > > >-------------------------------------------------------------------------- >---- >_______________________________________________ >Gstreamer-embedded mailing list >Gstreamer-embedded at lists.sourceforge.net >https://lists.sourceforge.net/lists/listinfo/gstreamer-embedded > > >