2017-03-16 236 views
2

使Linux設備(Raspberry Pi)的行爲與另一臺計算機的UVC設備一樣需要什麼?從本質上講,我想使用ffmpeg的輸出表現爲另一臺計算機的網絡攝像頭輸入。將Linux作爲USB UVC設備

回答

1

使Linux設備(Raspberry Pi)的行爲與另一臺計算機的UVC設備一樣需要什麼?

這實際上可以在沒有定製內核的情況下在Pi Zero上完成。在你的config.txt這個OTG支持,重新啓動設置dtoverlay=dwc2並運行後:

sudo modprobe g_webcam 
./uvc-gadget -d 

這是第一個步驟,讓您的皮表現爲一個攝像頭通過流合成數據,你可以在Skype和FaceTime的測試出來,或其他攝像頭觀衆。 Here是uvc-gadget用戶空間程序的源代碼及其通常推薦的補丁程序。

本質上,我想使用ffmpeg的輸出表現爲另一臺計算機的網絡攝像頭輸入。

這部分可能是更多地參與。現有的uvc-gadget程序可以播放通過GStreamer捕獲的網絡攝像機錄像,更多關於this post的討論。對於任意輸入到FFmpeg,您可能必須將您自己的輸出插件代碼與uvc-gadget集成。

如果您使用壓縮:注意FFmpeg已經可以輸出各種容器格式的mjpeg,但該數據仍然必須轉換爲UVC有效載荷mjpeg格式。

0

你大致會需要一個USB OTG能夠RPI,該RPI 3不能夠說。 然後,您將需要一個模擬真實設備的UVC驅動程序的定製內核驅動程序,我不知道任何直接執行此操作的項目。

我能想到的最簡單的方法是將流,而不是試圖仿效UVC因爲這是一個不小的壯舉通過RTMP錄製的圖像。