久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

java僅用30行代碼就實現了視頻轉音頻的批量轉換

瀏覽:79日期:2022-08-14 11:33:40

本功能實現需要用到第三方jar包 jave,JAVE 是java調用FFmpeg的封裝工具。

spring boot項目pom文件中添加以下依賴

<!-- https://mvnrepository.com/artifact/ws.schild/jave-core --><dependency><groupId>ws.schild</groupId><artifactId>jave-core</artifactId><version>3.1.1</version></dependency> <!-- 以下依賴根據系統二選一 --> <!-- win系統平臺的依賴 --><dependency><groupId>ws.schild</groupId><artifactId>jave-nativebin-win64</artifactId><version>3.1.1</version></dependency> <!-- linux系統平臺的依賴 --><dependency><groupId>ws.schild</groupId><artifactId>jave-nativebin-linux64</artifactId><version>3.1.1</version></dependency>

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:UserstarzanDesktopvideo','C:UserstarzanDesktopaudio'); } }

運行結果截圖

java僅用30行代碼就實現了視頻轉音頻的批量轉換

java僅用30行代碼就實現了視頻轉音頻的批量轉換

java僅用30行代碼就實現了視頻轉音頻的批量轉換

java僅用30行代碼就實現了視頻轉音頻的批量轉換

測試結果

視頻格式為mp4,大小約6.65MB,轉為音頻格式MP3,大小約1.60MB,轉化時間1s左右。

到此這篇關于java僅用30行代碼就實現了視頻轉音頻的批量轉換的文章就介紹到這了,更多相關java 視頻轉音頻內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 阿克苏市| 和平区| 平南县| 滨海县| 山阴县| 亳州市| 葫芦岛市| 水城县| 广平县| 涟源市| 英德市| 舞钢市| 洛南县| 山东| 德格县| 奉节县| 中方县| 宁化县| 承德市| 元阳县| 三门县| 辽源市| 玉树县| 饶平县| 苍梧县| 长岭县| 札达县| 宣汉县| 古田县| 丹寨县| 调兵山市| 内黄县| 衡南县| 电白县| 汉源县| 耒阳市| 铜陵市| 竹山县| 内乡县| 山西省| 延边|