注意:FFMPEG-Java 和 Jffmpeg 不是一回事。FFMPEG-Java 是 Freedom for Media in Java(縮寫為 FMJ)的一個子項目。
這個項目遵循了 LGPL 許可。它具有可選的 GPL 組件來使用 FFMPEG 的 GPL swscale 庫。如果你要使用 swscale 和 GPL,可以使用 ffmpeg-java-gpl.jar。這個項目的標准的 LGPL jar 是 ffmpeg-java.jar。
FFMPEG-Java 是一個使用 JNA 對 FFMPEG 的封裝。它假定關於 FFMPEG 的動態庫已經被編譯好,並且放在你的庫路徑。
注意:本示例中禁用 mmx,因為它曾經造成了很多問題。
步驟一:拿到 FFMPEG 源碼 http://ffmpeg.mplayerhq.hu
步驟二:構建/安裝 FFMPEG
./configure --disable-mmx --enable-shared
make
sudo make install
步驟三:使用一個多媒體文件作為第一個參數,運行示例程序之一。
在一些 *nix 系統中,有時必須明確設置你的庫路徑。例如:
export LD_LIBRARY_PATH=/usr/local/lib
播放例子
在一個窗口播放視頻:
java -cp ./ffmpeg-java.jar:./lib/jna.jar net.sf.ffmpeg_java.example.PlayerExample http://www.javasaver.com/testjs/jmf/anim/2005-11-26.mov
視頻編解碼例子
使用視頻的前五幀在當前目錄創建 5 ppm 的文件:
java -cp ./ffmpeg-java.jar:./lib/jna.jar net.sf.ffmpeg_java.example.AVCodecSample http://www.javasaver.com/testjs/jmf/anim/2005-11-26.mov
很好的關於設置編譯環境的文檔 - msys 和 mingw - 以及如何在 Windows 上構建 FFMPEG 可以在這里(打不開的話請翻牆)去查找。FFMPEG 提供的也可以,但一些關於圖像編解碼/格式(的內容)丟失了。
原文鏈接:http://fmj-sf.net/ffmpeg-java/getting_started.php。
