作者: ati16800 時間: 2018-5-5 16:23 標題: 問功課:自學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做完呢件功課。
作者: KinChungE 時間: 2018-5-7 00:06
咩功課會響Android上面玩咁low level野?
正常android app係唔應該直接踩落hardware/driver做野, 因為部部機都唔同
作者: ati16800 時間: 2018-5-7 19:49
咩功課 ? 自己俾自己既android功課。
不過唔係關於app既野,亦都同hardware無關,相反,係要架空hardware,用software cam 取代,所以亦都係機種independent。
作者: gakko 時間: 2018-5-8 14:18
唔理乜都好
ANDROID CAM令番黎既野都係一串BYTE數據
咁樣理解就簡單好多
單純就係數據處理
然後用JNI黎做你想做既野
再通過SURFACEVIEW黎顯示
作者: KinChungE 時間: 2018-5-8 14:28
佢係相反
唔係讀android cam
而係將其他source拎翻黎既野, 扮成一件假device放去/dev
等其他program access device camera時, 會read左果個source, 而非真camera
如果要改到咁, 個人覺得要改kernel module先做到, 因為你要拎走os本身既camera module(driver)先可以自己再inject自己module落去
作者: ati16800 時間: 2018-5-8 19:27
如果要改到咁, 個人覺得要改kernel module先做到, 因為你要拎走os本身既camera module(driver)先可以自己再inject自己module落去
如果話經ioctl call入去既叫kernel,咁應該唔係改kernel,因為我會攔截全部ioctl call。改既位大概算係framework既後面,kernel既前面。
試左幾個方法,暫時似乎用標准ip socket做橋粱行得通,不過未有時間落實去試。

