[gst-devel] Using gstreamer to transmit H264 file over RTP

Farah farahakhtar_24c at yahoo.com
Sat Jun 12 02:47:52 CEST 2010


Thanks Marco. I think you were very clear on the previous mail too but I dint understand you well. 

The problem is: The h264 file that I am using is not encoded by one of the gstreamer elements. I encode the yuv file using another encoder which I want to evaluate. Then, I stream the file with gstreamer using the pipe from my post, receive it over udpsrc and want to store it in the x-264 format in a .264 file without any multiplexing (raw h264 stream) so I can decode and process it later. I have an h264 stream from the h264 reference encoder so it must be h264 compatible. I have made sure it does have SEI messages in it. However, it doesnt have SPS/PPS messages since it needs to be compatible with the baseline profile of h264. I thought (from your earlier mail) that setting the property "config-interval" should solve my problem but it hasnt. Obviously! Since I HAVE no SPS/PPS in my stream. 

Also, I need a raw .264 file at the output to evaluate and decode using another decoder element, not part of gstreamer. That's why I dont care about muxing it into a file format like mp4 and avi. Yet, I tried that. I see that there is no muxer for h264 files (ffmux_ipod also tries to mux the stream as an mpegts stream if I am right). Still, I tried using avimux/mp4mux to mux the stream into avi/mp4 container. I get this error:

ERROR: from element /GstPipeline:pipeline0/GstUDPSrc:udpsrc0: Internal data flow error.
Additional debug info:
gstbasesrc.c(2543): gst_base_src_loop (): /GstPipeline:pipeline0/GstUDPSrc:udpsrc0:
streaming task paused, reason not-negotiated (-4)
Execution ended after 3772400353 ns.

I think this is because the incoming stream from udpsrc does not have mp4 hint information or other SPS/PPS information it is supposed to have. Of that, I cant seem to find a solution.

I think the crux of my problem is that I am using an external encoder. That is why 'h264parse' gives me no "codec-data" field in caps as expected from the sender side. Only this:

/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream

As a result, I dont  have a suitable value to set in the "codec-data" field in the receiver capsfilter I put between depayloader and filesink. You think I understand it right? There is something that can be done to solve this?



________________________________
From: Marco Ballesio [via GStreamer-devel] <ml-node+2252222-698076477-93213 at n4.nabble.com>
To: Farah <farahakhtar_24c at yahoo.com>
Sent: Sat, June 12, 2010 1:00:28 AM
Subject: Re: Using gstreamer to transmit H264 file over RTP

Hi, 

as I pointed out in the previous mail (I'm sorry if I've not been 
clear enough) you need to explicitly set the codec_data parameter in 
the receiving side caps. 

I also suggest you to mux the depayloaded h264 (even if you're using 
annex B it's not a container format, only a codec). The easiest way is 
to put the muxer between the h264 depayloader and the filesink. 

Regards 

On Sun, Jun 6, 2010 at 6:56 AM, Farah <[hidden email]> wrote: 

> 
> 
> Another update, just so you know! 
> 
> I even updated my system to the latest gstreamer releases 0.10.29 from this 
> ppa: 
> 
> https://launchpad.net/~gstreamer-developers/+archive/ppa
> 
> That hasnt changed the situation much and that worries me more. This means 
> that it may not actually be a gstreamer bug. Please help! 
> 
> Thanks. 
> 
> Farah Akhtar. 
> -- 
> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Using-gstreamer-to-transmit-H264-file-over-RTP-tp2236364p2244738.html?by-user=t
> Sent from the GStreamer-devel mailing list archive at Nabble.com. 
> 
> ------------------------------------------------------------------------------ 
> ThinkGeek and WIRED's GeekDad team up for the Ultimate 
> GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
> lucky parental unit.  See the prize list and enter to win: 
> http://p.sf.net/sfu/thinkgeek-promo
> _______________________________________________ 
> gstreamer-devel mailing list 
> [hidden email] 
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> 
------------------------------------------------------------------------------ 
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________ 
gstreamer-devel mailing list 
[hidden email] 
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


________________________________
 
View message @ http://gstreamer-devel.966125.n4.nabble.com/Using-gstreamer-to-transmit-H264-file-over-RTP-tp2236364p2252222.html 
To unsubscribe from Re: Using gstreamer to transmit H264 file over RTP, click here. 



      
-- 
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Using-gstreamer-to-transmit-H264-file-over-RTP-tp2236364p2252445.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20100611/edd12865/attachment.htm>


More information about the gstreamer-devel mailing list