音视频
每一次切换显示的画面,称之为一帧(Frame)。而帧率则表示每秒切换的帧数,因此它的单位是 FPS(Frames Per Second)。帧率并不和视频的清晰度直接相关,但它却也是影响感官体验的重要因素。
需要记录一个变化须臾之间的镜头时,准备足够的帧数才能捕捉到细微的变化
当拍摄一个缓慢的镜头推进的效果时,帧率并不需要太高,分辨率会起到更高的作用。
帧率的选取除了需要结合播放内容,还需要结合显示设备的刷新频率,否则选取了过高的帧率而显示设备不支持的话,多余的帧也只会被丢弃。
分辨率表示视频每一帧包含的像素,以 水平方向的像素数量 × 垂直方向的像素数量 来表示,比如 720p = 1280 × 720 就是一个比较常见分辨率。
比特率的大小,受到单位时间内的视频文件的体积所影响,而影响视频文件的体积的因素为:原始视频内容、转码选取的分辨率、帧率以及转码所采用的编码方案(Codec)。
比特率表示为了显示一秒的画面所需传输的比特数。它可以方便的和带宽做比较。在线点播时,需要保证在有限的带宽条件下,每秒传输尽可能多的比特,这些比特需要保证画面的传递不会出现问题
而在 HLS 协议中,通过 m3u8 文件来对分段的内容进行描述和索引。
视频的制作者除了需要将视频进行分段以外,还需要生成对这些分段进行描述的 m3u8 文件,而视频的消费者,只要得到 m3u8 文件,就可以灵活的选择分段的加载形式了。
那些不支持 HLS 的浏览器环境中,通常可以使用另一种类似的协议,该协议直接由 MPEG 组织开发和维护,称之为 MPEG-DASH,
视频内容预加载 视频内容预加载顾名思义就是在视频未开始播放前,就预先加载一部分视频内容,这样用户点击播放时,即刻就能获得反馈。
视频内容预加载的算法基于两点进行展开:
对用户即将进行点播的行为的预判 在不阻碍当前播放进度的前提下进行预加载
使用 HLS 和 DASH 协议都有一个前提条件,就是视频文件需要按照协议的规定以及业务实际所需进行预先分段,换句话说就是需要服务端的配合。
最后更新于
这有帮助吗?