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'
相关推荐
ZHE|张恒6 小时前
Spring Bean 生命周期
java·spring
夏天的味道٥8 小时前
@JsonIgnore对Date类型不生效
开发语言·python
顾道长生'8 小时前
(Arxiv-2025)ID-COMPOSER:具有分层身份保持的多主体视频合成
计算机视觉·音视频·composer
q***38518 小时前
SpringCloud实战十三:Gateway之 Spring Cloud Gateway 动态路由
java·spring cloud·gateway
小白学大数据8 小时前
Python爬虫伪装策略:如何模拟浏览器正常访问JSP站点
java·开发语言·爬虫·python
SEO_juper9 小时前
别再纠结LLMs.txt了!它背后的真相与最佳使用场景,一文讲透。
开发语言·ai·php·数字营销
程序员西西9 小时前
SpringBoot接口安全:APIKey保护指南
java·spring boot·计算机·程序员·编程·编程开发
g***B7389 小时前
JavaScript在Node.js中的模块系统
开发语言·javascript·node.js
summer_west_fish10 小时前
单体VS微服务:架构选择实战指南
java·微服务·架构
v***85710 小时前
Ubuntu介绍、与centos的区别、基于VMware安装Ubuntu Server 22.04、配置远程连接、安装jdk+Tomcat
java·ubuntu·centos