??ffmpeg命令查詢UVC設備
????????.\ffmpeg.exe -list_devices true -f dshow -i dummy
????????上圖是查詢UVC設備的效果圖,畫紅框的部分是UVC設備的設備名稱"USB2.0 PC CAMERA"和設備號 "@device_pnp_\\?\usb#vid_1908&pid_2310&mi_00#8&39abfe5&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"
? ? ? ? 怎么判斷是不是呢?把攝像頭拔出來,再輸入命令查詢一下,如果發現原來那個不見了,就可以確定是這個攝像頭了。
2.2. ffmpeg命令進行推流
?.\ffmpeg.exe?-f dshow -i video="@device_pnp_\\?\usb#vid_1908&pid_2310&mi_00#8&19c228a2&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global" -c:v libx264 -preset veryfast -maxrate 3000k -bufsize 6000k -pix_fmt yuv420p -g 30 -f h264 "udp://192.168.100.75:8080"
-f:指定設備進行采集, 在windows上使用dhow來進行視頻數據采集,相當于Linux的/dev/video節點的查找
-i:文件的輸入路徑, 這里是輸入對應的攝像頭設備@device_pnp_\\?\usb#vid_1908&pid_2310&mi_00#8&19c228a2&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global
-c:v: 編碼器參數, 這里用libx264進行編碼
-preset: 編碼速度的配置, veryfast編碼速度比較快, 效果較好
-maxrate:最大的碼率, 3000k = 3M
-bufsize:比特率緩沖大小, 這里是6000k
-pix_fmt:圖像格式, 這里是yuv420p
-g:關鍵幀間隔, 這里30
-f:輸出文件的格式,這里是h264格式 ?
????????最后url地址:udp://192.168.100.75:8080, 其中192.168.100.75是板子的地址, 端口號是8080。意思是推流到板子上面去。
????????而在ffmpeg拉流讀取的時候,需要的是電腦的ip, 如udp://192.168.100.66:8080。從電腦的位置拉流。
?????????上圖是推流的效果圖, 有了上面的打印就證明推流已經成功了。這個是uvc外接攝像頭的
? ? ? ? 我這個圖片給是用我本地電腦攝像頭推流相關的,看到unable to decode APP fields: Invalid data found when processing input暫時不要緊。