前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >手把手教你使用ffmpeg及nginx实现直播、点播、安防监控

手把手教你使用ffmpeg及nginx实现直播、点播、安防监控

作者头像
IT大咖说
发布2019-11-11 23:20:27
3K0
发布2019-11-11 23:20:27
举报
文章被收录于专栏:IT大咖说

搭建思路:

1. 采用nginx+nginx-rtmp-module搭建rtmp服务端

2. ffmpeg作为推送端,将视频流转为adobe flash flv格式封装后推送到nginx rtmp服务

Nginx服务端:

nginx下载:

nginx-rtmp-module下载:

编译安装:

添加rtmp配置:

启动服务:

配置Nginx流媒体服务器

nginx服务器有一个配置文件叫做nginx.conf ,这个文件默认是位于/usr/local/nginx/conf 目录下。 我将这个文件改成这样:

其中rtmp就是rtmp服务器模块,端口是1935,application我理解为一个路径。可以通过访问rtmp://localhost/videotest 来访问videotest这个资源。live on 表示这是实时的传输,这不同于点播,点播就好比我在某视频网站上想看一个视频,无论我什么时候去点击,它会从头开始播放。而实时传输(直播),就是好比看电视,我在19:20去打开电视(打开直播路),视频不会从头开始播放,而是从当前(19:20)的视频数据开始播放。

除了配置rtmp服务器,还可以配置HTTP和HTTPS服务器。这方面我还没有深入去了解。更多关于nginx服务器和其配置方式,请阅读nginx官网 。

安装ffmpeg

首先安装h264 视频编解码库:

sudo apt-get update

sudo apt-get install libx264-dev

安装ffmpeg ,依次输入以下命令:

wget http://ffmpeg.org/releases/ffmpeg-3.0.9.tar.bz2

tar jxvf ffmpeg-3.0.9.tar.bz2

cd ffmpeg-3.0.9/

sudo ./configure –enable-shared –enable-pthreads –enable-gpl –enable-avresample –enable-libx264 –enable-libtheora –disable-yasm

动态

sudo ./configure –disable-shared –enable-static –enable-pthreads –enable-gpl –enable-avresample –enable-libx264 –enable-libtheora –disable-yasm

静态

如果出现错误 ,可能需要安装sudo apt-get -y install libtheora-dev

sudo make

sudo make install

其中sudo make 这个过程会比较久。安装完ffmpeg之后,在命令行中输入ffmpeg:

如果出现找不到库,说明是使用动态编译,库的路径无法找到。

因为这里我重新用静态命令编译一遍,然后就成功了。

推流与拉流

配置好nginx.conf之后,重新启动sudo /usr/local/nginx/sbin/nginx

然后在命令行中使用 ffmpeg 进行推流:

ffmpeg -re -i /home/hjh/nginx/video.mp4 -vcodec copy -acodec copy -b:v 800k -b:a 32k -f flv rtmp://localhost:1935/videotest/test

/home/hjh/nginx/video.mp4自己需要播放的文件。

在本机器上用vlc打开串流rtmp://localhost:1935/videotest/test如图

这里有一个bug,局域网中其他电脑访问服务器需要使用: rtmp://10.150.90.230:1935/videotest/test 10.150.90.230 表示服务器的IP地址,并且需要加入端口号,否则只能在本机服务器上播放,其他电脑如法播放。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT大咖说 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档