目錄
1、引言
2、UVC設備介紹
3、UVC源碼分析
4、如何檢測UVC設備
一、引言
之前寫過一篇關於V4L2的博客,給大家簡單介紹了linux中關於視頻設備的驅動框架,而我們今天的主角"UVC",其實就是一個基於USB框架的V4L2設備,目前有很多USB接口的攝像頭,都是使用的這個框架,所以今天我們來好好整理一下
二、UVC框架介紹
UVC設備介紹
USB video class(又稱爲USB video device class or UVC)就是USB device class視頻產品在不需要安裝任何的驅動程序下即插即用,包括攝像頭、數字攝影機、模擬視頻轉換器、電視卡及靜態視頻相機。
之前也說過UVC設備其實就是基於USB框架的V4L2設備,所以一個UVC設備想要正常顯示,必須滿足以下幾個條件
1 UVC的camera硬件支持
2 UVC驅動支持,包括USB設備驅動以及v4l2的支持
3 上層的應用程序支持(調用V4L2接口的相關APK)
linux中的UVC
linux UVC驅動是爲了全面的支持UVC設備。它包括V4L2內核驅動程序和用戶空間工具補丁。這個視頻設備或者USB視頻類的USB設備類的定義定義了在USB上的視頻流的功能。UVC類型的外設只需要一個通用的驅動支持就能夠正常工作,就像USB 大容量存儲設備一樣。
三、UVC源碼分析
UVC驅動源碼位於:drivers\media\video\uvc\uvc_driver.c