视频数据流
声明:引用请注明出处http://blog.csdn.net/lg1259156776/
什么是视频数据流(video streaming)
指的是将压缩(通常)的视频经过私有或者公用的网络(可以是因特网,局域网,卫星或者有线电视等)传输,之后进行解压缩并在设备上进行播放的行为。
为何对视频进行压缩?
主要是为了节省传输带宽和存储空间。
从表格中可以看出压缩和不压缩的区别,压缩的好处是明显的。
标准定义的视频(standard definition video)YUV三各分量的位宽比为4:2:0,而高清晰度的视频(High definition video)YUV的位宽比为4:4:4。实际中通常需要1000:1的压缩率。
VoD streaming与live streaming的区别
流媒体可以点播或者现场直播。现场直播时,源视频是实时捕获和编码的,需要更多的计算处理、网络资源和效率;而点播则不同,原视频是先前编码过的,然后直接stream的,不需要实时捕获、转换和编码。
点播编码应该能更加好的利用编码技巧,而且它的文件是已知的,可以进一步优化传输延迟;而现场直播受限于实时性,一些耗时而增加编码质量的技巧不能采用,否则会增加整体的直播延迟。
什么是视频流处理和需要什么资源
video streaming process需要一系列步骤,硬件,软件和网络资源。如下图所示:
第一步是捕获,通常采用video camera,视频混合器,麦克风等硬件资源来获取模拟的或者是数字的视频和音频等。
第二步是转换,将模拟视频通过视频采集卡转换为数字的,如果已经是数字视频,就无须转换了。
第三步是预处理,由视频采集卡进行降噪,或者逐行交错视频等来获得更有效的编码。
第四步是编码,需要硬件或者软件编码器来编码和压缩数字视频。
第五步是传输,需要一定的网络带宽来传输压缩过的视频,支持不同带宽的观众。
第六步是解码,需要硬件或者软件解码器来解码解压缩,以供下一步的显示用。
第七步是显示,通过播放器(flash,window media等)来播放视频(可以在电视,手机或电脑上)。
直播视频流需要怎样的网络和带宽?
通常不需要重新配置网络基础设施(路由,交换机,网关等)。如果是使用flash streaming的话,对应的端口(80,1935,443)一定要在基础设施路由和网关上打开。http streaming(Apple HTTP D Streaming, Adobe Flash
Dynamic Streaming, Microsoft Smooth Streaming with Silverlight)则没有特殊的需要,除非防火墙数据包检查禁止了多媒体数据包的流畅通过。
在视频源编码端,如果stream一个高品质512x384 或者 768x432分辨率的视频,需要大约650 Kbps 和 1 Mbps的上载带宽。如果要提供多重不同分辨率的视频流给不同带宽条件的用户则需要更多的bandwith。在接收端,则需要650 Kbps 和 1 Mbps的下载带宽。
CODEC是啥?
是硬件或软件压缩编码数字数据(如数字视频或音频)和解压缩解码回原始数据的形式。它是编码器和解码器的集成。
视频帧是啥?
数字视频由序列图片(源视频在某一时间点的的视频图像)构成。
standard definition video是啥?
不是HD的video就是SD的video,通常的模型是:
480i - 720x480 resolution @ 4:3 aspect ratio @ 24 frames per second (fps); there are 480 vertical lines of resolution in each interlaced video frame.
SD video的最高分辨率为576的高度height。
high definition video是啥?
- 720p - 1280x720 resolution @ 16:9 aspect ratio @ 25/30/60 frames per second (fps); there are 720 vertical lines of resolution in each video frame; and
- 1080i/p - 1920x1080 resolution @ 16:9 aspect ratio @ 25/30/60 frames per second (fps); there are 1080 vertical lines of resolution in each video frame.
仅仅是靠分频率来决定视频是SD的还是HD的,而不是质量,帧率和比特率等。
2015-9-29 艺少