当前位置:   article > 正文

记录对接海康威视摄像头web端实时预览:Linux+ffmpeg+nginx转换RTSP视频流(完整版实现)_海康威视web预览(1)_web调用海康安防平台视频流

web调用海康安防平台视频流

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!


#### 2.1.4. 下载nginx:nginx-http-flv-module



  • 1
  • 2
  • 3
  • 4
  • 5

git clone https://github.com/winshining/nginx-http-flv-module.git


#### 2.1.5. 安装nginx



  • 1
  • 2
  • 3
  • 4
  • 5

wget http://nginx.org/download/nginx-1.10.2.tar.gz
tar zxvf nginx-1.10.2.tar.gz
cd nginx-1.10.2

编译时指定nginx-http-flv-module的目录

./configure --add-module=/opt/nginx-http-flv-module
make
sudo make install


        到此,nginx已经安装完成了,接下来修改nginx的配置,配置模板在[https://github.com/winshining/nginx-http-flv-module.git]( )最后给出的example configuration取nginx.conf替换掉nginx默认的nginx.conf


配置模板中只需修改server\_name改成自己服务器的IP地址



  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

cd /usr/local/nginx/conf
mv nginx.conf nginx.conf_bak

上传配置模板…

启动nginx

cd /usr/local/nginx/sbin
./nginx


## 3. ffmpeg


### 3.1. ffmpeg介绍



> 
>         它的官网为:https://ffmpeg.org/,由Fabrice Bellard(法国著名程序员Born in 1972)于2000年发起创建的开源项目。该人是个牛人,在很多领域都有很大的贡献。
> 
> 
>         FFmpeg是多媒体领域的万能工具。只要涉及音视频领域的处理,基本上没有它做不了的事情!通俗点讲,从视频录制、视频编辑再到播放,它都能做!
> 
> 
>         抖音,爱奇艺、腾讯视频、优酷视频,还有播放器,像QQ影音、暴风影音等,都离不开它!否则非常痛苦!为什么呢?
> 
> 
>         因为又要招一大帮人来把多媒体领域内的基础工具(音视频编解码器、文件格式和协议库、滤镜库等等)实现掉。
> 
> 
> 


### 3.2. 安装yasm


ffmpeg为了提高编译速度,使用了汇编指令,如果系统中没有yasm指令的话编译会报错



  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar zxvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make
sudo make install


### 3.3. ffmpeg安装



  • 1
  • 2
  • 3
  • 4
  • 5

wget http://www.ffmpeg.org/releases/ffmpeg-4.1.tar.gz
tar -zxvf ffmpeg-4.1.tar.gz

创建ffmpeg文件夹,指定安装目录

mkdir /opt/ffmpeg
cd /opt/ffmpeg-4.1
./configure --prefix=/usr/local/ffmpeg
make # 这一步很慢,大概5-10分钟,耐心等待
sudo make install


### 3.4. 配置环境变量


配置环境变量使命令全局生效



  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

vi /etc/profile

在最后PATH添加环境变量:

export PATH=$PATH:/opt/ffmpeg/bin

保存退出

source /etc/profile

将ffmepg的lib目录链接到系统库中

vi /etc/ld.so.conf

在文档后追加内容: /opt/ffmpeg/lib/

指定ffmpeg的安装目录lib文件夹,添加完后执行ldconfig,使配置生效

ldconfig

查看版本,测试是否生效

ffmpeg --version


        到此ffmpeg和nginx都已经安装完成了,接下只需要执行ffmepg相关的命令开始推流进行转换操作,之后配和nginx对转换后的流进行访问,就可以在页面上实现实时预览了


## 4. ffmpeg推流


        ffmpeg命令非常多,本次测试也踩了一些坑,最终找到一条可以正常转换,预览的命令;


        ffmpeg支持对不同的流转换到不同的流,本次测试对海康威视H.264码流转换成FLV格式的流。需要其它流转换的小伙伴可以去官网或者百度搜索相关的转换命令。



  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

ffmpeg -ss 0:01 -rtsp_transport tcp -i rtsp://user:password@ip:port/h264/ch1/main/av_stream -c copy -f flv rtmp://127.0.0.1:1935/myapp/test1



> 
> 命令参数介绍
> 
> 
> ffmpeg -ss 0:01 -rsto\_transport tcp -i:固定写法
> 
> 
> rtsp://user:password@ip:port/h264/ch1/main/av\_stream
> 
> 
> 海康的rstp链接模板
> 
> 
> user:海康用户名
> 
> 
> password:海康用户密码
> 
> 
> ip:海康摄像头ipv4地址
> 
> 
> port:海康摄像机端口
> 
> 
> h264:海康支持的码流编码
> 
> 
> ch1:通道号
> 
> 
> main:主码流(sub 子码流)
> 
> 
> av\_stream:主码流
> 
> 


为了做好运维面试路上的助攻手,特整理了上百道 **【运维技术栈面试题集锦】** ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,**小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。**

![](https://img-blog.csdnimg.cn/img_convert/34446d65e7d29168247bc54c0a86e6ac.png)

本份面试集锦涵盖了

*   **174 道运维工程师面试题**
*   **128道k8s面试题**
*   **108道shell脚本面试题**
*   **200道Linux面试题**
*   **51道docker面试题**
*   **35道Jenkis面试题**
*   **78道MongoDB面试题**
*   **17道ansible面试题**
*   **60道dubbo面试题**
*   **53道kafka面试**
*   **18道mysql面试题**
*   **40道nginx面试题**
*   **77道redis面试题**
*   **28道zookeeper**

**总计 1000+ 道面试题, 内容 又全含金量又高**

*   **174道运维工程师面试题**

> 1、什么是运维?

> 2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

> 3、现在给你三百台服务器,你怎么对他们进行管理?

> 4、简述raid0 raid1raid5二种工作模式的工作原理及特点

> 5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

> 6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

> 7、Tomcat和Resin有什么区别,工作中你怎么选择?

> 8、什么是中间件?什么是jdk?

> 9、讲述一下Tomcat8005、8009、8080三个端口的含义?

> 10、什么叫CDN?

> 11、什么叫网站灰度发布?

> 12、简述DNS进行域名解析的过程?

> 13、RabbitMQ是什么东西?

> 14、讲一下Keepalived的工作原理?

> 15、讲述一下LVS三种模式的工作过程?

> 16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

> 17、如何重置mysql root密码?

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/859161
推荐阅读
相关标签
  

闽ICP备14008679号