java使用ffmpeg拆分和拼接音频

ffmpeg是一个开源的跨平台音视频处理工具,它可以对音视频进行格式转换、压缩、采集、裁剪、剪辑等操作。ffmpeg能够处理的音视频格式很多,包括常见的mp4、avi、mov等格式,也包括一些不那么常见的格式。

ffmpeg最初是由法国程序员Fabrice Bellard编写的,现在已经成为了流行的音视频处理工具。ffmpeg支持命令行操作,也可以通过API集成到其他应用程序中使用。因为经过多年的发展,ffmpeg的性能和稳定性都非常高,被广泛应用于音视频处理领域,例如视频编辑软件、转码工具、流媒体服务器等。

按照指定时间对音频进行拆分

java 复制代码
 public static void split(String firstFragmentPath,
                             String targetPath, String startTime, String continuousTime) {

        try {
            String command="ffmpeg -i "+firstFragmentPath+" -ss "+startTime+" -t "+continuousTime+" "+targetPath+" -y";
            Runtime.getRuntime().exec(new String[]{"sh", "-c", command});
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

音频拼接

java 复制代码
public static Boolean concat(String concatFilePath,String destFile){
        try {
            final String command = String.format("ffmpeg -f concat -i %s -c copy %s -y", concatFilePath, destFile);
            Runtime.getRuntime().exec(new String[]{"sh", "-c", command});
            return Boolean.TRUE;
        } catch (IOException e) {
            e.printStackTrace();
            return Boolean.FALSE;
        }
    }

第一个参数需要传递指定格式的文件(concat.txt)

java 复制代码
file 'tmp0.wav'
file 'tmp1.wav'
file 'tmp2.wav'
file 'tmp3.wav'
file 'tmp4.wav'
file 'tmp5.wav'
file 'tmp6.wav'
file 'tmp7.wav'
file 'tmp8.wav'
相关推荐
daqinzl3 分钟前
java获取机器ip、mac
java·mac·ip
k093312 分钟前
sourceTree回滚版本到某次提交
开发语言·前端·javascript
激流丶19 分钟前
【Kafka 实战】如何解决Kafka Topic数量过多带来的性能问题?
java·大数据·kafka·topic
神奇夜光杯20 分钟前
Python酷库之旅-第三方库Pandas(202)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长
Themberfue22 分钟前
Java多线程详解⑤(全程干货!!!)线程安全问题 || 锁 || synchronized
java·开发语言·线程·多线程·synchronized·
plmm烟酒僧24 分钟前
Windows下QT调用MinGW编译的OpenCV
开发语言·windows·qt·opencv
测试界的酸菜鱼35 分钟前
Python 大数据展示屏实例
大数据·开发语言·python
让学习成为一种生活方式39 分钟前
R包下载太慢安装中止的解决策略-R语言003
java·数据库·r语言
简鹿办公42 分钟前
使用 FFmpeg 进行音视频转换的相关命令行参数解释
ffmpeg·简鹿视频格式转换器·ffmpeg视频转换
晨曦_子画1 小时前
编程语言之战:AI 之后的 Kotlin 与 Java
android·java·开发语言·人工智能·kotlin