Problem with rtpbin usage

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Problem with rtpbin usage

amitpandya
Hi all,

I am working on aac streaming application.
I am using "udpsink" to stream the aac frames with the following pipeline,

"gst-launch-0.10 filesrc location=/home/amit/Test_streams/mono/test1_44kHz_longmono.pcm ! myaacencoder samplerate=44100 ! audio/mpeg, mpegversion=4, channels=1, rate=44100 ! rtpmp4gpay ! application/x-rtp, media=audio, payload=127, encoding-name=MPEG4-GENERIC, mode=AAC-hbr ! udpsink host=10.60.5.78 port=5000"

I am able to playback the stream on VLC player without any problem with corrrect timestamp.
My input stream is 45 Seconds long and VLC is showing stream info as below,
Decoded blocks/played buffers = 1954
In this case the pipline gives the "Execution ended after 45396547000 ns."

In same pipeline if i use rtpbin for streaming instead of udpsink using following pipeline,

"gst-launch-0.10 filesrc location=/home/amit/Test_streams/mono/test1_44kHz_longmono.pcm ! myaacencoder samplerate=44100 ! audio/mpeg, mpegversion=4, channels=1, rate=44100 ! rtpmp4gpay ! application/x-rtp, media=audio, payload=127, encoding-name=MPEG4-GENERIC, mode=AAC-hbr ! rtpbin destinations=10.60.5.78:5000 localport=5000"

pipeline is running much much faster and VLC is not able to play the full stream.
In this case VLC is only playing 8 seconds stream with stream info as below,
Decoded blocks/played buffers = 357
In this case the pipline gives the "Execution ended after 4266499000 ns."

In both the case their is no buffer lost.
But if you notice, pipeline Execution time in case of "rtpbin" is around 10 times faster  than in the case of "udpsink" (45396547000 ns is aroung 10 times more than 4266499000 ns)
Can anyone tell me why i am getting such behavior?what diffrence it will make in streaming if rtpbin is used instead of udpsink?

I tried putting "queue" in between the pipeline but same problem is their.
Do I need to slow down the pipeline processing by putting the delay(sleep) in either "aacencoder" or in  "packetizer"?
If yes how can i calculate the exact delay required for diffrent sample-rate aac streams?  

Any help will be very much appreciated.

Thanks.

------------------------------------------------------------------------------
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://p.sf.net/sfu/dev2dev-palm
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Problem with rtpbin usage

Tiago Katcipis
Im not quite sure, but i think rtpbin was not supposed to be used anymore, you should use gstrtpbin:

http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-gstrtpbin.html

the pipe would be like:

"gst-launch-0.10 filesrc location=/home/amit/Test_streams/mono/test1_44kHz_longmono.pcm ! myaacencoder samplerate=44100 ! audio/mpeg, mpegversion=4, channels=1, rate=44100 ! rtpmp4gpay ! application/x-rtp, media=audio, payload=127, encoding-name=MPEG4-GENERIC, mode=AAC-hbr ! gstrtpbin ! udpsink host=10.60.5.78:5000 port=5000"

gstrtpbin does not send the data for you, but does the rest of the magic :-).

Best regards,
Katcipis
 

On Thu, Aug 5, 2010 at 6:24 AM, <[hidden email]> wrote:
Hi all,

I am working on aac streaming application.
I am using "udpsink" to stream the aac frames with the following pipeline,

"gst-launch-0.10 filesrc location=/home/amit/Test_streams/mono/test1_44kHz_longmono.pcm ! myaacencoder samplerate=44100 ! audio/mpeg, mpegversion=4, channels=1, rate=44100 ! rtpmp4gpay ! application/x-rtp, media=audio, payload=127, encoding-name=MPEG4-GENERIC, mode=AAC-hbr ! udpsink host=10.60.5.78 port=5000"

I am able to playback the stream on VLC player without any problem with corrrect timestamp.
My input stream is 45 Seconds long and VLC is showing stream info as below,
Decoded blocks/played buffers = 1954
In this case the pipline gives the "Execution ended after 45396547000 ns."

In same pipeline if i use rtpbin for streaming instead of udpsink using following pipeline,

"gst-launch-0.10 filesrc location=/home/amit/Test_streams/mono/test1_44kHz_longmono.pcm ! myaacencoder samplerate=44100 ! audio/mpeg, mpegversion=4, channels=1, rate=44100 ! rtpmp4gpay ! application/x-rtp, media=audio, payload=127, encoding-name=MPEG4-GENERIC, mode=AAC-hbr ! rtpbin destinations=10.60.5.78:5000 localport=5000"

pipeline is running much much faster and VLC is not able to play the full stream.
In this case VLC is only playing 8 seconds stream with stream info as below,
Decoded blocks/played buffers = 357
In this case the pipline gives the "Execution ended after 4266499000 ns."

In both the case their is no buffer lost.
But if you notice, pipeline Execution time in case of "rtpbin" is around 10 times faster  than in the case of "udpsink" (45396547000 ns is aroung 10 times more than 4266499000 ns)
Can anyone tell me why i am getting such behavior?what diffrence it will make in streaming if rtpbin is used instead of udpsink?

I tried putting "queue" in between the pipeline but same problem is their.
Do I need to slow down the pipeline processing by putting the delay(sleep) in either "aacencoder" or in  "packetizer"?
If yes how can i calculate the exact delay required for diffrent sample-rate aac streams?

Any help will be very much appreciated.

Thanks.

------------------------------------------------------------------------------
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://p.sf.net/sfu/dev2dev-palm
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel



--
http://www.getgnulinux.org/windows

------------------------------------------------------------------------------
This SF.net email is sponsored by

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev 
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel