国内的主流段视频软件如快手、秒拍、美拍在编辑视频的时间效率上都远不如Ins做的好,很奇怪Ins是全程GPU加速么
一般技术选型都是GPUImage或者ffmpeg进行封装
前者直接操作OpenGL ES,效率高但是没有编码解码功能
后者效果很多,但是h.264编码解码在移动设备上太慢了
一般技术选型都是GPUImage或者ffmpeg进行封装
前者直接操作OpenGL ES,效率高但是没有编码解码功能
后者效果很多,但是h.264编码解码在移动设备上太慢了
有什么可以做实时编解码的技术支撑这个需求么? 时间对数据的实时处理有至关重要的阻碍要素,时间越快越好,效率越高越好,效率至上,没的说。
如果你是指摄像头采集并H.264编码的话,推荐个人开源项目
GitHub - begeekmyfriend/yasea: RTMP streaming client for Android图像处理见gpuimage分支,完全可以做到实时。另外,有的shader计算量比较大,所以采集分辨率我一概设置了640x480
视频剪辑的部分就要靠你自己了。
视频剪辑的部分就要靠你自己了。
GPUImage是基于IOS的
FFMPEG有基于CPU也有基于GPU加速的
实时滤镜其实有时候也牺牲了帧率(比如30帧,在预览时候可能掉到20帧甚至更低),只是最合成过程中你看不出来而已(合成时候一般不丢帧,但也意味着合成时间可能大于1:1)。
另外就是能不能实时,一方面看CPU或GPU性能,第二方面看分辨率大小(大部分手机编辑视频的分辨率都不高),第三方面看滤镜类型,有些滤镜很耗费计算量,做不到实时。
FFMPEG有基于CPU也有基于GPU加速的
实时滤镜其实有时候也牺牲了帧率(比如30帧,在预览时候可能掉到20帧甚至更低),只是最合成过程中你看不出来而已(合成时候一般不丢帧,但也意味着合成时间可能大于1:1)。
另外就是能不能实时,一方面看CPU或GPU性能,第二方面看分辨率大小(大部分手机编辑视频的分辨率都不高),第三方面看滤镜类型,有些滤镜很耗费计算量,做不到实时。