linux FFMPEG 攝像頭採集資料推流

2021-08-21 22:24:53 字數 2054 閱讀 5236

環境vmware14    ubuntu14

1)搭建推流伺服器nginx-rtmp(主要參考:

mkdir /home/ffmpeg

cd /home/ffmpeg

wget

wget

解壓兩個原始碼包

update-rc.d nginx defaults推流:ffmpeg -re -i /home/ffmpe

配置 nginx-rtmp 伺服器

開啟 /usr/local/nginx/conf/nginx.conf

rtmp 

live on;

record off;}}

}

到這裡伺服器安裝成功

2)安裝ffmpeg

wget

關於這個的安裝教程很多暫且略過

安裝vlc media player

在虛擬機器準備乙個mp4檔案然後進行推流

推流命令:ffmpeg -re -i /home/ffmpeg/test1.mp4  -vcodec copy -acodec copy -f flv "rtmp:"

後面嘗試外接攝像頭進行推流,發現ffmpeg一些功能還未編譯進去,在虛擬機器啟用v4l2的時候報錯誤

重新配置編譯

./configure --prefix=/usr/local/ffmpeg --enable-gpl --enable-shared --enable-nonfree  --enable-libx264   --enable-libxcb --enable-libv4l2
使能libx264 libv4l2等功能,

在執行上面這個配置命令可能會報not found x264 v4l2等錯誤

(具體可參考

apt-get install libx264-dev  

apt-get install libv4l-dev

即可解決

make

make install

到安裝目錄下執行推流命令

./ffmpeg -f video4linux2 -s  640x480 -i /dev/video0  -f flv rtmp: (通過拉流發現畫面非常卡頓,應該是引數配置問題)

在執行的時候可能會報未找到某乙個庫

為 ffmpeg 加入環境變數

vi /etc/profile

加入以下內容:

export path="/usr/local/ffmpeg/bin:$path"

然後儲存並執行source /etc/profile

我又陸續增加如下幾個引數,感覺效果不大,後面再研究這些引數含義

./ffmpeg -f video4linux2 -r 12 -s  640x480 -i /dev/video0  -f flv rtmp:

./ffmpeg -f video4linux2  -r 12 -s 640x480 -i /dev/video0 -vcodec libx264 -f flv rtmp:

(ffmpeg -f video4linux2 -qscale 10 -r 12 -s 640x480 -i /dev/video0 -f alsa -i hw:1 -ab 16 -ar 22050 -ac 1 -f *** -f flv rtmp:這個命令是在  這個部落格找到的,應該是可以實現的,可能缺少某些功能未編譯進去

輸入位址進行拉流,如果在windwos就使用虛擬機器ip位址

拉流:rtmp:

附上常用命令

linux FFMPEG 攝像頭採集資料推流

環境vmware14 ubuntu14 1 搭建推流伺服器nginx rtmp 主要參考 mkdir home ffmpeg cd home ffmpeg wget wget解壓兩個原始碼包 update rc.d nginx defaults推流 ffmpeg re i home ffmpe 配置...

攝像頭程式設計

這是乙個關於設想頭的類 using system using system.runtime.interopservices namespace webcam structlayout layoutkind.sequential public struct bitmapinfoheader struc...

攝像頭記錄

1.參考 camera.parameters parameters camera.getparameters listsizelist parameters.getsupportedpreviewsizes 如果sizelist只有乙個我們也沒有必要做什麼了,因為就他乙個別無選擇 if sizeli...