您当前的位置:

视频APP开发

大家知道视频APP为何如此火爆吗?因为移动端跟PC端比起来更加容易便捷,人们利用手机可以随时创造视频或者观看视频,还有就是将人们的碎片化时间利用起来,发挥到极致,进而如此受欢迎。慢慢的大家开始进行视频APP开发,今天华尚小编主要给大家分享一下视频APP—iOS端开发的经验。


视频APP开发


一、视频编码


视频app的视频都要进行视频编码,如果不进行视频编码的话,数据量就会非常大,造成存储和传输困难,所以视频文件通常都需要在录制完成之后进行编码。视频编码主要从两个维度进行数据压缩:


1、单张图像某一区域相邻像素相似,比如一片红色只记录红色色值和区域,不用记录这个区域的每一个像素点。


2、相邻图像之间内容相似,因为相邻两帧要制造连续的效果,所以两帧之间的内容一般非常接近,目前主流的视频编码技术都是用图像编码方法对第一帧进行编码。


二、视频格式


视频的封装格式主要有MP4、MOV、AVI、RMVB等,除了RMVB以外,其它格式内封装的视频编码格式都是采取H.264的编码标准,这也是最常用的编码标准,压缩效率比MPEG-2提升了一倍多。但是相反,H.264的解码难度提高了3倍。


三、视频码率


通常,视频文件的大小/视频的时长即定义为码率。码率和分辨率与视频质量之间的关系可以理解为以下几点。


1、码率可以理解为取样率,单位时间内取样率越大,精度就越高,同时体积也越大。


2、当视频没有经过编码时,如果分辨率越高,那么视频图像的细节越清晰。


3、但如果视频经过编码,被限制在一定码率内,编码器就必须舍弃掉一部分细节。


所以分辨率和码率都与视频的清晰度有关。


四、视频质量


纯粹的视频(不包括音频)实质上就是一组帧图片,经过视频编码成为视频文件再把音频文件和字幕文件组装在一起成为我们看到的视频文件。1秒内出现的图片数就是帧率,图片间隔越小画面就越流畅,所以帧率越高效果就越好,需要的存储空间也就越多。


五、软解码和硬解码


H.264的视频解码给CPU造成了很大负担,所以通常会把这部分工作交给更善于进行处理简单工作但是数据量较大的GPU。


1、GPU解码就是所谓的硬解码。


2、CPU解码就是软解码。


3、iOS提供的播放器类使用的是硬解码,所以视频播放对CPU不会有很大的压力,但是支持的播放格式比较单一。