日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ffmpeg实现摄像头拉流_ffmpeg推流拉流的几种方式

發布時間:2024/8/1 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ffmpeg实现摄像头拉流_ffmpeg推流拉流的几种方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ffmpeg在以前介紹過,是一個相當強大的工具,我們這次利用它實現rtmp推流(最終推流地址統一為rtmp://127.0.0.1:1935/live/123)。

1、首先下載ffmpeg和ffplay

ffmpeg在以前介紹過,是一個相當強大的工具,我們這次利用它實現rtmp推流(最終推流地址統一為rtmp://127.0.0.1:1935/live/123)。

1、首先下載ffmpeg和ffplay

image

2、cmd進入ffmpeg所在目錄

image

3、ffmpeg查看電腦設備

輸入下面的語句即可列出電腦的設備

ffmpeg -list_devices true -f dshow -i dummy

image

可以看到我電腦里面有USB2.0 PC CAMERA攝像頭和一個亂碼的麥克風

如果設備名稱有中文,會出現亂碼,想看設備原名,可以去設備管理器中查看,又可以利用第三方工具查看,推薦后者。

比如使用graphedit,打開程序后 圖表-> 插入過濾器,就可以看到相應的設備名

image

image

image

可以發現可用設備為USB2.0 PC CAMERA和麥克風 (2- USB2.0 MIC)

4、測試攝像頭是否可用

cmd中輸入下面語句并回車(USB2.0 PC CAMERA為攝像頭名稱)

ffplay -f dshow -i video="USB2.0 PC CAMERA"

或者

ffplay -f vfwcap -i 0

image

如果成功彈出播放窗口,則代表設備可用,否則可能是設備不可用或者設備被占用

5、查看攝像頭和麥克風信息

cmd中輸入下面語句即可查詢攝像頭信息

ffmpeg -list_options true -f dshow -i video="USB2.0 PC CAMERA"

image

USB2.0 PC CAMERA攝像頭信息

cmd中輸入下面語句即可查詢麥克風信息

ffmpeg -list_options true -f dshow -i audio="麥克風 (2- USB2.0 MIC)"

image

麥克風(2- USB2.0 MIC)信息

6、本地視頻的推流

先進行簡單的本地視頻推流模擬,我們在ffmpeg的目錄下放置一個視頻,然后cmd進入該目錄,把視頻推流至rtmp://127.0.0.1:1935/live/123(127.0.0.1:1935為rtmp服務器地址、live為nginx配置節點、123當做密鑰,推流拉流地址一樣即可播放),語句如下

ffmpeg.exe -re -i demo.wmv -f flv rtmp://127.0.0.1:1935/live/123

image

此時ffmpeg源源不斷的把視頻推流至服務器,如果地址沒錯,可以利用vlc或其他手段實現拉流,這里就先不解釋如何拉流

7、攝像頭推流

接下來正式把對攝像頭進行推流,從前面我們知道攝像頭名稱為USB2.0 PC CAMERA,而且推流服務器ip為127.0.0.1:1935,關鍵字為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

image

和本地視頻推流一樣,攝像頭拍到的畫面會實時推流出去(當然會有延遲而且現在是沒有聲音的),當地址正確時,可以實現拉流

8、麥克風推流

前面介紹了攝像頭畫面推流,可是沒有聲音,這次我們把麥克風聲音推流出去,cmd中輸入下面語句

ffmpeg -f dshow -i audio="麥克風 (2- USB2.0 MIC)" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f flv rtmp://127.0.0.1:1935/live/123

image

和前面差不多,聲音被推流出去了,通過vlc拉流可以聽到錄制的聲音,但很明顯不會有畫面

9、攝像頭&麥克風推流

終于到最激動人心的時刻了,我們這次要實現同時推流攝像頭畫面與聲音,此時我們的語句應該如下

ffmpeg -f dshow -i video="USB2.0 PC CAMERA" -f dshow -i audio="麥克風 (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="麥克風 (2- USB2.0 MIC)" -vcodec libx264 -r 25 -preset:v ultrafast -tune:v zerolatency -f flv rtmp://127.0.0.1:1935/live/123

image

很nice,和前面一樣,畫面與聲音源源不斷的被推流到服務器,接下來我們就應該正式的開發拉流了

作者:Msg1

鏈接:https://www.jianshu.com/p/c141fc7881e7

來源:簡書

簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權并注明出處。

image

2、cmd進入ffmpeg所在目錄

image

3、ffmpeg查看電腦設備

輸入下面的語句即可列出電腦的設備

ffmpeg -list_devices true -f dshow -i dummy

image

可以看到我電腦里面有USB2.0 PC CAMERA攝像頭和一個亂碼的麥克風

如果設備名稱有中文,會出現亂碼,想看設備原名,可以去設備管理器中查看,又可以利用第三方工具查看,推薦后者。

比如使用graphedit,打開程序后 圖表-> 插入過濾器,就可以看到相應的設備名

image

image

image

可以發現可用設備為USB2.0 PC CAMERA和麥克風 (2- USB2.0 MIC)

4、測試攝像頭是否可用

cmd中輸入下面語句并回車(USB2.0 PC CAMERA為攝像頭名稱)

ffplay -f dshow -i video="USB2.0 PC CAMERA"

或者

ffplay -f vfwcap -i 0

image

如果成功彈出播放窗口,則代表設備可用,否則可能是設備不可用或者設備被占用

5、查看攝像頭和麥克風信息

cmd中輸入下面語句即可查詢攝像頭信息

ffmpeg -list_options true -f dshow -i video="USB2.0 PC CAMERA"

image

USB2.0 PC CAMERA攝像頭信息

cmd中輸入下面語句即可查詢麥克風信息

ffmpeg -list_options true -f dshow -i audio="麥克風 (2- USB2.0 MIC)"

image

麥克風(2- USB2.0 MIC)信息

6、本地視頻的推流

先進行簡單的本地視頻推流模擬,我們在ffmpeg的目錄下放置一個視頻,然后cmd進入該目錄,把視頻推流至rtmp://127.0.0.1:1935/live/123(127.0.0.1:1935為rtmp服務器地址、live為nginx配置節點、123當做密鑰,推流拉流地址一樣即可播放),語句如下

ffmpeg.exe -re -i demo.wmv -f flv rtmp://127.0.0.1:1935/live/123

image

此時ffmpeg源源不斷的把視頻推流至服務器,如果地址沒錯,可以利用vlc或其他手段實現拉流,這里就先不解釋如何拉流

7、攝像頭推流

接下來正式把對攝像頭進行推流,從前面我們知道攝像頭名稱為USB2.0 PC CAMERA,而且推流服務器ip為127.0.0.1:1935,關鍵字為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

image

和本地視頻推流一樣,攝像頭拍到的畫面會實時推流出去(當然會有延遲而且現在是沒有聲音的),當地址正確時,可以實現拉流

8、麥克風推流

前面介紹了攝像頭畫面推流,可是沒有聲音,這次我們把麥克風聲音推流出去,cmd中輸入下面語句

ffmpeg -f dshow -i audio="麥克風 (2- USB2.0 MIC)" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f flv rtmp://127.0.0.1:1935/live/123

image

和前面差不多,聲音被推流出去了,通過vlc拉流可以聽到錄制的聲音,但很明顯不會有畫面

9、攝像頭&麥克風推流

終于到最激動人心的時刻了,我們這次要實現同時推流攝像頭畫面與聲音,此時我們的語句應該如下

ffmpeg -f dshow -i video="USB2.0 PC CAMERA" -f dshow -i audio="麥克風 (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="麥克風 (2- USB2.0 MIC)" -vcodec libx264 -r 25 -preset:v ultrafast -tune:v zerolatency -f flv rtmp://127.0.0.1:1935/live/123

image

很nice,和前面一樣,畫面與聲音源源不斷的被推流到服務器,接下來我們就應該正式的開發拉流了

作者:Msg1

鏈接:https://www.jianshu.com/p/c141fc7881e7

來源:簡書

簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權并注明出處。

總結

以上是生活随笔為你收集整理的ffmpeg实现摄像头拉流_ffmpeg推流拉流的几种方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。