ffmpeg視頻採集功能很是強大,不只能夠採集視頻採集卡或USB攝像頭的圖像,還能夠進行屏幕錄製,同時還支持以RTP方式將視頻流傳送給支持RTSP的流媒體服務器,支持直播應用。linux
在Linux平臺上,ffmpeg對V4L2的視頻設備提升了很好的支持,如:windows
./ffmpeg -t 10 -f video4linux2 -s 176*144 -r 8 -i /dev/video0 -vcodec h263 -f rtp rtp://192.168.1.105:5060 > /tmp/ffmpeg.sdp服務器
以上命令表示:採集10秒鐘視頻,對video4linux2視頻設備進行採集,採集QCIF(176*144)的視頻,每秒8幀,視頻設備爲 /dev/video0,視頻編碼爲h263,輸出格式爲RTP,後面定義了IP地址及端口,將該碼流所對應的SDP文件重定向到/tmp /ffmpeg.sdp中,將此SDP文件上傳到流媒體服務器就能夠實現直播了。ide
./ffmpeg -t 10 -f video4linux2 -s 176*144 -r 10 -vpre libx264-hq.ffpreset -i /dev/video0 -vcodec libx264 -f rtp rtp://192.168.1.105:6060 > /tmp/x264.sdp工具
這條命令與上面的相似,可是視頻編碼爲h264,因爲ffmpeg是用外部庫x264支持h264編碼,所以h264的視頻採集須要更多參數。主要是須要指定-vpre libx264-hq.ffpreset 才能夠。編碼
在windows下關於ffmpeg視頻採集的資料很是少,可是ffmpeg仍是支持windows下視頻採集的。ffmpeg支持windows 下video for windows(VFW)設備的視頻採集,不過VFW設備已通過時,正在被WDM的視頻設備所取代,可是ffmpeg尚未支持WDM的計劃,不過好像有 將WDM轉爲VFW的工具,所以ffmpeg仍是能夠在windows下進行視頻採集的。具體命令以下:spa
./ffmpeg -t 10 -f vfwcap -i 0 -r 8 -f mp4 cap.mp4code
具體說明以下:咱們採集10秒,採集設備爲vfwcap類型設備,第0個vfwcap採集設備(若是系統有多個vfw的視頻採集設備,能夠經過-i num來選擇),每秒8幀,輸出方式爲文件,格式爲mp4。視頻
ffmpeg -f vfwcap -s 320x240 -r 25 -i 0 -b 400K -vcodec mpeg4 new.mp4直播