linux下,vi绑定到了vo,在显示屏上实时显示摄像头画面,如何实现在显示屏上,放大和缩小画面

Viewed 173

linux下,vi绑定到了vo,在显示屏上实时显示摄像头画面,如何实现在显示屏上,放大和缩小画面

相机输入画面显示在显示屏上,当需要时,对相机回来的画面进行放大,取中心部分显示,铺满屏幕,或者对方法的画面进行缩小,从1倍到12倍

如何才能对在一直预览的情况下,完成上述功能?

1 Answers

需要在vi和vo之间增加一个模块,用来实现缩放功能。linux only上k230上的硬件缩放驱动尚未完全实现,可以使用CPU来完成此功能。推荐使用FFmpeg,其中用于实现画面缩放的接口库是libswscale。

硬件缩放功能会在后续实现吗?预计还要多长时间呢?

近期会实现,时间暂不确定。

如果使用ffmpeg的话,目前我们的是vi的通道绑定到vo,
加入这个ffmpeg以后,是不是就要取消绑定,vi采集回来数据,通过sws_scale,然后把输出的buf放到vo进行显示
vi采集回来的数据存放应该是配置的config.comm_pool[1]这个缓存区吧
然后使用sws_getContext、sws_scale、sws_freeContext完成缩放功能
缩放输出的buf是不是也需要申请一个缓冲区?
如何把缩放以后的数据显示在vo上呢?

通过cpu进行转换,帧率是否会变得很低呢?