本文主要是介绍ffmpeg设置视频参数DAR,SAR,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
PAR、DAR、SAR 基本概念
FFmpeg中的视频参数 SAR,PAR,DAR, 从宏观上描述一个视频轮如何被播放器正确显示。在不同的文档中,通常对这三个参数有不同的表述。但是,均指代同一事物。首先来看解释:
PAR - pixel aspect ratio,单个像素的宽高比,大多数情况像素宽高比为1:1,也就是一个正方形像素,如果不是1:1, 则该像素可以理解为长方形像素。常用的PAR比率有(1:1,10:11, 40:33, 16:11, 12:11 )
DAR - display aspect ratio,显示宽高比。即最终播放出来的画面的宽与高之比。比如常见的16:9和4:3等。缩放视频也要按这个比例来,否则会使图像看起来被压扁或者拉长了似的。
SAR - Sample aspect ratio,采样纵横比, 表示横向的像素点数和纵向的像素点数的比值,即为我们通常提到的分辨率宽高比。就是对图像采集时,横向采集与纵向采集构成的点阵,横向点数与纵向点数的比值。比如VGA图像640/480 = 4:3,D-1 PAL图像720/576 = 5:4,高清视频 等。
三者的关系:
PAR x SAR = DAR
或者
PAR = DAR/SAR.
已知其中任意两个可以推导出另一个
通过ffmpeg设置SAR与DAR
ffmpeg -t 10 -i input.mp4 -vf scale=720x1280,setsar=sar=9/16,setdar=dar=16/9 -f mp4 out.mp4 -y
把视频分辨率scale为9:16,再强制设置为16:9
输出视频分辨率为 720x1280 ,播放的时候播放器会按16:9的画面进行播放
大部分正常的情况设置为 -vf “setsar=sar=1/1,setdar=dar=1920/1080” , SAR像素比设置为1:1,DAR播放比设置为输出分辨率的比值
确认一下mediainfo
Display aspect ratio : 16:9
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L3.1
Format settings : CABAC / 4 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference frames : 4 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 43 s 760 ms
Bit rate : 794 kb/s
Width : 720 pixels
Height : 1 280 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 25.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.034
Stream size : 4.14 MiB (86%)
Title : Core Media Video
这篇关于ffmpeg设置视频参数DAR,SAR的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!