海康摄像头开发SRS+ffmpeg+http-flv+flv.js(二)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了海康摄像头开发SRS+ffmpeg+http-flv+flv.js(二)相关的知识,希望对你有一定的参考价值。

参考技术A 接上篇文章。虽然部署好了网络,通过VLC能播放视屏,但是离简单好用的道路还很远,在这期间查了很多资料,对整个系统有了不扫了解。首先引用一下,关于实现web播放的几种方法和优缺点(以下来自网络):

开始的我也使用了网络的介绍,用ffmpeg转成rmtp流,但最后发现如果要播放rmtp流是需要flash支持的,现在的flash的支持度很差,显然不行,网上现在能找到的FFmpeg + nginx-rtmp-module方案并不是一个好方案。所以还是需要使用方案三。
以下的这个表写的比较清楚,能支持html5播放器的就httpflv和hls,二选一选择httpflv。

在本人实际操作中使用的流媒体服务器并不是nginx-http-flv-module ,而是用了SRS(simple rmtp server)+FFMPEG方案,感觉更简单。

搭建过程先省略。(详细搭建SRS+ffmpeg单独文档)

遇到的问题:
搭建完成,推流后VLC能播放,但是用flv.js的播放器
http://bilibili.github.io/flv.js/demo/
总是无法播放,后来发现下面还是有提示错误的。

这里主要是要注意转换语句:
原来是这样,参数-vcodec 和 -acodec 都用的copy,而实际摄像头处理的视频格式是h.264+pcma_u

后来改成这样,将-acodec 改成aac

就能看到视频了

视频里是家中窗外风景。

实际使用中发现,如果视频部分h264不转码,用copy的模式的话cpu性能不高,可以支持很多路数。
视频和vlc播放的时候延时10s左右,感觉延时有点大。

接下来就是要把flv.js移植到工程中。然后现在的推流什么的都是命令行执行的,这些肯定不行.

2Window下安装FFmpeg并实现将摄像头的流推流到SRS

2.1、安装FFmpeg

2.1.1、官方地址

FFmpeg官方地址:FFmpeg

FFmpeg的GitHub地址:GitHub - FFmpeg/FFmpeg: Mirror of https://git.ffmpeg.org/ffmpeg.git

2.1.2、下载

Windows下要使用FFmpeg可以直接下载官方现成的库,当然也可以自己通过源码进行安装,这里我们直接下载官方编译好的库。

点击第3步骤进入下面的页面,切记找对,不要下载错了哟。

由于下载非常的慢,需要耐心的等待。

以上是关于海康摄像头开发SRS+ffmpeg+http-flv+flv.js(二)的主要内容,如果未能解决你的问题,请参考以下文章

2Window下安装FFmpeg并实现将摄像头的流推流到SRS

海康摄像SDK开发笔记:海康威视网络摄像头SDK介绍与模块功能

海康摄像SDK开发笔记:海康威视网络摄像头SDK介绍与模块功能

海康威视 NVR 视频转换 ffmpeg

流媒体服务海康摄像头RTSP视频推流转码拉流直播综合应用:VLC+FFMPEG+Nginx实现RTSP到RTMP网页直播

ffmpeg 捕捉摄像头 间隔