ffmpeg使用指令实现推流实现直播流程
- 1、实现流程
- 2、nginx配置
- 3、配置FFmpeg
- 4、利用FFmpeg实现推流
- 5、利用vlc实现拉流
- 6、在网页上拉流播放
1、实现流程
Windows下用FFmpeg+nginx+rtmp搭建直播环境 实现推流、拉流 。
- FFmpeg: FFmpeg既是一款音视频编解码工具,同时也是一组音视频编解码开发套件,作为编解码开发套件,它为开发者提供了丰富的 音视频处理的调用接口。
- Nginx: 是一款轻量级的Web 服务器/反向代理服务器及电子邮件代理服务器。 nginx-rmtp-module是Nginx服务器的流媒体插件。nginx通过rtmp模块提供rtmp服务, ffmpeg推送一个rtmp流到nginx, 然后客户端通过访问nginx来收看实时视频流。
- VLC: 拉流播放视频。
2、nginx配置
- 启动nginx
进入nginx的目录,运行其中rtmp文件。执行下列代码
cd G:\studyprojects\setUpVideoService\nginx-1.7.11.3-Gryphon
nginx.exe -c conf\nginx-win-rtmp.conf
- 在网页中输入localhost:80 若出现下图,则启动成功
注意: 在启动nginx报错80端口被占用问题。
这里我是采用修改端口的方式进行更改,因为我不想停止我的IIS服务。所以我将配置文件的80端口修改为了81。所以每次访问我输入的是localhost:81访问。若采用的网上修改注册表的方式,会发现IIS停止了。
3、配置FFmpeg
将ffmpeg解压到指定目录,并且配置环境变量。配置环境变量请自行查找相关文章。
这里我们使用fffmpeg实现推流,我们需要使用摄像头获取视频,使用麦克风获取音频。所以你的电脑必须具有音视频捕捉设备。
打开win+r 打开命令行窗口,执行下列代码可查看你的音视频设备
ffmpeg -list_devices true -f dshow -i dummy
你可以通过右键电脑->管理->设备管理器中查看,如图
4、利用FFmpeg实现推流
在命令行中执行下列代码,实现推流
ffmpeg -f dshow -i video=“USB2.0 Camera”:audio=“麦克风 (Realtek High Definition Audio)” -vcodec libx264 -acodec copy -preset:v ultrafast -tune:v zerolatency -f flv “rtmp://172.19.9.147:1935/live/home”
//其中USB2.0是你的照相机设备名称,麦克风 (Realtek High Definition Audio)是你的麦克风名称,rtmp://172.19.9.147:1935/live/home是你的推流地址,将172.19.9.147换成你自己的ip地址即可
5、利用vlc实现拉流
打开你下载vlc,点击媒体->打开网络串流->输入地址rtmp://172.19.9.147:1935/live/home->点击播放。
直播过程就这样实现了
6、在网页上拉流播放
将你的网页html在iis服务器上发布,必须要通过服务器访问网页,不要直接在本地打开文件。可查看到直播过程,如图