美文网首页初见程序员
视频播放的逻辑

视频播放的逻辑

作者: 清梓与否 | 来源:发表于2020-05-16 19:53 被阅读0次

今天在收集视频类的API信息的时候,收获也是比较多的,一般来说,API开发成本还是比较合适,对接也较简单,可以快速验证商业模式和用户体验,换一句话说可以适用MVP产品,但同时API经过对接平台,服务商也会获取你平台的相关数据。说完了收获,再说一下,由于自己比较好奇,研究了一下视频播放的逻辑。

其实视频就是连续的图像变化每秒超过24帧画面以上时,根据视觉暂留原理,人眼无法辨别单幅的静态画面;看上去是平滑连续的视觉效果,这样连续的画面叫就做视频,概括其实视频就是一帧一帧的图片。

那么24帧指的是什么呢?就是帧率,指的是视频格式每秒钟播放的静态画面数量。典型的画面更新率由早期的每秒6或8张,至现今的每秒120张不等。

我们储存一部90分钟没压缩的电影需要296GB的,2部电影便可占满我们电脑整个硬盘,所以我们需要对视频进行压缩,这种视频压缩技术就是我们所说的编码。解码就是将编码的视频解压缩处理。

封装格式指的是压缩过的视频数据和音频数据打包成一个文件的规范。我们常见的mp4,flv,avi,rmvb,mkv等,都是代表视频的封装格式。

以上就是视频播放的基本要理解的知识点了,分别是视频含义、帧率、解编码、封装格式,其实播放视频的基本流程就是:解协议 → 解封装 → 解码 → 视音频同步。

解协议:

就是将流媒体协议的数据,解析为标准的相应的封装格式数据。视音频在网络上传播的时候,常常采用各种流媒体协议,这些协议在传输视音频数据的同时,也会传输一些信令数据。这些信令数据包括对播放的控制(播放,暂停,停止),或者对网络状态的描述等。解协议的过程中会去除掉信令数据而只保留视音频数据。

解封装:

就是将输入的封装格式的数据,分离成为音频流压缩编码数据和视频流压缩编码数据。它的作用就是将已经压缩编码的视频数据和音频数据按照一定的格式放到一起。

解码:

就是将视频/音频压缩编码数据,解码成为非压缩的视频/音频原始数据。解码是整个系统中最重要也是最复杂的一个环节。通过解码,压缩编码的视频数据输出成为非压缩的颜色数据;压缩编码的音频数据输出成为非压缩的音频抽样数据。

视音频同步:

就是根据解封装模块处理过程中获取到的参数信息,同步解码出来的视频和音频数据,并将视频音频数据送至系统的显卡和声卡播放出来。

相关文章

网友评论

    本文标题:视频播放的逻辑

    本文链接:https://www.haomeiwen.com/subject/ogwrohtx.html