2014-08-28 109 views
4

我需要在我的Android應用中添加視頻過濾器,如Instagram。我搜索了很多,但沒有找到很多東西。有沒有像這樣的鳥舍sdk圖像編輯的圖書館?如何在Android上實現視頻過濾器,比如instagram

+0

你能指導我解決這個問題嗎? – AB1209 2015-06-30 12:50:08

+0

@DJtiwari哪個解決方案不適用於視頻濾波?任何文檔要引用? – Beena 2017-02-09 06:58:04

回答

1

最簡單的方法是使用Java的OpenCV庫(將其導入到Android項目中可能很棘手) - 它可以讓您輕鬆地將每個幀提取到不同類型的Image對象,您可以在其中應用您的過濾器不確定OpenCV是否包含用於這樣做的工具),然後用修改後的幀編寫新的視頻。

請記住,這可能是高度CPU和電池消耗,我不太確定這將如何工作在各種硬件配置。

另一個 - 更長的解決方案是挖掘到Android NDK並嘗試使用ffmpeg。總而言之,它可能會減少CPU負載。

而且新的Android L移動版本將提供相機的一些基本的過濾器(不知道這包含視頻)https://www.youtube.com/watch?v=Xtp3tH27OFs所以你可以等待一些COMPAT庫

+0

這個庫實際上嵌入和使用ffmpeg來做一些非常酷的東西(圖像疊加,人臉檢測,以及任何你喜歡的原始C++ opengl hackery):https://github.com/wysaid/android-gpuimage-plus – Ajax 2017-07-06 08:57:16

+0

我試圖在之前的項目中使用FFMPEG,但發現處理速度太慢。我已經爲視頻(和圖像)處理編寫了FFMPEG的替代方案,可以在這裏找到:https://github.com/isaac-udy/Kfilter – 2018-01-25 10:22:35

1

我給一些過濾器一樣使用OpenGL的Instagram過濾視頻ES。這非常快,非常好。

如果你只是想過濾和顯示視頻,你可以看看這個例子,你可以訪問https://www.virag.si/2014/03/playing-video-with-opengl-on-android/。對於另一個過濾器,你可以編輯fragment_shader。

但是,如果您需要呈現過濾的視頻並將其保存到SD卡,則需要mediacodec和mediamuxer。您可以從這裏顯示示例http://bigflake.com/mediacodec/

希望這可以幫助你,並對我的英語感到抱歉。

+0

Virag鏈接不再工作,請更新它。 – Harpreet 2016-07-19 07:40:48

+0

[已更新的鏈接](https://www.virag.si/2014/03/rendering-video-with-opengl-on-android/) – 2016-12-07 09:52:41

+0

更新後的鏈接不起作用(再次?太?誰知道)。更新後的鏈接:[https://www.virag.si/2014/03/playing-video-with-effects-using-opengl-on-android/](https://www.virag.si/2014/03/播放視頻 - 與效果,使用的OpenGL-上的Android /) – ocramot 2017-10-18 14:13:13

相關問題