视频从产生到被消费的流程
-
视频和图像的区别:
视频是由单帧图像以每秒x帧的速率连续组成的,单帧图像类似位图。 -
原始视频的产生:
镜头和sensor。镜头是光学透镜,将大范围内的光折射到很小的范围内。小范围的光通过sensor将光信号转为电信号(模拟信号),这个电信号(模拟信号)通过AD转换,转换为数字电信号(数字信号)。 -
图像处理:
ISP(image signal processing)。将原始视频进行调优,调整为适合人眼看的信号。 -
视频编码压缩:
h.264/h.265,压缩算法(如mjpeg-streamer中压缩比不是很好的算法),有的芯片里由内置DSP进行压缩运算 -
视频流传输:
压缩编码完之后进行传输,如usb等,大多为网络传输—http、rtsp等 -
视频存储:
将收到的视频打包成如MP4格式进行存储 -
视频回放:
解码+播放
以上内容是整个音视频相关项目的开发流程,对于个人而言,做好其中一两个就可以了,其他只作为了解即可
视频行业的商业角度分段
1、主芯片厂商,如海思、TI、安霸、联咏,主芯片厂商的核心就在于他们各自的压缩算法,以SDK的方式开放给开发者使用
senor厂商、镜头等分立元件厂商
2、模组厂商,买来芯片、sensor、镜头等进行一些基础的开发,得出一些视频采集的模组,实现视频的采集、编码、传输
3、视频服务器厂商,类似大拿。让编码后的视频能够通过外网传输。先将视频推到服务器上,再通过服务器让多个客户端进行多线程的访问。
4、面向解决方案的方案开发商,买来模组、视频服务器,进行一些更上层的开发,如app,web管理等。
举几个应用场景:
- 整合模组与服务器,做出手机app。将摄像头放在幼儿园中,家长就可以通过app对校园内的环境进行查看。
- 人脸识别门禁、打卡方案。将sensor接入人脸识别功能,连接数据库制作一套系统。
5、工程商或销售商,做工程的,大多不懂技术只懂施工。他们大多关心摄像头装在墙上还是天花板;用什么网线,网线怎么接;多久施工完。
如一个工程商接一个项目,买来解决方案进行某工厂、停车场的监控系统的建设。
如销售商将智能家居方案卖给个人或家庭。
几个疑问点
-
为什么视频要编码解码
假设分辨率为720p
,帧率为30fps
,一小时的视频内存为1280x720x24x30x3600
,共占用278GB
。
原始视频占用空间太大且传输没有那么大的带宽(100兆的光纤每秒传输100bit,如果1秒视频为20byte那么就传不过去)
于是需要进行编码压缩后传输再解码,即通过运算的复杂度换取存储和传输的资源 -
视频相关的主芯片如
HI3518E
解决了什么问题?
视频编解码的问题 -
为什么使用
linux
而不是其他os
?
linux
中的网络协议栈是最全的。如果音视频项目中涉及到网络传输,那么Linux
中的资源是最多的,开发的也是最好最方便的。RTOS也能做,但是需要自己去继承网络协议栈,没人会自讨苦吃
而视频的编解码和ISP就不一定了。如安霸的方案是在编解码使用RTOS
,在传输时使用linux
。然后在linux与RTOS之间进行 进程间通信然后进行编解码后的传输。
总结
行内人与行外人的区别就在这里。经验的差别一部分就在于这些信息。
希望大家多去关注这些相关的信息,对未来发展很有帮助