趣谈网络协议笔记-二(第十六讲上)
趣谈网络协议笔记-二(第十六讲上)
流媒体协议:如何在直播里看到美女帅哥?
自勉
- 给岁月以文明,而不是给文明以岁月!——《三体》
- 在触不到的獠牙上点火……就像不必仰望那星星就能够解决……就像不必喊破喉咙就可以一样。——阿散井恋次《死神Bleach》
前言
今天公司说要办联谊活动,然后同事们就很快乐地帮我报名了= =,就很快乐地帮我报名了。我这人有一个坏毛病,如果有些事情没有尝试过,就特别想去试一试(违法的除外!),所以就点头报名了。
然后被拒绝了,说我年纪太小了,应该把机会让给更有需要的人们。
《三体》真的有很多经典的台词,总是能让我深有启发。就比如给岁月以文明而不是给文明以岁月,这句台词是人类得知三体人的进攻时,采取计划经济导致文明衰退后的自省。
放到今天不是也一样吗?如果是像蝼蚁一样苟活着,那么即使你活的再久又有什么意义呢?
其实我感觉昨天的章节的表达方式挺好的,照着他所给出的图片来构建出自己的认知。今天其实也打算再按照昨天的流程来理一遍视频直播协议RTMP的网络通信过程的,但是当我复制图片的时候,我惊呆了,10张图片!是昨天的十倍!好了,只能改变一下战略,将RTMP协议分两天完成。毕竟我的规划中,Android部分才是相对重要的部分。计划是这样的,但是也不保证我一口气就说完了呢= =
先定个计划,先把视频的压缩过程说完吧。
正文
直播,说到底是一种即时的媒体播放协议,注意,是即时的,所以你正常情况下无法回退。
你有可能会存在延迟,但是这个延迟绝对是短暂的,如果延迟过长,则会直接更新到最新的视频内容中,因为,协议的设计就是为了保证所谓的即时性。不然当对面的美女主播进行一些互动甚至抽奖时,如果不确保这个即时性,等你知道信息的时候,互动都已经结束了,这就叫单纯的看视频而不是看直播了。
那么问题来了,视频是什么,为什么我传输了那一串不知道是什么的01数据,播放器就能清楚我传输的是什么并且能够进行播放呢?
视频说到底就是快速切换的一堆图片,当图片切换地足够快的时候,因为人眼的视觉残留,所以看到的就好像是图像在运动一般。
但是如果仅仅是简单存储一堆图片并播放的话,视频所占用的空间是惊人的,比如说我在支持1024*768的显示器上要播放一分钟的30fps的视频,那么这个视频的大小应该是多少呢?假如说像素是通过RGB组成的,那么总共需要1024*768*3*60*30=4246732800B
,大约4个G
的数据!然而实际上,我之前所假设的场景绝对是低配中的低配,实际场景绝对比这个要复杂。那么怎么办呢?如果1分钟的视频我都需要4个G的流量来运行,那我一个月话费再多都支撑不了我看多少时间的直播啊!
这个时候,就需要对视频本身进行压缩了,媒体的压缩一般是从如下几个方面进行处理的:
一. 空间冗余
一张图片的相邻像素的颜色往往是渐变的,所以没有必要每个像素都完整地保存,完全可以每隔几个保存一个,中间的用算法计算出来。
二. 时间冗余
视频序列的相邻图像之间的内容相似。一个视频中连续出现的图片也不是突变的,可以根据已有的图片进行预测和推断。
三. 视觉冗余
人的视觉系统对某些细节不敏感,因此不会每一个细节都注意到,可以允许丢失一些数据。
四. 编码冗余
有些像素用到的少,有些多,那就在编码的时候按照哈夫曼编码的思路对其进行优化,从而减少传输的数据长度。
基于这四种压缩思路进行压缩后的数据就可以用于数据传输了。
趣谈网络协议笔记-二(第十六讲上)相关推荐
- 趣谈网络协议笔记-二(第六讲)
趣谈网络协议笔记-二(第六讲) 交换机记忆的到底是端口,还是方向,如果是方向那么何来方向,下图中的感觉更像是网桥? 局域网中的数据是不是必定先经过交换机(网桥,hub)? 为什么广播时mac地址为25 ...
- 趣谈网络协议笔记-二(第十七讲)
趣谈网络协议笔记-二(第十七讲) P2P协议:我下小电影,99%急死你 自勉 逃离舒适区! 正文 一. P2P协议 整个篇章讲的就是这两个协议之间的区别.P2P协议就是迅雷下载数据时所用的协议, 众所 ...
- 趣谈网络协议笔记-二(第十一讲)
趣谈网络协议笔记-二(第十一讲) TCP协议(上):因性恶而复杂,先恶后善反轻松 自勉 我似乎天性不擅长争斗,但是有些时候,我也必须砥砺前行. 强大是和平的前提,而善良不是. 前言 今天回到家里已经是 ...
- 趣谈网络协议笔记-二(第十九讲)
趣谈网络协议笔记-二(第十九讲) HttpDNS:网络世界的地址簿也会指错路 自勉 勿谓言之不预也 -- 向为祖国牺牲的先烈致敬! 引用 dns缓存刷新时间是多久?dns本地缓存时间介绍 - 东大网管 ...
- 趣谈网络协议笔记-二(第十八讲)
趣谈网络协议笔记-二(第十八讲) DNS协议:网络世界的地址簿 自勉 勿谓言之不预也 -- 向为祖国牺牲的先烈致敬! 正文 DNS用于域名解析,但也不仅仅是用于域名解析,不仅仅是将域名转换成IP. 在 ...
- 趣谈网络协议笔记-二(第十三讲)
趣谈网络协议笔记-二(第十三讲) 套接字Socket:Talk is cheap, show me the code 前言 这只是笔记,是为了整理刘超大神的极客时间专栏的只是而存在的! 经常会在网络上 ...
- 趣谈网络协议笔记-二(第十二讲)
趣谈网络协议笔记-二(第十二讲) TCP协议(下):西行必定多妖孽,恒心智慧消磨难 前言 哈哈哈,越当我看刘超的通俗讲解,我就越感觉自己的无能.每次当我看了讲解之后,每次当我感觉到这个东西原来是这么简 ...
- 趣谈网络协议笔记-二(第十讲)
趣谈网络协议笔记-二(第十讲) UDP协议:因性善而简单,难免碰到"城会玩" 自勉 如果手上没有剑,我就无法保护你.如果我一直握着剑,我就无法抱紧你.--<Bleach> ...
- 趣谈网络协议笔记-二(第十五讲)我与刘超有不同看法
趣谈网络协议笔记-二(第十五讲) HTTPS协议:点外卖的过程原来这么复杂 前言 好饿啊= =,最近感觉自己真的是胖的不行了,所以开始了适当的节食操作. 我似乎很不擅长隐藏自己的想法.我似乎很不习惯于 ...
最新文章
- SAP LT Replication Server与SAP HANA中与Replication相关的表
- Windows8 解决VMware与Hyper-V不兼容共存方法
- 列举java接口_Java接口特点列举说明
- 看问题要看到本质:从Web服务器说起
- 区块链预言机(5)预言机原理
- spring cloud: 使用consul来替换config server,config key/value 具体的配置详解
- 2021牛客多校4 - Rebuild Tree(树形dp)
- 如何在官网中下载历史版本的火狐浏览器
- 从头开始敲代码之《从BaseApplication/Activity开始》
- 让 Chrome 崩溃的一行 CSS 代码
- linux下编程epoll实现将GPS定位信息上报到服务器
- Word中将传统的复选框型窗体域选项插件 批量替换成 复选框内容控件
- 都是第一,3143亿背后科技公司贡献了多少?
- hackerrank 刷题一(python 基础)
- java的编译路径在哪_如何知道我的java编译器的路径
- 彩虹系统改良版源码附带N种模板虚拟商城源码
- 最小生成树求最大比率 UVALive - 5713
- 震惊了!鸿蒙又多了一种开发方式Ets,让更多的人赶上红利!
- 百度地图自定义图标动画
- 维基百科著名程序员列表大全
热门文章
- oracle中decode函数用法及应用
- linux下oracle启动关闭
- mysql怎么实现确认收货_Tp结合redis实现订单自动收货
- 我的理想计算机系100字,我的理想作文100字(通用5篇)
- python0o12_2020年日期表-python实现
- c++如何把字符串转为变量名_如何优雅地计算多变量
- cmyk图像处理matlab,数字图像处理及MATLAB实现 全套课件.pptx
- 云计算 码率适配限速_面向大型集团公司的云平台架构
- nvm卸载node_nvm-node版本管理工具
- jquery实现点击浏览器后退,上一页面自动刷新