ffmpeg java 使用_macos下ffmpeg使用及java调用
一開始我看的教程是使用windows版的ffmpeg,使用方法就是從官網下載已經編譯好的,直接調用/bin文件夾下的ffmpeg.exe.
下載
下載地址1
我選擇的是Static and shared builds for macOS 64-bit
如圖2:
下載地址2
1.Version 選擇20180706,
2.Architecture:選擇macOS 64-bit ,
3.Linking :選擇Static。
然后將文件解壓,這個版本應該是直接編譯好的,直接使用bin文件夾目錄下的ffmpeg 就可以用了。
控制臺里使用:
官方提供的命令:用于格式轉換
$ ffmpeg -i input.mp4 output.avi
實際操作:
1.我把它解壓到文稿目錄下:
實際操作
2.在控制臺下進入ffmpeg的bin目錄下
進入ffmpeg/bin目錄下
3.調用ffmpeg進行格式轉換,轉換的文件:123.mp4,轉換后的文件out123.avi
$ ffmpeg -i 123.mp4 out123.avi
轉換
使用java調用fmpeg命令進行格式轉換
實現的原理:ffmpeg都是通過命令窗口輸入命令進行格式轉換,在java環境中可以通過使用ProcessBuilder,通過字符串組合成命令,進行ffmpeg命令的使用。
,那么我們先創建一個名為FFMpegTest的類:
public class FFMpegTest {
private String ffmpegEXE;
public FFMpegTest(String ffmpegEXE) {
super();
this.ffmpegEXE = ffmpegEXE;
}
public void convertor(String videoInputPath, String videoOutputPath) throws Exception {
// ffmpeg -i input.mp4 -y output.avi
List command = new ArrayList<>();
command.add(ffmpegEXE);
command.add("-i");
command.add(videoInputPath);
command.add("-y");
command.add(videoOutputPath);
for (String c : command) {
System.out.print(c + " ");
}
ProcessBuilder builder = new ProcessBuilder(command);
Process process = builder.start();
InputStream errorStream = process.getErrorStream();
InputStreamReader inputStreamReader = new InputStreamReader(errorStream);
BufferedReader br = new BufferedReader(inputStreamReader);
String line = "";
while ( (line = br.readLine()) != null ) {
}
if (br != null) {
br.close();
}
if (inputStreamReader != null) {
inputStreamReader.close();
}
if (errorStream != null) {
errorStream.close();
}
}
public static void main(String[] args) {
FFMpegTest ffmpeg = new FFMpegTest("/Users/hou/Documents/ffmpeg-static/bin/ffmpeg");
try {
ffmpeg.convertor("/Users/hou/Documents/ffmpeg-static/bin/123.mp4", "/Users/hou/Documents/ffmpeg-static/bin/java123.mp4");
} catch (Exception e) {
e.printStackTrace();
}
}
}
mp4視頻與mp3音頻合并:
前面的-i :輸入的視頻文件,后面的-i:輸入的音頻文件,-t :輸入視頻的實際長度單位為秒,-y:合成的文件名及格式后綴
$ ffmpeg -i 123.mp4 -i Fitz.mp3 -t 10 -y mix.mp4
合并后的文件目錄
總結
以上是生活随笔為你收集整理的ffmpeg java 使用_macos下ffmpeg使用及java调用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 缘起_GraalVM 助力 J
- 下一篇: 音频降噪处理+java_适当的音频捕获和