流媒体服务器、海康威视⼤华摄像头实现视频监控、直播解决⽅案
随着互联⽹+物联⽹进程的加快,视频监控应⽤领域变得越来越⼴泛,其中海康威视 ⼤华等品牌的摄像头频繁出现在视野中。由于去年也实现过智慧⼯地项⽬上的视频监控
⽅案,加上当今直播趋势不减。现在总结⼀下:
缘由:是1对N 点对多的直播⽅式, ⼀般都是采⽤服务器转发,所以此处不考虑WebRTC这种端对端的⽅式,WebRTC将在下⼀篇⽂章中讲解下实现思路。
前提:需要海康威视或⼤华的摄像头,⼤华摄像头清晰度 品质较好,但相对于海康的摄像头较贵,所以海康威视的摄像头更受⼝袋欢迎。
⼀.⾃建流媒体服务器
第⼀种⽅式就是⾃建流媒体服务器,然后⾃⼰实现采集推流 到服务器 拉流到客户端播放。先看⼀张图:
1. 先客户端软件或设备采集视频流和语⾳流,或者是摄像头硬件采集的画⾯流等(如何采集就属于硬件相关的问题了,此处不讨论)
2. 然后通过推流的⽅式推到流媒体服务器,推流协议可以使⽤RTMP RMSP,这2种都是基于tcp的 不会丢包。但是很容易造成⾼延迟(具体的看服务器 ⽹络 是否做CDN来⽀
撑)。
1 //可指定h264或h265编码,可以把h265编码看成是h264编码的升级版,在码率 体积 清晰度 移动补偿上更友好些
2 //⼤体结构为:rtsp://摄像头⽤户名:密码@地址:端⼝ 服务器上地址参数...
3 rtsp://admin:yjt_jiankong@192.168.0.60:554/h264/ch1/main/av_stream
4 rtsp://admin:yjt_jiankong@192.168.0.60:554/Streaming/Channels/101?transportmode=unicast
以上⽅式只是实现了流推送到了服务器,并没有指定它播放地址以及播放的转码。因此我们可以考虑使⽤ffmpeg,这是⼀套可以⽤来记录、转换数字⾳频、视频,并能将其
转化为流的开源计算机程序。也就是使⽤ffmpeg不光可以本地采集流还可以指定推送到那⼀台服务器上和它的播放地址等等;