ffmpeg使用指令实现推流实现直播流程

1、实现流程

Windows下用FFmpeg+nginx+rtmp搭建直播环境 实现推流、拉流 。

  1. FFmpeg: FFmpeg既是一款音视频编解码工具,同时也是一组音视频编解码开发套件,作为编解码开发套件,它为开发者提供了丰富的 音视频处理的调用接口。
  2. Nginx: 是一款轻量级的Web 服务器/反向代理服务器及电子邮件代理服务器。 nginx-rmtp-module是Nginx服务器的流媒体插件。nginx通过rtmp模块提供rtmp服务, ffmpeg推送一个rtmp流到nginx, 然后客户端通过访问nginx来收看实时视频流。
  3. VLC: 拉流播放视频。

2、nginx配置

  1. 启动nginx
    进入nginx的目录,运行其中rtmp文件。执行下列代码
    cd G:\studyprojects\setUpVideoService\nginx-1.7.11.3-Gryphon
    nginx.exe -c conf\nginx-win-rtmp.conf  
    
    在网页中输入localhost:80 若出现下图,则启动成功
    验证nginx启动成功
    注意: 在启动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服务器上发布,必须要通过服务器访问网页,不要直接在本地打开文件。可查看到直播过程,如图
网页拉流

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章