Understanding rtsp protocolo

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

Understanding rtsp protocolo

rossana
Hi everyone, I am very clueless about it since I didn't find so much documentation whic could help me.
I need something like the *test-ogg.c* example but suited for AVI files.  In the example the following line creates the pipeline:

str = g_strdup_printf ("( "
      "filesrc location=%s ! oggdemux name=d "
      "d. ! queue ! rtptheorapay name=pay0 pt=96 "
      "d. ! queue ! rtpvorbispay name=pay1 pt=97 " ")", argv[1]);

1- Is the any AVI payloader?, if not, what is the way to do it?

2- I suppose I can handle messages as usual, isn't it?.

I don't loose my hope for any suggestion, thanks and regards

Rossana


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Understanding rtsp protocolo

Stefan Sauer
On 04/05/2012 03:23 AM, Rossana Guerra wrote:
Hi everyone, I am very clueless about it since I didn't find so much documentation whic could help me.
I need something like the *test-ogg.c* example but suited for AVI files.  In the example the following line creates the pipeline:

str = g_strdup_printf ("( "
      "filesrc location=%s ! oggdemux name=d "
      "d. ! queue ! rtptheorapay name=pay0 pt=96 "
      "d. ! queue ! rtpvorbispay name=pay1 pt=97 " ")", argv[1]);

1- Is the any AVI payloader?, if not, what is the way to do it?
You would not stream the avi as such, but demux it and playload the streams inside the avi (the audio and video). For those there should be payloader (e.g. mpeg4 and mp3).

Stefan

2- I suppose I can handle messages as usual, isn't it?.

I don't loose my hope for any suggestion, thanks and regards

Rossana

_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Understanding rtsp protocolo

rossana


2012/4/5 Stefan Sauer <[hidden email]>
On 04/05/2012 03:23 AM, Rossana Guerra wrote:
Hi everyone, I am very clueless about it since I didn't find so much documentation whic could help me.
I need something like the *test-ogg.c* example but suited for AVI files.  In the example the following line creates the pipeline:

str = g_strdup_printf ("( "
      "filesrc location=%s ! oggdemux name=d "
      "d. ! queue ! rtptheorapay name=pay0 pt=96 "
      "d. ! queue ! rtpvorbispay name=pay1 pt=97 " ")", argv[1]);

1- Is the any AVI payloader?, if not, what is the way to do it?
You would not stream the avi as such, but demux it and playload the streams inside the avi (the audio and video). For those there should be payloader (e.g. mpeg4 and mp3).

Stefan thanks for your answer, could you suggest any example or reading?
Second, I need some control using a message hander, is this possible?. I don't have idea which the pipeline is.

Regards,

Rossana

Stefan

2- I suppose I can handle messages as usual, isn't it?.

I don't loose my hope for any suggestion, thanks and regards

Rossana

_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Understanding rtsp protocolo

rossana
If I understood you well, I need to use avidemux and then a payloader.
I did it as my pipeline shows, so the linking to a payloader is the only missing?

I have something
                               decodebin2 ------ ....some other artifacts......--------- queue   // for audio
                              |
filescr ---avidemux----
                              |
                              decodebin2 -------- ........ ---------- queue   // for video

thanks

2012/4/5 Rossana Guerra <[hidden email]>


2012/4/5 Stefan Sauer <[hidden email]>
On 04/05/2012 03:23 AM, Rossana Guerra wrote:
Hi everyone, I am very clueless about it since I didn't find so much documentation whic could help me.
I need something like the *test-ogg.c* example but suited for AVI files.  In the example the following line creates the pipeline:

str = g_strdup_printf ("( "
      "filesrc location=%s ! oggdemux name=d "
      "d. ! queue ! rtptheorapay name=pay0 pt=96 "
      "d. ! queue ! rtpvorbispay name=pay1 pt=97 " ")", argv[1]);

1- Is the any AVI payloader?, if not, what is the way to do it?
You would not stream the avi as such, but demux it and playload the streams inside the avi (the audio and video). For those there should be payloader (e.g. mpeg4 and mp3).

Stefan thanks for your answer, could you suggest any example or reading?
Second, I need some control using a message hander, is this possible?. I don't have idea which the pipeline is.

Regards,

Rossana

Stefan

2- I suppose I can handle messages as usual, isn't it?.

I don't loose my hope for any suggestion, thanks and regards

Rossana

_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel




_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Understanding rtsp protocolo

Nathanael D. Noblet
**Warning**
I'm no where near an expert - some or all of the following could be wrong

----
To properly answer you need to understand that a multimedia file has two
'levels' you could say. There is the muxing (this determines the
container format) for example .mp4/.mkv/.avi/.ogg have their own
particular way to place video and audio data into the actual file.

Once you've demuxed the file into its individual stream(s) the data can
en encoded in any number of formats. For example, an mkv file can
contain h264, mjpeg, mpeg4, divx, DV, h263, theora, vp8. This determines
how the actual data is compressed.

Now when you want to watch a stream you need to demux and then decode
the data so that you have the raw images to display on a screen. However
when you want to stream, you definitely do not want to decode it.
However in the same way that a muxer determines how the encoded data is
laid out in a file, rtsp uses rtp to 'payload' which for nearly all
intents and purposes here could be interchanged with muxers. They
determine how the encoded data is sent out on the wire you could say.

So...

#1) don't decode... just demux
#2) Once demuxed you need to find a payloader that can handle the
encoded data

otherwise you are sending uncompressed data.

Hope that helps

On 04/05/2012 01:42 PM, Rossana Guerra wrote:

> If I understood you well, I need to use avidemux and then a payloader.
> I did it as my pipeline shows, so the linking to a payloader is the only
> missing?
>
> I have something
>                                 decodebin2 ------ ....some other
> artifacts......--------- queue   // for audio
>                                |
> filescr ---avidemux----
>                                |
>                                decodebin2 -------- ........ ----------
> queue   // for video
>
> thanks
>
> 2012/4/5 Rossana Guerra <[hidden email]
> <mailto:[hidden email]>>
>
>
>
>     2012/4/5 Stefan Sauer <[hidden email]
>     <mailto:[hidden email]>>
>
>         __
>         On 04/05/2012 03:23 AM, Rossana Guerra wrote:
>>         Hi everyone, I am very clueless about it since I didn't find
>>         so much documentation whic could help me.
>>         I need something like the *test-ogg.c* example but suited for
>>         AVI files.  In the example the following line creates the
>>         pipeline:
>>
>>         str = g_strdup_printf ("( "
>>         "filesrc location=%s ! oggdemux name=d "
>>         "d. ! queue ! rtptheorapay name=pay0 pt=96 "
>>         "d. ! queue ! rtpvorbispay name=pay1 pt=97 " ")", argv[1]);
>>
>>         1- Is the any AVI payloader?, if not, what is the way to do it?
>         You would not stream the avi as such, but demux it and playload
>         the streams inside the avi (the audio and video). For those
>         there should be payloader (e.g. mpeg4 and mp3).
>
>
>     Stefan thanks for your answer, could you suggest any example or reading?
>     Second, I need some control using a message hander, is this
>     possible?. I don't have idea which the pipeline is.
>
>     Regards,
>
>     Rossana
>
>
>         Stefan
>>
>>         2- I suppose I can handle messages as usual, isn't it?.
>>
>>         I don't loose my hope for any suggestion, thanks and regards
>>
>>         Rossana
>>
>>
>>         _______________________________________________
>>         gstreamer-devel mailing list
>>         [hidden email]  <mailto:[hidden email]>
>>         http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
>         _______________________________________________
>         gstreamer-devel mailing list
>         [hidden email]
>         <mailto:[hidden email]>
>         http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
>
>
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


--
Nathanael d. Noblet
t 403.875.4613
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Understanding rtsp protocolo

rossana
I think I understood your explanation, is this possible to suit the following pipeline? I need to handle subtitles, so I 'spilt' the avi with avidemux. Then, the rtsp payloader are linked to the corresponding queues?.

             
                              decodebin2 ------ ....queue
                              |
filescr ---avidemux----
                              |
                              decodebin2 -------- ........---------- queue

You said isn't necessary the decodebin?


Thanks for your response, greets.

Rossana


2012/4/5 Nathanael D. Noblet <[hidden email]>
**Warning**
I'm no where near an expert - some or all of the following could be wrong

----
To properly answer you need to understand that a multimedia file has two 'levels' you could say. There is the muxing (this determines the container format) for example .mp4/.mkv/.avi/.ogg have their own particular way to place video and audio data into the actual file.

Once you've demuxed the file into its individual stream(s) the data can en encoded in any number of formats. For example, an mkv file can contain h264, mjpeg, mpeg4, divx, DV, h263, theora, vp8. This determines how the actual data is compressed.

Now when you want to watch a stream you need to demux and then decode the data so that you have the raw images to display on a screen. However when you want to stream, you definitely do not want to decode it. However in the same way that a muxer determines how the encoded data is laid out in a file, rtsp uses rtp to 'payload' which for nearly all intents and purposes here could be interchanged with muxers. They determine how the encoded data is sent out on the wire you could say.

So...

#1) don't decode... just demux
#2) Once demuxed you need to find a payloader that can handle the encoded data

otherwise you are sending uncompressed data.

Hope that helps


On 04/05/2012 01:42 PM, Rossana Guerra wrote:
If I understood you well, I need to use avidemux and then a payloader.
I did it as my pipeline shows, so the linking to a payloader is the only
missing?

I have something
                               decodebin2 ------ ....some other
artifacts......--------- queue   // for audio
                              |
filescr ---avidemux----
                              |
                              decodebin2 -------- ........ ----------
queue   // for video

thanks

2012/4/5 Rossana Guerra <[hidden email]
<mailto:[hidden email]>>



   2012/4/5 Stefan Sauer <[hidden email]
   <mailto:[hidden email]>>

       __

       On 04/05/2012 03:23 AM, Rossana Guerra wrote:
       Hi everyone, I am very clueless about it since I didn't find
       so much documentation whic could help me.
       I need something like the *test-ogg.c* example but suited for
       AVI files.  In the example the following line creates the
       pipeline:

       str = g_strdup_printf ("( "
       "filesrc location=%s ! oggdemux name=d "
       "d. ! queue ! rtptheorapay name=pay0 pt=96 "
       "d. ! queue ! rtpvorbispay name=pay1 pt=97 " ")", argv[1]);

       1- Is the any AVI payloader?, if not, what is the way to do it?
       You would not stream the avi as such, but demux it and playload
       the streams inside the avi (the audio and video). For those
       there should be payloader (e.g. mpeg4 and mp3).


   Stefan thanks for your answer, could you suggest any example or reading?
   Second, I need some control using a message hander, is this
   possible?. I don't have idea which the pipeline is.

   Regards,

   Rossana


       Stefan

       2- I suppose I can handle messages as usual, isn't it?.

       I don't loose my hope for any suggestion, thanks and regards

       Rossana


       _______________________________________________
       gstreamer-devel mailing list
       [hidden email]  <mailto:[hidden email]>
       http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


       _______________________________________________
       gstreamer-devel mailing list
       [hidden email]
       <mailto:[hidden email]>

       http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel





_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


--
Nathanael d. Noblet
t <a href="tel:403.875.4613" value="+14038754613" target="_blank">403.875.4613

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Understanding rtsp protocolo

Mailing List SVR
In reply to this post by rossana
Il 05/04/2012 21:42, Rossana Guerra ha scritto:
If I understood you well, I need to use avidemux and then a payloader.
I did it as my pipeline shows, so the linking to a payloader is the only missing?

I have something
                               decodebin2 ------ ....some other artifacts......--------- queue   // for audio
                              |
filescr ---avidemux----
                              |
                              decodebin2 -------- ........ ---------- queue   // for video

thanks

please take a look here:

http://cgit.freedesktop.org/gstreamer/gst-rtsp-server/tree/examples/test-mp4.c#n49

adjust demuxer and payloder for your case,

Nicola


2012/4/5 Rossana Guerra <[hidden email]>


2012/4/5 Stefan Sauer <[hidden email]>
On 04/05/2012 03:23 AM, Rossana Guerra wrote:
Hi everyone, I am very clueless about it since I didn't find so much documentation whic could help me.
I need something like the *test-ogg.c* example but suited for AVI files.  In the example the following line creates the pipeline:

str = g_strdup_printf ("( "
      "filesrc location=%s ! oggdemux name=d "
      "d. ! queue ! rtptheorapay name=pay0 pt=96 "
      "d. ! queue ! rtpvorbispay name=pay1 pt=97 " ")", argv[1]);

1- Is the any AVI payloader?, if not, what is the way to do it?
You would not stream the avi as such, but demux it and playload the streams inside the avi (the audio and video). For those there should be payloader (e.g. mpeg4 and mp3).

Stefan thanks for your answer, could you suggest any example or reading?
Second, I need some control using a message hander, is this possible?. I don't have idea which the pipeline is.

Regards,

Rossana

Stefan

2- I suppose I can handle messages as usual, isn't it?.

I don't loose my hope for any suggestion, thanks and regards

Rossana

_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel





_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Understanding rtsp protocolo

rossana
thanks Nicola, I need some control over the pipeline, seeking, message hander, etc.
Is the a way to do this? I ask this beacause this line creates the pipeline:
 str = g_strdup_printf ("( "
      "filesrc location=%s ! qtdemux name=d "
      "d. ! queue ! rtph264pay pt=96 name=pay0 "
      "d. ! queue ! rtpmp4apay pt=97 name=pay1 " ")", argv[1]);

but how I name/get it to do further 'enhacements' to the pipeline? is this possible?

Greets

Rossana


2012/4/5 Mailing List SVR <[hidden email]>
Il 05/04/2012 21:42, Rossana Guerra ha scritto:
If I understood you well, I need to use avidemux and then a payloader.
I did it as my pipeline shows, so the linking to a payloader is the only missing?

I have something
                               decodebin2 ------ ....some other artifacts......--------- queue   // for audio
                              |
filescr ---avidemux----
                              |
                              decodebin2 -------- ........ ---------- queue   // for video

thanks

please take a look here:

http://cgit.freedesktop.org/gstreamer/gst-rtsp-server/tree/examples/test-mp4.c#n49

adjust demuxer and payloder for your case,

Nicola



2012/4/5 Rossana Guerra <[hidden email]>


2012/4/5 Stefan Sauer <[hidden email]>
On 04/05/2012 03:23 AM, Rossana Guerra wrote:
Hi everyone, I am very clueless about it since I didn't find so much documentation whic could help me.
I need something like the *test-ogg.c* example but suited for AVI files.  In the example the following line creates the pipeline:

str = g_strdup_printf ("( "
      "filesrc location=%s ! oggdemux name=d "
      "d. ! queue ! rtptheorapay name=pay0 pt=96 "
      "d. ! queue ! rtpvorbispay name=pay1 pt=97 " ")", argv[1]);

1- Is the any AVI payloader?, if not, what is the way to do it?
You would not stream the avi as such, but demux it and playload the streams inside the avi (the audio and video). For those there should be payloader (e.g. mpeg4 and mp3).

Stefan thanks for your answer, could you suggest any example or reading?
Second, I need some control using a message hander, is this possible?. I don't have idea which the pipeline is.

Regards,

Rossana

Stefan

2- I suppose I can handle messages as usual, isn't it?.

I don't loose my hope for any suggestion, thanks and regards

Rossana

_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel





_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Understanding rtsp protocolo

rossana
I sum it up: I need a mix of a player and a server, thatś why I need some control. So I need a pipeline.
Regards.

Rossana

2012/4/5 Rossana Guerra <[hidden email]>
thanks Nicola, I need some control over the pipeline, seeking, message hander, etc.
Is the a way to do this? I ask this beacause this line creates the pipeline:
 str = g_strdup_printf ("( "
      "filesrc location=%s ! qtdemux name=d "
      "d. ! queue ! rtph264pay pt=96 name=pay0 "
      "d. ! queue ! rtpmp4apay pt=97 name=pay1 " ")", argv[1]);

but how I name/get it to do further 'enhacements' to the pipeline? is this possible?

Greets

Rossana



2012/4/5 Mailing List SVR <[hidden email]>
Il 05/04/2012 21:42, Rossana Guerra ha scritto:
If I understood you well, I need to use avidemux and then a payloader.
I did it as my pipeline shows, so the linking to a payloader is the only missing?

I have something
                               decodebin2 ------ ....some other artifacts......--------- queue   // for audio
                              |
filescr ---avidemux----
                              |
                              decodebin2 -------- ........ ---------- queue   // for video

thanks

please take a look here:

http://cgit.freedesktop.org/gstreamer/gst-rtsp-server/tree/examples/test-mp4.c#n49

adjust demuxer and payloder for your case,

Nicola



2012/4/5 Rossana Guerra <[hidden email]>


2012/4/5 Stefan Sauer <[hidden email]>
On 04/05/2012 03:23 AM, Rossana Guerra wrote:
Hi everyone, I am very clueless about it since I didn't find so much documentation whic could help me.
I need something like the *test-ogg.c* example but suited for AVI files.  In the example the following line creates the pipeline:

str = g_strdup_printf ("( "
      "filesrc location=%s ! oggdemux name=d "
      "d. ! queue ! rtptheorapay name=pay0 pt=96 "
      "d. ! queue ! rtpvorbispay name=pay1 pt=97 " ")", argv[1]);

1- Is the any AVI payloader?, if not, what is the way to do it?
You would not stream the avi as such, but demux it and playload the streams inside the avi (the audio and video). For those there should be payloader (e.g. mpeg4 and mp3).

Stefan thanks for your answer, could you suggest any example or reading?
Second, I need some control using a message hander, is this possible?. I don't have idea which the pipeline is.

Regards,

Rossana

Stefan

2- I suppose I can handle messages as usual, isn't it?.

I don't loose my hope for any suggestion, thanks and regards

Rossana

_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel





_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel




_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel