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

Marco Ballesio gibrovacco at gmail.com
Tue Jun 29 05:23:35 CEST 2010


Hi,

sorry for replying so late, I hope this will help..

On Sat, Jun 12, 2010 at 11:22 AM, Farah <farahakhtar_24c at yahoo.com> wrote:
>
>
> Ok, there are things in my previous posts that are misleading so I thought
> to correct them.
>
> I checked my h264 file and it seemed the encoder configuration that I had
> used did add SPS/PPS information but only the one required for h264 baseline
> profile. This one had only one IDR picture and SPS information was sent for
> IDR picture only. Now, I tried several other encoder configurations with
> different frequency of SPS/PPS information. I tried a file that resends PPS
> for every coded Frame/Field pair.

I don't exactly know how your encoder is working, but this may mean
you're re-sending a key frame each time.

> This has resulted in better looking video
> with no noise artifacts on the picture. However, it still loses last several
> packets but ONLY AT THE END of the file. The last second or so of the file
> doesnt play.

I know you already made this check previously, but was the received
file truncated?

>
> I am also using another machine with all the same software but it is a
> slower machine. There, loss is less and almost the whole file gets
> transmitted especially if I use config-interval=1 (the smallest value).
> However, the last several bytes are still not stored.

looks like this is replying to my former question, but maybe you can
explicitly confirm.

> May be, this has
> something to do with how frequently the SPS/PPS info gets multiplexed in the
> stream. I still have to end the receiver pipeline with an interrupt.

I suggest you to try and terminate it nicely from an application as
explained in:

http://www.gstreamer.net/data/doc/gstreamer/head/manual/html/chapter-helloworld.html

To build a gst-launch style pipeline in your C application, use the following:

http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstParse.html#gst-parse-launch

Indeed you won't get an EOS here, but maybe you can simply terminate
the g_main_loop after a stdin event (e.g. pressing "ENTER"). More
evolved methods based on probes and I/O stats are still possible but
imho useless so far.

Regards.

>
> I hope you have something to say about this.
>
>
> --
> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Using-gstreamer-to-transmit-H264-file-over-RTP-tp2236364p2252566.html
> 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
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>




More information about the gstreamer-devel mailing list