Vaapih264enc and Intra/Key frame request

Sreerenj Balachandran bsreerenj at gmail.com
Thu Aug 3 04:25:07 UTC 2017


On Wed, Aug 2, 2017 at 7:47 PM, Matteo Valdina <matteo.valdina at gmail.com>
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?
>
> 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 vaapiencoders do't have support for dynamic keyframe period
setting.
Can you please file a bug against gstreamer-vaapi requesting this feature?

Auto-keyframe insertion is also not supported. Please file a separate bug
for this.
This an advanced feature which is beyond the scope of current
vaapih264encoder since it requires
scene change  detection. But we will implement this feature once there is
Flexible Encoding Infrastructure in place:
https://bugzilla.gnome.org/show_bug.cgi?id=784667


>
> Best regards
> Matteo Valdina
>
> --
> “There are two ways of constructing a software design: One way is to make
> it so simple that there are obviously no deficiencies, and the other way is
> to make it so complicated that there are no obvious deficiencies. The first
> method is far more difficult.”
> - Tony Hoare
>
> --
> “There are two ways of constructing a software design: One way is to make
> it so simple that there are obviously no deficiencies, and the other way is
> to make it so complicated that there are no obvious deficiencies. The first
> method is far more difficult.”
> - Tony Hoare
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>


-- 
Regards,

Sreerenj Balachandran
Intel Open Source Technology Center
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20170802/296812e5/attachment.html>


More information about the gstreamer-devel mailing list