Unable to stream MPEG4 or H.264 from BeagleBoard

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


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
>
>
>      






[Index of Archives]     [Linux Embedded]     [Linux ARM Kernel]     [Linux for ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux Media]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux