RV1106 支持H.264/265 500万 30桢的硬件视频编码能力,但是不具备硬件视频解码能力,如果用软解的话H.264 VGA(640*480)也没问题。
对于LINPHONE在RV1106平台上的移植,绝大部分流程与其它ARM平台一样,可以参考以下链接
LINPHONE在嵌入式LINUX下的交叉编译和移植https://blog.youkuaiyun.com/xikang/article/details/79480755需要特别注意的有以下几点:
1、H.264的视频解码需要移植FFMPEG,因为我们的LINPHONE版本是3.6.1,所以FFMPEG也不能用特别高的版本。因为是纯软件解码,所以FFMPEG的移植工作也和其它嵌入式平台一样。
2、关于摄像头驱动方面,因为是需要用到RV1106 ISP来处理视频数据 ,虽然瑞芯微的摄像头驱动也兼容V4L2,但是摄像头设备并不能直接被LINPHONE所用。
解决方式有两种方式:
A:可以修改LINPHONE V4L2 部分的代码,让它兼容瑞芯微的摄像头驱动;
B:可以不用LINPHONE中V4L2摄像头的FILTER,自己专门写一个瑞芯微的摄像头FILTER,对于摄像头的初始化、驱动,瑞芯微也都有相应的参考代码。
3、移植RV1106的硬件编码能力到LINPHONE,这个对LINPHONE来讲也是增加一个FILTER,相应的解决方案也有两种,一是直接调用瑞芯微MPP库的代码,这种方式的优点是简洁、直接、效率高,缺点是代码复杂性高一点;二是调用ROCKIT库,这种方式优点容易实现,不需要深入的去了解MPP库,缺点是比较臃肿,没那么灵活,对于NOR FLASH的来说,库过于庞大,毕竟官方只提供库文件,无法自己裁剪。
经测试视频效果不错,经长时间视频通话(2小时以上)也不会出现任何问题。
对于发热问题,如果只是RV1106自身,感觉还好能接受,如果是做成那种38*38的摄像头小板,和SENSOR芯片前后贴在一起的,发热量就会很大了,加了散热片都还是比较烫手。
关于LINPHOE的版本问题,3.6.1版本以后,官方就不再采用OSIP EXOSIP库了,而是采用了自己的SIP库,同时也增加了很多其它内容,对于功能需求比较单一的项目,用3.6.1以前的版本比较合适。
QQ交流:63314957