七牛雲音視頻新功能:音頻支持 AAC_HE

與大家所熟知的 MP3 一樣, AAC 也是一種常見的音頻格式。現如今常見的 AAC 規格有三種: LC-AAC (最基本的), HE-AAC ( AACPlus v1 ), HE-AAC v2 。

HE :“ High Efficiency ”(高效性)。 HE-AAC (又稱 AACPlus v1 , SBR ),用容器的方法實現了 AAC ( LC )和 SBR(頻段複製)技術。 SBR 把頻譜切割開來,低頻單獨編碼保存主要成分,高頻單獨放大編碼保存音質,在減少文件大小的情況下還保存了音質。

HEv2 :用容器的方法包含了 HE-AAC 和 PS (參數立體聲)技術。 PS 技術存儲了一個聲道的全部信息,然後,花很少的字節用參數描述另一個聲道和它不同的地方。

在低碼率的情況下, HE-AAC , HE-AAC v2 編碼後的音質要明顯好於 LC-AAC 。

HE-AAC 被廣泛的應用於電視廣播系統,智能電視。現在很多主流流媒體平臺也開始支持 HE-AAC ,如蘋果 HLS 、微軟 Smooth Streaming 。在運營七牛雲的過程中,我們發現很多音頻直播、點播類的客戶需要對音質進行高保真存儲,同時將數據大小縮減至合理範圍。爲了滿足這類客戶的需求,協助他們輸出高品質的聲音,七牛雲在原有音視頻處理的基礎上新增了音頻對 HE-AAC 的支持。

通過調用七牛雲 avthumb 接口,並設定 /audioProfile 參數來啓用 AAC_HE 壓縮算法,即可將 MP3 或者 AAC 音頻文件轉製成具有更高壓縮比的音頻文件。

現在,你可以參照下面的方法進行測試:

上傳原始音頻

打開 https://portal.qiniu.com/signin,登錄七牛賬號;
創建空間,並上傳資源:
1 、添加對象存儲資源

2 、創建公開空間,並留意空間訪問域名

3 、進入內容管理頁面,進行文件的管理

4 、選擇上傳文件,上傳原始音頻文件

返回內容管理頁面,確認資源上傳成功,並能成功獲取資源外鏈並訪問成功:
搜索文件名前綴,查找具體文件名,並獲取音頻外鏈地址

進行 AAC_HE 的轉碼

對原始音頻進行轉碼操作需要觸發七牛的音視頻服務接口,七牛的各服務端語言的 SDK 都直接封裝好了轉碼的接口,參考對應[ SDK 的文檔]即可觸發對應的轉碼操作;

這裏介紹下如何使用七牛的 [qrsctl 命令行工具]、[Qiniulab 圖形化界面工具]直接進行 AAC_HE 的轉碼,以便在正式接入七牛各語言 SDK 前,也能進行無開發工作量的轉碼測試。

qrsctl 工具執行轉碼

在用戶管理界面找到賬號的密鑰對信息
1 、進入賬號管理

2 、獲取密鑰對( AccessKey/SecretKey )

檢查本地系統的對應版本,在 http://developer.qiniu.com/docs/v6/tools/qrsctl.html#download 中下載對應系統版本的 qrsctl 工具壓縮包,並在本地解壓;
打開命令行,切換到工具解壓目錄下,進行轉碼
使用賬號密鑰對執行登陸操作:

生成預期處理資源另存爲結果參數,用於轉碼參數中的 saveas 操作:

獲取命令行處理返回結果字符串 YWFjLWhlLXRlc3Q6SnVwaXRlci5hYWNfaGUuYWFj。(其中,aac-he-test 爲轉碼結果音頻目標空間名,Jupiter.aac_he.aac 爲轉碼結果目標文件名。

執行轉碼操作命令:

其中 aac-he-test 爲原始音頻所在空間名,Jupiter.mp3 爲原始音頻完整文件名( key );avthumb/aac/acodec/libfdk_aac/audioProfile/aac_he|saveas/YWNjLWhlLXRlc3Q6SnVwaXRlci5hYWNfaGUuYWFj 爲將原始音頻轉換爲 AAC_HE 編碼的必選轉碼參數;saveas/YWFjLWhlLXRlc3Q6SnVwaXRlci5hYWNfaGUuYWFj 爲處理結果文件另存爲的空間名和文件名參數(EncodedEntry) 。

執行轉碼操作命令後,得到一個形如 https://api.qiniu.com/status/get/prefop?id=z0.56ca10937823de318868f33b 的 URL ,在瀏覽器中打開這個鏈接,打開鏈接獲取一個 json 串,當 json 串中 code 字段爲 0 時,獲取 key 字段的值,即爲處理結果的文件名:

再次進入空間的內容管理界面,搜索處理結果的文件名,即可獲取處理結果的外鏈地址,在播放器中直接播放:

QiniuLab 工具執行轉碼

QiniuLab 做爲 Windows 下的圖形化測試工具,可以給不熟悉命令行操作的 Windows 用戶提供另一種界面友好的選擇。

下載 http://qdisk.qiniudn.com/QiniuLab_alpha.zip 並解壓;
打開 QiniuLab ,進行密鑰對設置,密鑰對獲取方式可參考 qrsctl 工具:

生成預期處理資源另存爲結果參數,用於轉碼參數中的 saveas 操作:

選擇工具選項卡中的 Url 安全的 Base64 選項,輸入aac-he-test Jupiter.aac_he.aac,獲取字符串YWFjLWhlLXRlc3Q6SnVwaXRlci5hYWNfaGUuYWFj。(其中,aac-he-test 爲轉碼結果音頻目標空間名,Jupiter.aac_he.aac 爲轉碼結果目標文件名。

選擇持久化選項卡,進行轉碼:
填寫轉碼參數,其中 Bucket 填寫原始音頻所在空間(例子中是 aac-he-test ),key 爲原始音頻完整文件名(例子中爲 Jupiter.mp3 ),Fops 爲將原始音頻轉換爲 AAC_HE 編碼的必選轉碼參數(其中saveas/YWFjLWhlLXRlc3Q6SnVwaXRlci5hYWNfaGUuYWFj 爲處理結果文件另存爲的空間名和文件名參數)。

查詢轉碼處理結果:

當 code 字段爲 0 時,key 字段的值即爲處理結果的文件名;

再次進入空間的內容管理界面,搜索處理結果的文件名,即可獲取處理結果的外鏈地址,在播放器中直接播放:

AAC_HE 轉碼效果實測報告

我們挑選了一首音域較廣、聲音元素較爲複雜的曲子《行星組曲之木星》,通過測試後發現:

以 MP3 爲基準, AAC 相對於 MP3 減小了 21.91% 的大小,而 AAC_HE 相對於 MP3 減小了近 50%,而實際聲音效果幾乎完全一致。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章