[技術討論] 問功課:自學android camera (Update:做完了)

本帖最後由 ati16800 於 2018-5-12 23:20 編輯

係網上抄考左個apk,可以將手機鏡頭既preview image經ip socket送出,然後download另一set program食呢個image經io送去linux既 /dev/video0 (v4l2 driver),於是一般應用(試過cheese)可以直播手機鏡頭既image。

我要問既功課係,參考上面,點樣可以將手機鏡頭image送去另一個android既cam driver 。我現時係可以將一個image hardcode 係driver裡面(HAL層),但係就唔知應該用乜方法去食user層(有root權)既image,求各C兄們指點。

終於用socket做完呢件功課。

咩功課會響Android上面玩咁low level野?
正常android app係唔應該直接踩落hardware/driver做野, 因為部部機都唔同

TOP

咩功課 ? 自己俾自己既android功課。
不過唔係關於app既野,亦都同hardware無關,相反,係要架空hardware,用software cam 取代,所以亦都係機種independent。

TOP

唔理乜都好
ANDROID CAM令番黎既野都係一串BYTE數據
咁樣理解就簡單好多

單純就係數據處理
然後用JNI黎做你想做既野
再通過SURFACEVIEW黎顯示

TOP

唔理乜都好
ANDROID CAM令番黎既野都係一串BYTE數據
咁樣理解就簡單好多

單純就係數據處理
然後用JNI黎做 ...
gakko 發表於 2018-5-8 14:18


佢係相反
唔係讀android cam
而係將其他source拎翻黎既野, 扮成一件假device放去/dev
等其他program access device camera時, 會read左果個source, 而非真camera

如果要改到咁, 個人覺得要改kernel module先做到, 因為你要拎走os本身既camera module(driver)先可以自己再inject自己module落去

TOP

如果要改到咁, 個人覺得要改kernel module先做到, 因為你要拎走os本身既camera module(driver)先可以自己再inject自己module落去

如果話經ioctl call入去既叫kernel,咁應該唔係改kernel,因為我會攔截全部ioctl call。改既位大概算係framework既後面,kernel既前面。
試左幾個方法,暫時似乎用標准ip socket做橋粱行得通,不過未有時間落實去試。

TOP