千家信息网

如何使用Java实现视频转音频的批量转换

发表于:2024-09-26 作者:千家信息网编辑
千家信息网最后更新 2024年09月26日,这篇文章主要介绍如何使用Java实现视频转音频的批量转换,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!本功能实现需要用到第三方jar包 jave,JAVE 是java调用FFm
千家信息网最后更新 2024年09月26日如何使用Java实现视频转音频的批量转换

这篇文章主要介绍如何使用Java实现视频转音频的批量转换,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

本功能实现需要用到第三方jar包 jave,JAVE 是java调用FFmpeg的封装工具。

spring boot项目pom文件中添加以下依赖

                                            ws.schild                        jave-core                        3.1.1                                                                  ws.schild                        jave-nativebin-win64                        3.1.1                                                             ws.schild                        jave-nativebin-linux64                        3.1.1                

Java单类实现代码,复制到Spring boot项目中,用idea编辑器 主方法运行。

import ws.schild.jave.Encoder;import ws.schild.jave.EncoderException;import ws.schild.jave.MultimediaObject;import ws.schild.jave.encode.AudioAttributes;import ws.schild.jave.encode.EncodingAttributes; import java.io.File;import java.util.Arrays; public class VideoToAudio {      //要输出的音频格式    private static String outputFormat="mp3";      /**     * 获得转化后的文件名     * @param sourceFilePath : 源视频文件路径     * @return     */    public static String  getNewFileName(String sourceFilePath) {        File source = new File(sourceFilePath);        String fileName=source.getName().substring(0, source.getName().lastIndexOf("."));        return fileName+"."+outputFormat;    }     /**     * 转化音频格式     * @param sourceFilePath : 源视频文件路径     * @param targetFilePath : 目标音乐文件路径     * @return     */    public static void transform(String sourceFilePath, String targetFilePath) {        File source = new File(sourceFilePath);        File target = new File(targetFilePath);        // 设置音频属性        AudioAttributes audio = new AudioAttributes();        audio.setCodec(null);        // 设置转码属性        EncodingAttributes attrs = new EncodingAttributes();        attrs.setOutputFormat(outputFormat);        attrs.setAudioAttributes(audio);        try {            // 音频转换格式类            Encoder encoder = new Encoder();            MultimediaObject mediaObject=new MultimediaObject(source);            encoder.encode(mediaObject, target, attrs);            System.out.println("转换已完成...");        }  catch (EncoderException e) {            e.printStackTrace();        }    }     /**     * 批量转化音频格式     * @param sourceFolderPath : 源视频文件夹路径     * @param targetFolderPath : 目标音乐文件夹路径     * @return     */    public static void batchTransform(String sourceFolderPath, String targetFolderPath) {        File sourceFolder = new File(sourceFolderPath);        if(sourceFolder.list().length!=0){            Arrays.asList(sourceFolder.list()).forEach(e->{              transform(sourceFolderPath+"\"+e, targetFolderPath+"\"+getNewFileName(e));            });        }    }     public static void main(String[] args) {        batchTransform("C:\Users\tarzan\Desktop\video","C:\Users\tarzan\Desktop\audio");    } }

以上是"如何使用Java实现视频转音频的批量转换"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

0