欢迎光临散文网 会员登陆 & 注册

浅谈编码率和流媒体之间的千丝万缕(上)

2019-02-21 02:06 作者:盲人号  | 我要投稿

  也是搁搁碰碰了一段时间,最近总算闲下来可以写点什么了,说实话已经快忘了我是个什么up了(笑)

  那废话也不多了,就简单来谈谈这个信息媒体时代我们看到的视频和传输之间的关系吧


 流媒体这个词听起来很高端,其实我们的日常就能够接触的到,并已经一定程度上侵蚀了我们的生活。对,它就是各式各样的直播。

 流式传输的实现需要缓存。因为Internet以包传输为基础进行断续的异步传输,,在传输中它们要被分解为许多包,由于网络是动态变化的,各个包选择的路由可能不尽相同,故到达客户端的时间延迟也就不等,甚至先发的数据包还有可能后到。为此,使用缓存系统来弥补延迟和抖动的影响,并保证数据包的顺序正确,从而使媒体数据能连续输出,而不会因为网络暂时拥塞使播放出现停顿。通常高速缓存所需容量并不大,因为高速缓存使用环形链表结构来存储数据:通过丢弃已经播放的内容,流可以重新利用空出的高速缓存空间来缓存后续尚未播放的内容。——流式传输的实现需要合适的传输协议。由于TCP需要较多的开销,故不太适合传输实时数据。在流式传输的实现方案中,一般采用HTTP/TCP来传输控制信息,而用RTP/UDP来传输实时声音数据。


 所以简而言之,我们说看到的所有视频和音频数据都是被从一个源打包成一个个更小的包再传输到我们的终端上的。同时,因为中国网络以病态膨胀速度的影响,现在的中国的流媒体传输格式依旧保持着从新浪网冲浪时代留下的flv封装格式,

那既然谈到了封装格式,这边也岔开来聊一下所谓的封装格式吧。

你是否常常听到,XX.avi ,mp4播放器这些字眼? 并一直把它们当成所谓的视频格式?

那我只能很抱歉的表示你搞错了

首先,我要澄清一个概念,所谓mp4,avi,和h.264,mkv这些文件,就像你拆开安卓应用的apk文件会发现其实它其实是一个rar文件,ncw就是一个外套一样,这些都是封装格式(也叫容器),就是将已经编码压缩好的视频轨和音频轨按照一定的格式放到一个文件中,也就是说仅仅是一个外壳,或者大家把它当成一个放视频轨和音频轨的文件夹也可以。

所以我们会经常看到有所谓(内嵌)字幕,和ass(外挂)字幕的视频。

那为什么有这么多格式,到现在大家依旧偏爱flv那?

这要回归到网络播放器还没有那么强大的年代了。

虽然现在有了html5的支持,网络播放器已经能任性的“调速”播放

但在早年,网络流传的主要播放器依旧是耳熟能详的flash播放器

而它最支持的格式就是flv格式,再加上flv的极小的体积,使得它便于传输,

也就理顺成章的成为了时代的宠儿。

那回归到直播和流媒体,这和我们有什么关系那,也许早年有摆弄的直播的同学对一个软件一定不陌生

它就是obs,作为集便利,免费,通用等多种特质的优秀软件,它一直是pc客户端直播用户的宠儿,

那既然,我们的视频是一种分装格式,它打包的自然就是数据,而数据是有大小的


这就是我们所谓的“码率”,而我们的软件则是将这些信息编译成数据包的工具,

视频以4~24bit的编码方式,音频以8~32位浮点的记录方式传输,

所以 ,我们直播环境中出现的音质差,画质差,除了源的问题

很大程度上是推送的数据流编码格式导致的

那~ 事件也不早了,今天这篇专栏就先写到这里吧,如果有小伙伴喜欢或愿意纠错的欢迎私信或在评论区踩上你的一个脚印,我基本都会看的,那么我们下篇再见


浅谈编码率和流媒体之间的千丝万缕(上)的评论 (共 条)

分享到微博请遵守国家法律