2012-02-24 58 views
0

我一直在尋找從視頻流抓取YUV框架的不同方式,但大部分我看到依靠從previewSize獲取寬度和高度。但是,手機可以拍攝720p的視頻,但很多手機只能以較低的分辨率(即800x480)顯示,因此可以抓取更接近1920x1080的屏幕快照(如果視頻以720p拍攝)?或者我是否被迫使用預覽分辨率(某些手機上是800x400)?從Android中的視頻抓取框架

謝謝

回答

-1

是的,你可以。 *

*條件申請 -

  • 您需要訪問中間層,mediaframe工作更加精確
  • 沒有,也不能僅僅通過應用程序,如果你做了現在

想在媒體框架工作級別執行此處的步驟 -

  • 假設您正在使用Froyo和以上,使用默認mediaframe工作怯場
  • 在怯場轉到方法onVideoEvent緩衝區從mVideoSource讀取後使用mVideoBuffer在其原始分辨率

與應用程序鏈接此訪問視頻幀 -

  • 您需要在應用程序中的按鈕,表示屏幕捕獲
  • 一旦用戶按下此按鈕,然後你看上面,然後中提到的位置的視頻幀將此緩衝區返回到Java層
  • 從這裏您可以使用JPEG編碼器將原始視頻幀轉換爲圖像。

編輯: 重新閱讀你的問題,你問的錄製過程中屏幕捕獲或相機路徑。即使這樣,在應用程序中也無法實現這一點,您將不得不做類似的事情,但您需要在StageFright框架中訪問CameraSource

+0

我在談論錄製視頻時的屏幕截圖。我無法在mVideoSource和mVideoBuffer上找到資源,並且無法獲得有關該主題的更多信息的任何建議。謝謝 – Saad 2012-02-24 22:07:00

+0

它位於java層以下的媒體框架工作級別。如果你有Android源代碼,那麼它位於這個項目/android/frameworks/base/media/libstagefright/AwesomePlayer.cpp – bluefalcon 2012-02-25 03:31:30

+0

如果我修改了android的框架詞,這並不意味着需要運行我的應用程序的客戶端將需要有相同版本的 – Saad 2012-02-25 04:32:50