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服務器上發佈,必須要通過服務器訪問網頁,不要直接在本地打開文件。可查看到直播過程,如圖
網頁拉流

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