我想從視頻中提取幀並在其上應用一些濾鏡,如gabor/hough等。哪個Java庫適合處理各種視頻編碼?我一直在尋找GStreamer,JMF,Xuggler等,但我無法決定哪一個最好。我還在尋找編輯框架並用新框架製作視頻。用於Java的視頻處理庫
6
A
回答
8
如果您想要進行低級操作,比如提取幀並操作它們,那麼Xuggler將是最好的選擇,因爲API是圍繞這個低級別進行的。它適用於ffmpeg,因此可以處理所有類型的視頻編碼。
不要對任何事情使用JMF,它是舊的,過時的和錯誤的 - GStreamer是好的,但API本身更適合播放視頻而不是操縱幀。
1
JMF是一個不錯的選擇。但是如果處理時間在代碼中很重要,最好使用Xuggler。顯然,JMF比Xuggler更普遍。
0
Xuggler,是的。但是如果你打算進行大量的圖像處理,你應該使用OpenImaj。這個庫使用Xuggler作爲它的依賴,但這並不是它所做的。想想Opencv的能力,而不是你在Java中獲得的速度。而且,它所需要的只是添加一個Maven依賴關係,而且你很好。代碼量也減少了。
注意:我仍在評論圖書館,並會不斷更新我的答案。
1
你可以試試Marvin Framework。它使用JavaCV進行視頻編碼和設備訪問,但所有圖像處理算法都是純Java。
加載視頻和實時處理幀非常容易,如下面的邊緣檢測示例所示。
的源代碼:
import static marvin.MarvinPluginCollection.*;
public class SimpleVideoProcessing extends JFrame implements Runnable{
private MarvinVideoInterface videoAdapter = new MarvinJavaCVAdapter();
private MarvinImagePanel videoPanel = new MarvinImagePanel();
private MarvinImage videoFrame, videoOut = new MarvinImage(640,480);
public SimpleVideoProcessing() throws MarvinVideoInterfaceException{
super("Simple Video Processing using Marvin");
add(videoPanel);
// Load video file and start the processing thread
videoAdapter.loadResource("./res/snooker.wmv");
new Thread(this).start();
setSize(640,500);
setVisible(true);
}
public void run() {
try {
while(true){
// Request, process and show the video frame.
videoOut.clear();
videoFrame = videoAdapter.getFrame();
prewitt(videoFrame.clone(), videoOut);
videoPanel.setImage(videoOut);
}
} catch (MarvinVideoInterfaceException e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws MarvinVideoInterfaceException {
new SimpleVideoProcessing().setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
相關問題
- 1. 用於ffmpeg視頻處理的php庫?
- 2. Google App Engine中用於Java的視頻處理庫
- 3. 用於處理視頻的Java庫 - 手勢分析
- 4. java中的視頻處理
- 5. Python的視頻處理庫?
- 6. 用於創建視頻的Java庫
- 7. 用於視頻處理的良好庫/技術
- 8. 在java中處理視頻的庫/教程
- 9. Windows Phone 8視頻處理庫8
- 10. 處理視頻庫,並在1.5.1與3.0
- 11. OpenCL視頻處理
- 12. 處理視頻幀
- 13. 處理流視頻
- 14. 處理視頻幀
- 15. MATLAB - 視頻處理
- 16. C++視頻處理
- 17. 用於基於網絡的音頻/音樂處理的庫/包
- 18. Android處理視頻,YCrCb幀到視頻
- 19. 處理:視頻的幀數
- 20. Android中的視頻處理
- 21. 處理的MediaElement視頻
- 22. java p2p視頻庫?
- 23. Ruby的音頻處理庫?
- 24. 用於音頻處理的Java是否實用?
- 25. 使用java的音頻處理
- 26. 用於音頻處理的任何類似OpenCV的C/C++庫?
- 27. 用於視頻會議的JAVA庫以及如何使用libjitsi?
- 28. 用於視頻處理的圖像緩衝區
- 29. Android,快速視頻處理
- 30. 在Android中處理視頻
謝謝!我想這是Xuggler。它看起來像OpenCV的Java可以手動配置http://answers.opencv.org/question/2137/wrapping-opencv-with-desktop-java-building-for-64/ - 任何想法,如果這會更好? – abhishek
我還沒有使用過OpenCV,所以不能真正發表評論,但仍然可能傾向於Xuggler,因爲它是一個純Java API,它可以讓任務更輕鬆。 – berry120