Fwd: Vaapih264enc and Intra/Key frame request

Hyunjun Ko zzoon at igalia.com
Thu Aug 3 06:37:09 UTC 2017


Matteo Valdina wrote
> Hi all,
> 
> I'm currently using vaapih264enc for a live streaming (RTP) project (1.8.3
> for now). I need to generate intra-frame upon an external request (like
> packet loss indication).
> 
> For asking to the encoder to generate the intra-frame, I'm using this
> code:
> 
> GstEvent* event = gst_video_event_new_downstream_force_key_unit
> (GST_CLOCK_TIME_NONE, GST_CLOCK_TIME_NONE, GST_CLOCK_TIME_NONE, TRUE, 1);
> gboolean res = gst_element_send_event(encoder_, event);
> 
> 
> I tested and analyzed the output stream generated by x264enc and it works.
> 
> But when I use vaapih264enc. I see generate SPS, PPS, SEI and Non-IDR
> frames.
> 
> Does someone try a similar scenario and verify if intra frame is generated
> as expected?

This is implemented recently, which is doing that it produces IDR if
FORCE_KEY_UNIT.

https://cgit.freedesktop.org/gstreamer/gstreamer-vaapi/commit/?id=465d5868d96ec7c839bfdb4a3e17f33a8bae1206

Use gstreamer-vaapi on the master.


Matteo Valdina wrote
> I'm also surprised that there is no way to disable periodic key frame
> generation. Documentation states 0 for auto computation, accepted range 1
> -
> 300. When I tried with 0 GLib assert that it is not a valid value.
> 
> Is it possible to disable this feature?

Currently 0 is disabled but there is logic to calculate based on provided
framerate.
We can enable it after verification (file up to bugzilla please)
But I guess you want to disable forever (and produce I-frame when you want),
that's not supported for now. You can raise this up to bugzilla as Sree
said.


Matteo Valdina wrote
> Best regards
> Matteo Valdina





--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Fwd-Vaapih264enc-and-Intra-Key-frame-request-tp4684076p4684080.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list