1. 程式人生 > >ffmpeg解析出的視訊引數PAR,DAR,SAR的意義

ffmpeg解析出的視訊引數PAR,DAR,SAR的意義

定義

  • PAR —— Pixel Aspect Ratio 畫素橫縱比。表示每個畫素的寬度與長度的比值。可以認為每個畫素不是正方形的。
  • DAR —— Display Aspect Ratio 顯示橫縱比。最終顯示的影象在長度單位上的橫縱比。
  • SAR —— Sample Aspect Ratio 取樣橫縱比。表示橫向的畫素點數和縱向的畫素點數的比值。

公式

16:9和4:3指的是DAR,DAR和SAR之間沒有必然聯絡。
橫向上的畫素數目/縱向上的畫素數目*SAR(or PAR)=DAR(每個畫素可以看做一個取樣)
對於16:9的NTSC制式DVD來說,其理論上正確的SAR一定是40:33,但是在製作中做錯SAR的DVD相當多。

這三者的關係 PAR x SAR = DAR 
橫向上的畫素數目/縱向上的畫素數目*SAR=DAR
或者PAR = DAR/SAR.
如果一段視訊的DAR為4:3,它的SAR為VGA儲存的4:3,那麼可推出PAR為1:1,如果它的SAR為D-1 PAL儲存的5:4,那麼可以推出PAR為16:15

示例


QQQQ.gif


看上圖,假設這就是一個D-1 PAL影象,每個方格代表一個儲存的點,橫向有5個點,縱向有4個點,所以SAR為5:4
現已知這幅圖象的寬度為160,高度為120,即DAR為4:3
那這個方格的寬高比是多少呢?答案16:15,即PAR,這個方格代表的是一個長方形的畫素

標準的播放流程應該是先找container的dar,按這個播放;如果沒有dar的話,使用sar

即通常來說解析度比=PAR

調整視訊的sar par dar。
通常par=視訊解析度
當保持par=dar時,sar=1:1

ffmpeg改變視訊的這三個引數的命令
ffmpeg -i inputfile -c:v xxx -c:a ccc -aspect AxB -s AXB outfile

通常,aspect引數改變視訊的dar,是apsect=size時