2010-09-16 64 views
0

有誰知道一些簡單的方法來捕獲視頻到Android設備上的OpenGL應用程序文件或流?Android OpenGL視頻捕獲

例如,我們可以從視圖中捕獲視頻,opengl視圖嗎?

我剛剛發現了以下內容: 1)我們可以使用glReadPixels獲取幀。 (這一步沒有視頻?) 2)MediaRecorder可以對視頻進行編碼,但如果可能的話,我們如何提供它的原始來源? 3)ffmpeg(例如)或其他編碼庫的任何工作端口? portng ffmpeg有一些教程用於NDK。那麼,擁有ffmeg的原始幀和工作端口,我們可以創建視頻?這一步的任何問題?任何人都成功地移植了任何編碼庫?我需要從ffpmeg獲得哪些組件?

優先格式爲mp4或flv。目標設備> 2.1。 NDK是沒有問題的

回答

-1

不是一個簡單的回答你的問題,但這裏有一些指標,至少讓你朝着正確的方向前進。

對於從一般MediaPlayer捕獲視頻幀(非gl視圖),您需要硬件支持,我的意思是設備驅動程序。現在大多數硬件供應商正在爲他們的芯片(如DSP)提供硬件加速器,以加速視頻和照相機的使用情況。除此之外,用戶空間支持(媒體框架和應用程序)允許您訪問設備驅動程序,因此媒體框架將是您完成捕捉視頻的最佳選擇。我會推薦學習一些開源項目,比如Android中的gst-plugins(http://gitorious.org/rowboat/external-gst-plugins-android/trees/master),這肯定會給你一個關於如何堆疊的想法。

對於gl-view的情況,GL驅動程序中需要某種紋理流支持。目前沒有標準的方法來做到這一點(即,目前的驅動程序可能通過專有擴展來支持它)。使用glReadPixels捕捉幀並不是非常有效,因爲涉及到了衝突,並且會影響幀速率。