《FFmpeg Basics》中文版-20-麥克風(fēng)和攝像頭

寫在前面

如果您對(duì)音視頻技術(shù)感興趣犁珠,可以訂閱我的專題:音視頻專輯
也可以關(guān)注我的簡(jiǎn)書賬戶: 張芳濤互亮,我后期會(huì)發(fā)布更多的音視頻以及圖像處理方面的文章。

正文

麥克風(fēng)和網(wǎng)絡(luò)攝像頭(網(wǎng)絡(luò)攝像頭)是計(jì)算機(jī)設(shè)備的常用部分饼疙,而FFmpeg包含了它們的使用元素。

輸入設(shè)備介紹

FFmpeg可以識(shí)別麥克風(fēng)和網(wǎng)絡(luò)攝像頭等輸入設(shè)備屏积,這些輸入設(shè)備被定義為可以從附加的多媒體設(shè)備訪問數(shù)據(jù)的元素磅甩。 在Windows上,麥克風(fēng)和網(wǎng)絡(luò)攝像頭可通過dshow輸入設(shè)備進(jìn)行訪問渣聚,如表中所述:

描述 在Windows操作系統(tǒng)上的輸入設(shè)備僧叉,支持的是音頻和視頻設(shè)備
語(yǔ)法 options type=media_type[:type=media_type]
[]中的參數(shù)是可選的
類型參數(shù)的描述
type 值可以是視頻或音頻
選項(xiàng)參數(shù)的可用值
audio_buffer_size 音頻設(shè)備緩沖區(qū)大衅慷椤(以毫秒為單位)(可直接影響延遲,取決于設(shè)備)郎笆,默認(rèn)使用設(shè)備的默認(rèn)緩沖區(qū)大型痱尽(通常為500ms的倍數(shù))。 將此值設(shè)置得過低可能會(huì)降低性能
audio_device_number 具有相同名稱的設(shè)備的音頻設(shè)備號(hào)(從0開始远舅,默認(rèn)為0)
channels 捕獲音頻中的通道數(shù)
framerate 在拍攝的視頻中幀頻
list_devices 如果設(shè)置為1痕钢,則打印設(shè)備列表并退出
list_options 如果設(shè)置為1,則打印選定設(shè)備的選項(xiàng)列表并退出
pixel_format 像素格式的使用爆办,只有在視頻編解碼器沒有設(shè)置或設(shè)置為rawvideo時(shí)才能設(shè)置
sample_rate 捕獲音頻的采樣率(在Hz中)
sample_size 捕獲音頻的樣本大小(二進(jìn)制)
video_device_number 同名設(shè)備的視頻設(shè)備編號(hào)(從0開始课梳,默認(rèn)為0)
video_size 視頻大小在捕獲的視頻

可用的相機(jī)和麥克風(fēng)的列表

便攜式電腦有一個(gè)內(nèi)置的攝像頭暮刃,或者我們可以通過USB接口連接到電腦。麥克風(fēng)也經(jīng)常在電腦里制造椭懊,或者我們可以把一個(gè)放在電腦的麥克風(fēng)插孔上,通常是粉紅色的背犯,耳機(jī)的插孔是綠色的漠魏。要在Windows上顯示所有可用的輸入設(shè)備,我們使用dshow設(shè)備的list_devices選項(xiàng)柱锹,比如在命令中:

ffmpeg -list_devices 1 -f dshow -i dummy

輸出取決于所使用的計(jì)算機(jī)禁熏,示例輸出說明下一個(gè)圖像:


輸出顯示有一個(gè)名為“HP webcam”的網(wǎng)絡(luò)攝像頭和一個(gè)名為“麥克風(fēng)(Realtek High Defini)”的麥克風(fēng)。麥克風(fēng)的全稱是“麥克風(fēng)(Realtek高清)”隙笆,但顯示的只有31個(gè)字符升筏。

  • 因?yàn)樯厦娴拿钍轻槍?duì)Windows的您访,所以我的MAC平臺(tái)下面需要下面的命令:

    ffmpeg -f avfoundation -list_devices true -i ""
    
  • 顯示效果如下:

可用選項(xiàng)的攝像頭

Webcam通常有幾種使用-list_options參數(shù)顯示的工作模式剪决。要顯示來自以前輸出的“HP webcam”網(wǎng)絡(luò)攝像頭的選項(xiàng)柑潦,我們可以使用以下命令:

ffmpeg -list_options true -f dshow -i video="HP Webcam"

我的測(cè)試命令:

ffmpeg -f avfoundation -r 30  -i "1:0"  -t 20 /Users/zhangfangtao/Desktop/test2.mp4 
  • 聲明一下,我的facetime沒登錄览露,也打不開譬胎,所以就錄屏了,錄了二十秒鐘的屏幕

效果圖如下:

輸出取決于攝像機(jī)類型偏化,通常顯示可用的分辨率(幀大小)和幀速率:


顯示和記錄網(wǎng)絡(luò)攝像機(jī)的輸入

當(dāng)我們知道網(wǎng)絡(luò)攝像頭的名稱時(shí)侦讨,我們可以在屏幕上顯示它的輸入,或者將它記錄到文件中骗污。下一個(gè)命令顯示帶有默認(rèn)設(shè)置的webcam輸入(通常是最大大小和最大幀速率)怜俐,第一個(gè)是ffplay媒體播放器,第二個(gè)是SDL輸出設(shè)備:

ffplay -f dshow -i video="HP Webcam"
ffmpeg -f dshow -i video="HP Webcam" -f sdl "webcam via ffmpeg"

我的測(cè)試命令:

ffplay -f avfoundation  -i "2:0"
  • 錄制的副屏的屏幕信息


  • 解釋一下,錄制的是我的副屏屏幕信息季稳。如果錄制主屏幕信息,就是另外一個(gè)樣子了仲翎。铛漓。。玫坛。:

要將webcam輸入記錄到文件中湿镀,我們可以使用以下命令:

ffmpeg -f dshow -i video="HP Webcam" webcam.avi

我的測(cè)試命令:

ffmpeg -f avfoundation -r 30 -i "0:0" -t 30 /Users/zhangfangtao/Desktop/test2.mp4 
  • 結(jié)果就是生成了一個(gè)30秒鐘的視頻文件伐憾,視頻內(nèi)容就是FaceTime里面的內(nèi)容。
  • 這里說明一下蒸矛,我一開始是想生成一個(gè)10MB的視頻文件胸嘴,結(jié)果都錄了二十多分鐘了,還沒有停下來的意思磁玉,我就強(qiáng)制終止了驾讲,結(jié)果那時(shí)候視頻已經(jīng)將近五十兆了席赂。颅停。掠拳。。大小設(shè)置真的很不準(zhǔn)喊熟、姐刁。。壁拉。

Webcams通常有一個(gè)默認(rèn)的媒體格式柏靶,比如AVI、MOV等痘昌,它們將輸入保存在一個(gè)與網(wǎng)絡(luò)攝像頭相關(guān)的應(yīng)用程序中梆靖。使用這些默認(rèn)的文件格式有時(shí)會(huì)導(dǎo)致比使用其他文件格式更好的視頻質(zhì)量笔诵。

使用兩個(gè)攝像頭

如果有兩個(gè)網(wǎng)絡(luò)攝像頭可用乎婿,我們可以通過USB端口將它們連接到電腦上,同時(shí)用ffmpeg工具顯示它們的輸出捍靠。下一個(gè)命令顯示網(wǎng)絡(luò)攝像頭的名稱森逮,包括麥克風(fēng)名,控制臺(tái)輸出如下:

ffmpeg -list_devices 1 -f dshow -i dummy

惠普Webcam的選項(xiàng)和如何顯示它們的命令在Webcam的可用選項(xiàng)部分中良风,下面是第二個(gè)Webcam命名為Sirius USB2.0相機(jī)的選項(xiàng):

顯示輸入網(wǎng)絡(luò)攝像頭我們可以使用覆蓋過濾器和因?yàn)槟J(rèn)視頻大小的攝像頭是640 x480像素,我們第二個(gè)輸入的大小設(shè)置為320 x240(qvga)-video_size選項(xiàng),該命令(單引號(hào)返回錯(cuò)誤,只能使用雙引號(hào)):

ffmpeg -f dshow -i "video=Sirius USB2.0 Camera" -f dshow -video_size qvga ^ -i "video=HP Webcam" -filter_complex overlay -f sdl "2 webcams"

前面的命令將第二個(gè)webcam輸入定位到左上角于个,將其放置到右下角,我們將寬度和高度參數(shù)添加到疊加過濾器中:疊加=W/2:H/2。

錄音并發(fā)送到揚(yáng)聲器

與網(wǎng)絡(luò)攝像頭類似伍玖,麥克風(fēng)也有幾個(gè)工作模式钞艇,這些工作模式顯示為-list_options參數(shù)設(shè)置為true或1。對(duì)于輸入?yún)?shù)使用音頻類型而不是視頻这难,在前幾節(jié)中使用-list_devices選項(xiàng)列出的麥克風(fēng)的命令是:

ffmpeg -list_options 1 -f dshow -i "audio=Microphone (Realtek High Defini"

要將聲音從麥克風(fēng)傳到揚(yáng)聲器姻乓,我們可以使用以下命令:

ffplay -f dshow -i audio="Microphone (Realtek High Defini"

將聲音記錄到音頻文件的命令如下:

ffmpeg -f dshow -i audio="Microphone (Realtek High Defini" -t 60 mic.mp3

從麥克風(fēng)和網(wǎng)絡(luò)攝像頭錄制音頻和視頻眯牧,我們可以使用以下命令:

ffmpeg -f dshow -i audio="Microphone (Realtek High Defini":^ video="HP Webcam" webcam_with_sound.avi
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末学少,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子版确,更是在濱河造成了極大的恐慌绒疗,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件惕虑,死亡現(xiàn)場(chǎng)離奇詭異磨镶,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)伟叛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門痪伦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人网沾,你說我怎么就攤上這事辉哥。” “怎么了醋旦?”我有些...
    開封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵饲齐,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我御雕,道長(zhǎng)滥搭,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任闽坡,我火速辦了婚禮疾嗅,結(jié)果婚禮上冕象,老公的妹妹穿的比我還像新娘。我一直安慰自己交惯,他們只是感情好席爽,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開白布啊片。 她就那樣靜靜地躺著紫谷,像睡著了一般捐寥。 火紅的嫁衣襯著肌膚如雪祖驱。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天乡洼,我揣著相機(jī)與錄音匕坯,去河邊找鬼。 笑死锹雏,一個(gè)胖子當(dāng)著我的面吹牛术奖,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播榛丢,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼晰赞,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼选侨!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起戏挡,我...
    開封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤晨仑,失蹤者是張志新(化名)和其女友劉穎洪己,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體答捕,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拱镐,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了哗咆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖空繁,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情闷祥,我是刑警寧澤傲诵,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布拴竹,位于F島的核電站,受9級(jí)特大地震影響栓拜,放射性物質(zhì)發(fā)生泄漏幕与。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一潮饱、第九天 我趴在偏房一處隱蔽的房頂上張望诫给。 院中可真熱鬧,春花似錦凫碌、人聲如沸吃型。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)赐写。三九已至,卻和暖如春揉忘,著一層夾襖步出監(jiān)牢的瞬間端铛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來泰國(guó)打工您朽, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留换淆,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓讯屈,卻偏偏與公主長(zhǎng)得像县习,于是被迫代替她去往敵國(guó)和親躁愿。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一種新的協(xié)議炮赦。它實(shí)...
    香橙柚子閱讀 23,848評(píng)論 8 183
  • 我輾轉(zhuǎn)千回吠勘, 只為夢(mèng)中見到你峡眶。 終是山仞千丈, 我亦雄心萬(wàn)丈峭拘。 終是迷霧千重, 我亦乘風(fēng)破萬(wàn)鸡挠。 愿我如夢(mèng), 似幻似...
    星辰溥天閱讀 250評(píng)論 0 4
  • 珠江鋼琴@潮州 一道 四彭沼、高級(jí)階段:如果說鋼琴的初級(jí)階段我們側(cè)重于手指技能的訓(xùn)練姓惑,學(xué)習(xí)和掌握各類基本彈奏...
    ZMDPR閱讀 353評(píng)論 0 0
  • 2016—8—22 莒鍋鍋 1 我們都知道望众,不論在體制內(nèi)還是體制外伞辛,即使在同一個(gè)單位...
    莒鍋鍋閱讀 449評(píng)論 3 4
  • “媽蚤氏,快看,快看竿滨,太可怕了』俅校”女兒目不轉(zhuǎn)睛地盯著電視贰剥,朝著廚房里的我大聲嚷嚷“龀桑“什么節(jié)目讓你這么激動(dòng)担忧?”我一邊擦著...
    緣末閱讀 700評(píng)論 47 52