ffmpeg java调用_macos下ffmpeg使用及java调用

一开始我看的教程是使用windows版的ffmpeg,使用方法就是从官网下载已经编译好的,直接调用/bin文件夹下的ffmpeg.exe.

下载

624725d13e9c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

下载地址1

我选择的是Static and shared builds for macOS 64-bit

如图2:

624725d13e9c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

下载地址2

1.Version 选择20180706,

2.Architecture:选择macOS 64-bit ,

3.Linking :选择Static。

然后将文件解压,这个版本应该是直接编译好的,直接使用bin文件夹目录下的ffmpeg 就可以用了。

控制台里使用:

官方提供的命令:用于格式转换

$ ffmpeg -i input.mp4 output.avi

实际操作:

1.我把它解压到文稿目录下:

624725d13e9c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

实际操作

2.在控制台下进入ffmpeg的bin目录下

624725d13e9c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

进入ffmpeg/bin目录下

3.调用ffmpeg进行格式转换,转换的文件:123.mp4,转换后的文件out123.avi

$ ffmpeg -i 123.mp4 out123.avi

624725d13e9c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

转换

使用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

624725d13e9c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

合并后的文件目录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FFmpeg 是一款开源免费的多媒体处理工具。它可以在多个平台上运行,并支持各种音频、视频和图像格式的编解码和转换。 首先,我们需要下载 FFmpeg。可以从官方网站(https://ffmpeg.org/)下载最新版本的二进制文件,根据操作系统的不同选择相应的版本。 下载完毕后,将压缩包解压到任意目录下。在 Windows 平台上,将解压后的文件夹添加到系统的环境变量中,这样就可以在命令行中直接通过 ffmpeg 命令来调用 FFmpeg。在 MacOS 或 Linux 上,可以将解压后的文件夹复制到 /usr/local/bin/ 目录下,然后使用终端中的命令来调用使用 FFmpeg 可以进行多种多媒体操作,如转码、剪切、合并等。下面以转码为例: 打开命令行终端,进入需要处理的视频文件所在的目录。然后输入以下命令: ffmpeg -i input.mp4 output.avi 其中,input.mp4 是需要转码的原始视频文件,output.avi 是转码后的目标文件名。运行命令后,FFmpeg 会自动执行转码操作。 此外,FFmpeg 还支持丰富的参数选项,可以根据需要进行配置。比如,可以指定视频的分辨率、帧率、比特率等。 总结起来,FFmpeg 是一个强大而灵活的多媒体处理工具,可以通过命令行来下载和使用。它具有广泛的应用领域,如音视频编辑、格式转换、批量处理等。使用 FFmpeg 可以实现各种多媒体处理需求,而且还可以根据需要进行个性化的配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值