视频流媒体服务器播放视频或直播为什么要使用编解码?
近期我在我们的开发者群里,经常会看到开发者们对流媒体编码不了解,问了很多问题。(编解码)今天也是有开发者问我:为什么要通过编解码才能播放视频?我刚好想到这么一个有意思的比喻:如果把整个流媒体是一个物流系统,那么编解码就是其中配货和装货的过程。是的,这个过程非常重要,它的速度和压缩比对物流系统的意义非常大,影响物流系统的整体速度和成本。同样,对流媒体传输来说,编码也非常重要,它的编码性能、编码速度和编码压缩比会直接影响整个流媒体传输的用户体验和传输成本。
为什么要对视频进行编解码?视频采集设备采集的原始音频和视频体积都非常大,如果不进行压缩的话,通过网络直接发送原始数据目前的网络根本承受不住。同时视频相邻帧之间有很多重复的内容,为了减少体积便于存储、传输,就有了压缩处理,也就是“编码”。经过压缩(编码)过的内容无法直接使用,在观看时必须解压缩,还原为原始的信号,也就是“解码”。
像我们常用的编码有H264,H265和VP8编码仅有部分网页浏览器支持,网页无插件流媒体播放器EasyPlayer.JS目前已经支持H265编码格式。
1、H.264/AVC
H.264/AVC 项目意图创建一种视频标准。与旧标准相比,它能够在更低带宽下提供优质视频(换言之,只有 MPEG-2,H.263 或 MPEG-4 第 2 部分的一半带宽或更少),也不增加太多设计复杂度使得无法实现或实现成本过高。另一目的是提供足够的灵活性以在各种应用、网络及系统中使用,包括高、低带宽,高、低视频分辨率,广播,DVD 存储,RTP/IP 网络,以及 ITU-T 多媒体电话系统。
2、HEVC/H.265
高效率视频编码(High Efficiency Video Coding,简称HEVC)是一种视频压缩标准,被视为是ITU-T H.264/MPEG-4 AVC标准的继任者。HEVC被认为不仅提升视频质量,同时也能达到H.264/MPEG-4 AVC两倍之压缩率(等同于同样画面质量下比特率减少了50%),可支持4K分辨率甚至到超高清电视(UHDTV),最高分辨率可达到8192×4320(8K分辨率)。
3、VP8
VP8是一个开放的视频压缩格式,最早由On2 Technologies开发,随后由Google发布。同时Google也发布了VP8编码的实做库:libvpx,以BSD授权条款的方式发行,随后也附加了专利使用权。而在经过一些争论之后,最终VP8的授权确认为一个开放源代码授权。目前支持VP8的网页浏览器有Opera、Firefox和Chrome。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界