Dynamic framerate, framesize change for stream over RTP

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

Dynamic framerate, framesize change for stream over RTP

Icarus Alive
Wondering, if it is possibly to dynamically change framerate,
framesize, encoding parameters -- on-the-fly, i.e. within a stream,
that is being pushed out over RTP ?
Some pointers in this direction would help.

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

Re: [gmail] Dynamic framerate, framesize change for stream over RTP

Marc Leeman
> Wondering, if it is possibly to dynamically change framerate,
> framesize, encoding parameters -- on-the-fly, i.e. within a stream,
> that is being pushed out over RTP ?

Yes.

> Some pointers in this direction would help.

The timestamp on RTP stands for the sampling instance; so they have
little to do with each other.

You can even switch in the compressed domain without visual artifacts,
just use the parsers and check the DELTA_FLAG flag on the buffers.


--
  greetz, marc
harvey 2.6.29.1 #1 PREEMPT Mon Apr 6 22:33:31 CDT 2009 GNU/Linux

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

signature.asc (196 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [gmail] Dynamic framerate, framesize change for stream over RTP

Icarus Alive
On Thu, Oct 20, 2011 at 2:02 AM, Marc Leeman <[hidden email]> wrote:

>> Wondering, if it is possibly to dynamically change framerate,
>> framesize, encoding parameters -- on-the-fly, i.e. within a stream,
>> that is being pushed out over RTP ?
>
> Yes.
>
>> Some pointers in this direction would help.
>
> The timestamp on RTP stands for the sampling instance; so they have
> little to do with each other.
>
> You can even switch in the compressed domain without visual artifacts,
> just use the parsers and check the DELTA_FLAG flag on the buffers.
>

Thanks Marc.

If I may as what is probably a very naive question -- does RTP
timestamps indicating sampling-instances mean, that just dropping
frames periodically, is enough to get the framerate (drop) effect ? An
external protocol like SDP is not needed to renegotiate framerate at
application level ?

Also, when you say "...switch in the compressed domain..", is there
someplace I could find an elaboration ? Are you saying that
"restreaming" with say a framerate change is possible without even
needing to do frame-by-frame decoding ?

The way I envisage the pipeline (roughly) is:

(Video:H.264 @ VGA@30fps, Audio: AAC stream) [fixed parameters] --->
demux (A/V)-->
    A: decode --> resample --> filter (gain / noise redn) --> encode ---> M
    V: decode --> colorspacefix --> (filter , drop X frames) --> encode --> M
 M= mux --> rtp udp-stream
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel