你好Android視頻專家:)如何在各種設備上可靠地捕獲Android上的低分辨率視頻?
我正在開發一個Android應用程序,它允許用戶捕捉視頻並將其上傳到遠程服務器(它比那更多的參與,但應用程序的其餘部分並不重要)。由於上傳要求,重要的是視頻尺寸合理,因此不能超高分辨率。假設最大爲680x480或10Mb /分鐘。這在Apple設備上沒有問題。
我有什麼只能被描述爲一個完整的惡夢,試圖捕捉視頻在一個合理的低比特率可靠地跨越一系列的Android設備。
據我瞭解有在Android上獲取視頻的方法有兩種:
1)利用媒體記錄器/攝像機API
2)使用意向來打開攝像機的視頻捕捉應用
選項1)提供了最大的靈活性,並允許我們輕鬆更改捕捉分辨率。然而,Android Camera API在各種設備上並不可靠,而且我擁有非常好的信息(包括來自與Google就此問題聯絡的人員),如果您使用此API捕獲視頻,那麼它將崩潰至少50%那裏的設備。 Zoom Camera FX使用Intent進行視頻拍攝是有原因的。變焦相機(不同的應用程序)似乎使用媒體記錄器,但有很多糟糕的評論視頻崩潰或不工作。
選項2)適用於各種設備,因爲它使用設備中的內置應用程序。麻煩的是,你無法控制分辨率,對意圖有一個質量暗示,但相機應用程序通常會忽略這一點。我的三星Galaxy S3默認記錄視頻速度約爲2Mb/s。這是太高分辨率。內置的應用程序當然可以改變分辨率,但這依賴於難以控制的用戶的操作。
據我所知,我可以使用ffmpeg之類的庫來改變捕獲後視頻的分辨率。然而,這要求我爲Android編譯庫,並且我已被告知,爲了合法使用設備上的解碼/編碼編解碼器,您必須支付每份應用程序約1美元的許可費。由於這個應用程序可以自由使用,這不是一個選項。
這就是我所在的地方。我搜索了很長時間的答案,但我無法弄清楚如何使用Android可靠地捕捉低分辨率視頻。
非常感謝任何幫助!
馬修
您是否發現瞭解決問題的方法?我正在嘗試選項2並且一直在尋找答案...... – Salmaan 2015-04-02 05:46:46