聲明:
這裏主要介紹如何運用Excel來分析音視頻是否同步,希望可以對大家有所幫助。
介紹:
學習音視頻就一定要知道做音視頻同步,而現在我們來分析音視頻同步的工具也是有的,比如easyICE等,但是針對音視頻同步這樣的問題,我們該如何只通過音視頻的pts log打印來判斷是不是音視頻同步有問題那?由於很多時候音視頻的pts很多,我們很難一個個的分析來獲得對這個問題整體的瞭解,這個時候就需要通過Excel來將獲得的音視頻的pts統計並以圖形的方式直觀的表現出來。
具體實現:
1. 獲得pts數據:
pcr=0x4417038 apts=0x4417038 vpts=0x4416ed0
pcr=0x441aad0 apts=0x441aad0 vpts=0x441a710
pcr=0x441cdf8 apts=0x441cdf8 vpts=0x441ca38
pcr=0x441fcd8 apts=0x441fcd8 vpts=0x441fb70
pcr=0x4422bb8 apts=0x4422bb8 vpts=0x44225a0
pcr=0x4425a98 apts=0x4425a98 vpts=0x44256d8
pcr=0x4428978 apts=0x4428978 vpts=0x4428810
pcr=0x442cfc8 apts=0x442cfc8 vpts=0x442ce60
pcr=0x4430a60 apts=0x4430a60 vpts=0x44306a0
pcr=0x4432d88 apts=0x4432d88 vpts=0x44329c8
pcr=0x4435c68 apts=0x4435c68 vpts=0x4435b00
在上面的數據中pcr爲系統時鐘,而apts爲音頻的pts,vpts爲視頻的pts
2. 通過Excel的命令來獲得pcr,apts和vpts對應的值
不同的人有不同的提取方式,我一般會使用Excel的right和left命令來從一串字符中提取需要的數字,我相信Excel用的好的同學一定有更好的方法。
right命令:從字符串右邊起獲得指點個數的字符
=RIGHT(C2,7) :參數1表示要獲取的字符串的位置或字符串,參數2表示獲得字符串的個數
left命令:從字符串左邊起獲得指點個數的字符
=LEFT(RIGHT(C2,22),7):參數1表示要獲取的字符串的位置或字符串,參數2表示獲得字符串的個數
而left和right相互使用就可以獲得任何你想要的數據了
3. 將16進制的數字轉化爲10進制:
從上面獲得的pcr,vpts和apts都是16進制的數據,使用這些數據比較大小很不方便,需要使用Excel的命令來將16進制轉化爲10進制:
需要用到的命令 HEX2DEC: 將16進制的數字轉化爲10進制
=HEX2DEC(S2) :參數1表示需要轉化的16進制數據或所在單元格
4. 數據分析
獲得pcr,apts和vpts後就可以對這些數據進行分析了,例如需要算apts與vpts的差值,以及前後apts的差值或者前後vpts的差值等。而在查看數據前由於需要更好的分析,可以將某一行或者一列凍結方便在拖動滾輪的時候這一個選定的行或者列保持:
選中需要凍結的行或者列,之後點擊 凍結窗格
5. 作圖:
獲得這些數據後要想更加直觀的看出各個數據的差異就需要畫圖來體現他們的不同了,這個時候建議大家使用組合圖,柱形圖和折線圖結合的方式,可以將數據表現的更加生動:
在上面的圖中可以很好的體現pts的變化。