ffmpeg在以前介紹過车胡,是一個(gè)相當(dāng)強(qiáng)大的工具,我們這次利用它實(shí)現(xiàn)rtmp推流(最終推流地址統(tǒng)一為rtmp://127.0.0.1:1935/live/123)概耻。
1、首先下載ffmpeg和ffplay
官方下載鏈接為:http://ffmpeg.org/
2、cmd進(jìn)入ffmpeg所在目錄
3、ffmpeg查看電腦設(shè)備
輸入下面的語句即可列出電腦的設(shè)備
ffmpeg -list_devices true -f dshow -i dummy
可以看到我電腦里面有USB2.0 PC CAMERA攝像頭和一個(gè)亂碼的麥克風(fēng)
如果設(shè)備名稱有中文季率,會(huì)出現(xiàn)亂碼,想看設(shè)備原名描沟,可以去設(shè)備管理器中查看飒泻,又可以利用第三方工具查看,推薦后者吏廉。
比如使用graphedit泞遗,打開程序后 圖表-> 插入過濾器,就可以看到相應(yīng)的設(shè)備名
可以發(fā)現(xiàn)可用設(shè)備為USB2.0 PC CAMERA和麥克風(fēng) (2- USB2.0 MIC)
4席覆、測試攝像頭是否可用
cmd中輸入下面語句并回車(USB2.0 PC CAMERA為攝像頭名稱)
ffplay -f dshow -i video="USB2.0 PC CAMERA"
或者
ffplay -f vfwcap -i 0
如果成功彈出播放窗口史辙,則代表設(shè)備可用,否則可能是設(shè)備不可用或者設(shè)備被占用
5娜睛、查看攝像頭和麥克風(fēng)信息
cmd中輸入下面語句即可查詢攝像頭信息
ffmpeg -list_options true -f dshow -i video="USB2.0 PC CAMERA"
USB2.0 PC CAMERA攝像頭信息
cmd中輸入下面語句即可查詢麥克風(fēng)信息
ffmpeg -list_options true -f dshow -i audio="麥克風(fēng) (2- USB2.0 MIC)"
麥克風(fēng)(2- USB2.0 MIC)信息
6髓霞、本地視頻的推流
先進(jìn)行簡單的本地視頻推流模擬,我們?cè)趂fmpeg的目錄下放置一個(gè)視頻畦戒,然后cmd進(jìn)入該目錄方库,把視頻推流至rtmp://127.0.0.1:1935/live/123(127.0.0.1:1935為rtmp服務(wù)器地址、live為nginx配置節(jié)點(diǎn)障斋、123當(dāng)做密鑰纵潦,推流拉流地址一樣即可播放)徐鹤,語句如下
ffmpeg.exe -re -i demo.wmv -f flv rtmp://127.0.0.1:1935/live/123
此時(shí)ffmpeg源源不斷的把視頻推流至服務(wù)器,如果地址沒錯(cuò)邀层,可以利用vlc或其他手段實(shí)現(xiàn)拉流返敬,這里就先不解釋如何拉流
7、攝像頭推流
接下來正式把對(duì)攝像頭進(jìn)行推流寥院,從前面我們知道攝像頭名稱為USB2.0 PC CAMERA劲赠,而且推流服務(wù)器ip為127.0.0.1:1935,關(guān)鍵字為live秸谢,所以cmd中輸入以下語句:
ffmpeg -f dshow -i video="USB2.0 PC CAMERA" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f flv rtmp://127.0.0.1:1935/live/123
和本地視頻推流一樣凛澎,攝像頭拍到的畫面會(huì)實(shí)時(shí)推流出去(當(dāng)然會(huì)有延遲而且現(xiàn)在是沒有聲音的),當(dāng)?shù)刂氛_時(shí)估蹄,可以實(shí)現(xiàn)拉流
8塑煎、麥克風(fēng)推流
前面介紹了攝像頭畫面推流,可是沒有聲音臭蚁,這次我們把麥克風(fēng)聲音推流出去最铁,cmd中輸入下面語句
ffmpeg -f dshow -i audio="麥克風(fēng) (2- USB2.0 MIC)" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f flv rtmp://127.0.0.1:1935/live/123
和前面差不多,聲音被推流出去了垮兑,通過vlc拉流可以聽到錄制的聲音冷尉,但很明顯不會(huì)有畫面
9、攝像頭&麥克風(fēng)推流
終于到最激動(dòng)人心的時(shí)刻了甥角,我們這次要實(shí)現(xiàn)同時(shí)推流攝像頭畫面與聲音网严,此時(shí)我們的語句應(yīng)該如下
ffmpeg -f dshow -i video="USB2.0 PC CAMERA" -f dshow -i audio="麥克風(fēng) (2- USB2.0 MIC)" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f flv rtmp://127.0.0.1:1935/live/123
或者
ffmpeg -f dshow -i video="USB2.0 PC CAMERA":audio="麥克風(fēng) (2- USB2.0 MIC)" -vcodec libx264 -r 25 -preset:v ultrafast -tune:v zerolatency -f flv rtmp://127.0.0.1:1935/live/123
很nice识樱,和前面一樣嗤无,畫面與聲音源源不斷的被推流到服務(wù)器,接下來我們就應(yīng)該正式的開發(fā)拉流了
作者:MsgSS
鏈接:http://www.reibang.com/p/c141fc7881e7
來源:簡書
著作權(quán)歸作者所有怜庸。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)当犯,非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。