1. 程式人生 > 程式設計 >使用ffmpeg 合併aac格式音訊檔案的方法

使用ffmpeg 合併aac格式音訊檔案的方法

FFmpeg簡介

FFmpeg是一套可以用來記錄、轉換數字音訊、視訊,並能將其轉化為流的開源計算機程式。採用LGPL或GPL許可證。它提供了錄製、轉換以及流化音視訊的完整解決方案。它包含了非常先進的音訊/視訊編解碼庫libavcodec,為了保證高可移植性和編解碼質量,libavcodec裡很多code都是從頭開發的。

FFmpeg在Linux平臺下開發,但它同樣也可以在其它作業系統環境中編譯執行,包括Windows、Mac OS X等。這個專案最早由Fabrice Bellard發起,2004年至2015年間由Michael Niedermayer主要負責維護。許多FFmpeg的開發人員都來自MPlayer專案,而且當前FFmpeg也是放在MPlayer專案組的伺服器上。專案的名稱來自MPEG視訊編碼標準,前面的"FF"代表"Fast Forward"。

1:連線到一起

'ffmpeg - i "concat:D:\learn\audio\1.aac|D:\learn\audio\2.aac" - acodec copy D:\learn\audio\out.aac'
# 推薦用法(Python執行)
l1 = ['D:\learn\audio\1.aac','D:\learn\audio\2.aac','D:\learn\audio\3.aac','D:\learn\audio\4.aac']
cmd = ('ffmpeg -i "concat:%s" -acodec copy %s' % ('|'.join(l1),'temp/temp.aac'))
os.popen(cmd)

命令解析

i代表輸入引數
contact:123.mp3|124.mp3代表著需要連線到一起的音訊檔案
-acodec copy output.mp3 重新編碼並複製到新檔案中

2:混合到一起

ffmpeg64.exe -i 124.mp3 -i 123.mp3 -filter_complex amix=inputs=2:duration=first:dropout_transition=2 -f mp3 remix.mp3
命令解析

-i代表輸入引數
-filter_complex ffmpeg濾鏡功能,非常強大,詳細請檢視文件
amix是混合多個音訊到單個音訊輸出
inputs=2代表是2個音訊檔案,如果更多則代表對應數字
duration 確定最終輸出檔案的長度
longest(最長)|shortest(最短)|first(第一個檔案)
dropout_transition
The transition time,in seconds,for volume renormalization when an input stream ends. The default value is 2 seconds.
-f mp3 輸出檔案格式

3:音訊檔案擷取指定時間部分

ffmpeg64.exe -i 124.mp3 -vn -acodec copy -ss 00:00:00 -t 00:01:32 output.mp3

命令解析

-i代表輸入引數
-acodec copy output.mp3 重新編碼並複製到新檔案中
-ss 開始擷取的時間點
-t 擷取音訊時間長度

4:音訊檔案格式轉換

ffmpeg64.exe -i null.ape -ar 44100 -ac 2 -ab 16k -vol 50 -f mp3 null.mp3

命令解析

-i代表輸入引數
-acodec aac(音訊編碼用AAC)
-ar 設定音訊取樣頻率
-ac 設定音訊通道數
-ab 設定聲音位元率
-vol <百分比> 設定音量

5:Python執行ffmpeg命令

import os
cmd = (r'ffmpeg -i "concat:D:\learn\audio\1.aac|D:\learn\audio\2.aac" -acodec copy D:\learn\audio\out2.m4a')
os.popen(cmd)

Ideal are like the stars --- we never reach them,but like mariners,we chart our course by them

總結

到此這篇關於使用ffmpeg 合併aac格式音訊檔案的方法的文章就介紹到這了,更多相關ffmpeg aac格式音訊內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!