我需要獲得可用攝像頭的兼容幀率/分辨率。這怎麼可以用ffmpeg庫來完成?我試過使用avdevice
的功能,但他們都似乎檢索錯誤。我無法獲得可用設備的列表。FFMPEG API - 檢索設備攝像頭信息
這是使用avfoundation在mac上完成的(並且稍後將使用dshow將其移植到windows)。
謝謝你的時間。
我需要獲得可用攝像頭的兼容幀率/分辨率。這怎麼可以用ffmpeg庫來完成?我試過使用avdevice
的功能,但他們都似乎檢索錯誤。我無法獲得可用設備的列表。FFMPEG API - 檢索設備攝像頭信息
這是使用avfoundation在mac上完成的(並且稍後將使用dshow將其移植到windows)。
謝謝你的時間。
嘗試運行
ffmpeg -f dshow -list_options true -i video="Integrated Camera"
更換「DSHOW」和「集成攝像頭」,不管你有,根據不同的平臺上。如上所述,你可以用
ffmpeg -f dshow -list_devices true -i x
獲得視頻設備的名稱,然後,您可以管使用>操作的結果輸出到文件,或爲與處理的進一步命令行工具|運營商。例如,
ffmpeg -f dshow -list_options true -i video="Integrated Camera" > test.txt
或
ffmpeg -f dshow -list_options true -i video="Integrated Camera" | grep 'pixel_format'
不幸的是,「獲取名稱」和「GET幀率」的API可能還沒有被「充實」這些輸入設備。對於dshow,您可以將輸出解析爲「ffmpeg -f dshow -list_devices true -i x」,但這與目前的效果相當。可能avfoundation有一個類似的選項[?] – rogerdpack
但這意味着從我的程序運行ffmpeg,用戶將不得不與應用程序一起安裝,對不對?它會工作,但我覺得有點麻煩。 – Solidus
你可以將它們列爲「你自己」,因爲它是https://trac.ffmpeg.org/wiki/DirectShow#Howtoprogrammaticallyenumeratedevices – rogerdpack