
vx 搜索『gjzkeyframe』 關(guān)注『關(guān)鍵幀Keyframe』來及時(shí)獲得最新的音視頻技術(shù)文章。
去公眾號(hào)發(fā)送消息『像素王國』,幫你生成像素風(fēng)格圖片
這個(gè)公眾號(hào)會(huì)路線圖****式的遍歷分享音視頻技術(shù):音視頻基礎(chǔ)(完成) → 音視頻工具(進(jìn)行中) → 音視頻工程示例(準(zhǔn)備) → 音視頻工業(yè)實(shí)戰(zhàn)(準(zhǔn)備)。
(本文基本邏輯:音畫原始數(shù)據(jù)分析工具介紹 → 編碼數(shù)據(jù)分析工具介紹 → 封裝格式分析工具介紹)
工欲善其事,必先利其器。在音視頻開發(fā)中,為了方便、快捷、直觀的分析音視頻數(shù)據(jù),最好能有一些可視化的分析工具來幫助我們,這篇文章就來介紹一下常見的可視化音視頻分析工具。
1、音畫原始數(shù)據(jù)分析工具
1.1、Adobe Audition
Adobe Audition[1] 是由 Adobe 公司開發(fā)的一個(gè)專業(yè)音頻編輯和處理工具,支持多音軌、多種音頻特效、多種音頻格式。用它來分析 PCM、AAC 等格式的音頻數(shù)據(jù)自然不在話下。
由于 PCM 數(shù)據(jù)是裸的音頻數(shù)據(jù),不包含數(shù)字音頻要素屬性信息,所以在打開 PCM 數(shù)據(jù)文件時(shí),如下圖所示,需要指定對應(yīng)的采樣率、聲道數(shù)、位深、字節(jié)序等信息才能正確打開。

下圖是打開示例 PCM 音頻數(shù)據(jù)后的界面,可以看到對應(yīng)的雙聲道波形圖:

Adobe Audition 有非常豐富的功能,網(wǎng)上有很多專業(yè)介紹的信息,我們在這里不做過多介紹。
1.2、YUVToolkit
YUVToolkit[2] 是一個(gè)開源跨平臺(tái)的用于播放和分析原生 YUV 數(shù)據(jù)的工具。它有這些功能:
- 支持大部分 YUV 格式和 RGB 格式。比如:I420、I422、I444、YV12、YV16、YV24、UYVY、YUY2、NV12、grayscale;RGB24、RGBX32、XRGB32。
- 支持從文件名解析圖像分辨率、幀率、顏色模型。比如:文件名為
test-640x480-30FPS-I420.yuv。 - 使用 Direct3D 和 OpenGL 渲染,最高可支持 720P、60FPS、4 個(gè)視頻同時(shí)渲染。
- 支持對比圖像并逐幀計(jì)算 MSE 和 PSNR,并可視化的展示失真情況。
- 支持使用 Javascript。比如:可以用腳本一次性打開多個(gè)文件。
- 可以用插件擴(kuò)展來支持更多的視頻格式、質(zhì)量評估方式、渲染引擎。
下圖是播放兩份 YUV 數(shù)據(jù),并對比計(jì)算 MSE 和 PSNR:

1.3、YUVView
YUVView[3] 是一個(gè)基于 QT 開發(fā)的開源跨平臺(tái)的 YUV 數(shù)據(jù)播放和分析工具。它有如下功能:
- 支持大部分的 YUV 采樣格式。比如:4:4:4、4:2:2、4:2:0、4:4:0、4:1:0、4:1:1、4:0:0。
- 支持位深 8-16 bit。
- 支持 ITU-R.BT709、ITU-R.BT601、ITU-R.BT2020 顏色空間轉(zhuǎn)換。
- 色度插值使用最近鄰插值或雙線性插值。
- 可自由配置色度位置和 UV plane 順序。
- 支持緊縮式的 YUV 存儲(chǔ)格式。
- 支持大部分 RGB 格式。
- 支持 H.265(HEVC)文件。
- 支持對視頻文件生成分析數(shù)據(jù)并浮層展示。
- 支持對比分析不同文件的差異。
下圖展示了 YUVView 的功能界面:

下圖是在一個(gè) HEVC 碼流上顯示 Luma Intra Direction:

更多的信息參見:YUVView Introduction[4]
2、編碼數(shù)據(jù)分析工具
2.1、StreamEye
StreamEye[5] 是一款商業(yè)的媒體分析軟件。以下是它的部分功能:
- 提供了碼流視圖界面、HEX 視圖界面、像素視圖界面、信息視圖界面等可視化界面。
- 支持參考文件、圖像差異對比、主從控制模式。
- 可以查看和分析視頻碼流信息、圖像幀信息、塊信息、標(biāo)志位信息、DPB 信息等眾多數(shù)據(jù)。
- 支持 H.264、H.265、VP9、AV1、VVC 等編碼格式。
下圖是使用條形圖導(dǎo)航,解碼圖像緩沖區(qū)(DPB)的可視化,以及塊的詳細(xì)信息和表示:

下圖是使用縮略圖、分區(qū)和運(yùn)動(dòng)矢量進(jìn)行導(dǎo)航,演示編碼語法結(jié)構(gòu):

下圖是 SAO 濾波疊加,緩沖區(qū)分析以及像素級別的可視化:

下圖是 ALF 濾波疊加,圖像概述演示:

3、封裝格式分析工具
3.1、MP4Box.js
MP4Box.js[6] 是一個(gè)在線的 MP4 格式分析工具。它支持導(dǎo)入網(wǎng)絡(luò)視頻和本地視頻,并可以直觀的展示 MP4 Box 的結(jié)構(gòu)以及數(shù)據(jù)。
下圖是用樹形結(jié)構(gòu)展示 MP4 Box:

3.2、MediaParser
MediaParser[7] 是一個(gè)開源的 MP4 格式分析器,功能比較簡單,支持按樹形結(jié)構(gòu)展示 MP4 Box 及節(jié)點(diǎn)數(shù)據(jù)信息,也可以按 Sample 給出數(shù)據(jù)位置信息。
下圖是 MediaParser 的功能界面:

3.3、MediaInfo
MediaInfo[8] 是一個(gè) MP4 基礎(chǔ)信息展示工具。
下圖是 MediaInfo 的功能界面:

3.4、FLVParser
FLVParser[9] 是一個(gè)可以解析在線 FLV 流,輸出該 FLV 流的 Tag 及詳細(xì)信息的工具。
下圖是 FLVParser 的功能界面:

3.5、VLC
VLC[10] 是一個(gè)開源跨平臺(tái)的多媒體播放器,可以播放大多數(shù)多媒體文件,并查看媒體信息。
下圖是 VLC 的功能界面:

3.6、Native HLS Playback
Native HLS Playback[11] 是一個(gè) Chrome 瀏覽器的插件,用于支持在 Chrome 上直接播放 HLS/M3U8/TS 流。這樣配合 Chrome 的 Inspect/Network 功能就能查看 HLS 流的具體信息。
下圖是 Native HLS Playback 的功能界面:

3.7、Play HLS M3u8
Play HLS M3u8[12] 也是一個(gè) Chrome 瀏覽器的插件,用于支持在 Chrome 上直接播放 HLS/M3U8/TS 流。這樣配合 Chrome 的 Inspect/Network 功能就能查看 HLS 流的具體信息。
下圖是 Play HLS M3u8 的功能界面:

參考資料
[1] Adobe Audition: https://www.adobe.com/products/audition.html
[2] YUVToolkit: https://github.com/svn2github/yuvtoolkit
[3] YUVView: https://github.com/IENT/YUView
[4] YUVView Introduction: http://ient.github.io/YUView/
[5] StreamEye: https://www.elecard.com/zh/products/video-analysis/streameye
[6] MP4Box.js: https://gpac.github.io/mp4box.js/test/filereader.html
[7] MediaParser: https://github.com/ksvc/MediaParser
[8] MediaInfo: https://mediaarea.net/en/MediaInfo
[9] FLVParser: https://github.com/imagora/FlvParser
[10] VLC: https://www.videolan.org/vlc/
[11] Native HLS Playback: https://chrome.google.com/webstore/detail/native-hls-playback/emnphkkblegpebimobpbekeedfgemhof
[12] Play HLS M3u8: https://chrome.google.com/webstore/detail/play-hls-m3u8/ckblfoghkjhaclegefojbgllenffajdc
(通過上文的介紹,我們了解了諸如 Adobe Audition、YUVToolkit、StreamEye、MP4Box.js、FLVParser、VLC 等眾多可視化音視頻分析工具,這對我們平時(shí)的音視頻開發(fā)工作非常有用。我們將在后面繼續(xù)探討其他好用的音視頻工具,敬請期待)
推薦閱讀