setting vp9enc for real time encoding

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

setting vp9enc for real time encoding

Yisus
Hi,

 We are using vp9enc for one of our pipelines in order to transcode a rtp video stream, from H264 to VP9. The issue is that vp9enc introduce too latency for real time communication.

///////////////////////////////////////////////////////////////////////

 Sender:

  gst-launch-1.0 v4l2src ! video/x-raw, width=640, height=480 ! videoconvert ! openh264enc ! rtph264pay ! udpsink host=127.0.0.1 port=9001

 Transcoding:

 gst-launch-1.0 udpsrc port=9001 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96" ! rtph264depay ! avdec_h264 ! vp9enc cpu-used=5 ! rtpvp9pay ! udpsink host=127.0.0.1 port=9002

 Receiver:

  gst-launch-1.0 udpsrc port=9002 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)VP9, payload=(int)96" ! rtpvp9depay ! vp9dec ! autovideosink  
 
////////////////////////////////////////////////////////////////////////

We have tried different settings of the vp9enc properties for encoding in real time, (cpu-used=5  was usefull), but the latency is still too high  (2-3 seconds). Some suggestion about how we can set element properties of vp9enc for real time encoding?.  
 
Additionally,  I have to say that if we use vp8enc instead of vp9enc, the latency is lower (0.5-1 second). Although the properties are the same for both encoder, the properties values used for vp8enc (deadline=1) are not valid for vp9enc.

 Thanks in advance.



Reply | Threaded
Open this post in threaded view
|

Re: setting vp9enc for real time encoding

Nicolas Dufresne-5


Le 3 juin 2016 5:51 AM, "Yisus" <[hidden email]> a écrit :
>
> Hi,
>
>  We are using vp9enc for one of our pipelines in order to transcode a rtp
> video stream, from H264 to VP9. The issue is that vp9enc introduce too
> latency for real time communication.

You can control that using the deadline property.

>
> ///////////////////////////////////////////////////////////////////////
>
>  Sender:
>
>   gst-launch-1.0 v4l2src ! video/x-raw, width=640, height=480 ! videoconvert
> ! openh264enc ! rtph264pay ! udpsink host=127.0.0.1 port=9001
>
>  Transcoding:
>
>  gst-launch-1.0 udpsrc port=9001 caps="application/x-rtp,
> media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264,
> payload=(int)96" ! rtph264depay ! avdec_h264 ! vp9enc cpu-used=5 ! rtpvp9pay
> ! udpsink host=127.0.0.1 port=9002
>
>  Receiver:
>
>   gst-launch-1.0 udpsrc port=9002 caps="application/x-rtp,
> media=(string)video, clock-rate=(int)90000, encoding-name=(string)VP9,
> payload=(int)96" ! rtpvp9depay ! vp9dec ! autovideosink
>
> ////////////////////////////////////////////////////////////////////////
>
> We have tried different settings of the vp9enc properties for encoding in
> real time, (cpu-used=5  was usefull), but the latency is still too high
> (2-3 seconds). Some suggestion about how we can set element properties of
> vp9enc for real time encoding?.
>
> Additionally,  I have to say that if we use vp8enc instead of vp9enc, the
> latency is lower (0.5-1 second). Although the properties are the same for
> both encoder, the properties values used for vp8enc (deadline=1) are not
> valid for vp9enc.
>
>  Thanks in advance.
>
>
>
>
>
>
>
> --
> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/setting-vp9enc-for-real-time-encoding-tp4677875.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


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