ffmpeg 如何获取视频尺寸?想把视频尺寸缩小为原尺寸的一半
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ffmpeg 如何获取视频尺寸?想把视频尺寸缩小为原尺寸的一半相关的知识,希望对你有一定的参考价值。
ffmpeg -i a.avi -s 368*208 b.avi
这样只能缩放到固定尺寸,我想根据原尺寸进行一定比例的缩放怎么做呢?
另外
ffmpeg -i a.avi b.avi
这样做按说得到的 b.avi 跟a.avi应该完全一样,可是实际上看起来一样,但是文件大小缩小了将近10倍,是因为ffmpeg有默认的压缩方式吗,哪位高手晓得?
你不想改变就是 。-vcodec copy -acodec copy追问
果然,-vcodec copy -acodec copy 可以保留原来的编码方式,得到跟原来一样大小的avi文件。
可是关于分辨率的问题,
-s 600x450 是说你必须规定好了新的分辨率是600*450,
我主要是想获取输入视频的分辨率,然后长宽个降低一半这怎么做呀?麻烦高手指点一二
缩小为原尺寸的一半:
ffmpeg -i a.mp4 -vf scale="iw/2:ih/2" b.mp4
iw 指 input width 即输入(视频)的宽度
ih 指 input height 即输入(视频)的高度
ffmpeg -i a.avi b.avi b.avi的大小和a.avi不一样是因为ffmpeg重编码了,用-c copy来让所有流都复制,ffmpeg就不会重编码了:
ffmpeg -i a.avi -c copy b.avi
FFmpeg 给视频增加黑边
使用FFmpeg给视频增加黑边需要用到 pad 这个滤镜,具体用法如下:-vf pad=1280:720:0:93:black
按照从左到右的顺序依次为:
“宽”、“高”、“X坐标”和“Y坐标”,宽和高指的是输入视频尺寸(包含加黑边的尺寸),XY指的是视频所在位置。
比如一个输入视频尺寸是1280x534的源,想要加上黑边变成1280x720,那么用上边的语法可以实现,93是这样得来的,(720-534)/2。
如果视频原始1920x800的话,完整的语法应该是:
-vf 'scale=1280:534,pad=1280:720:0:93:black'
先将视频缩小到1280x534,然后在加入黑边变成1280x720,将1280x534的视频放置在x=0,y=93的地方,
FFmpeg会自动在上下增加93像素的黑边。
注:black可以不写,默认是黑色
以上是关于ffmpeg 如何获取视频尺寸?想把视频尺寸缩小为原尺寸的一半的主要内容,如果未能解决你的问题,请参考以下文章
ffmpeg如何把5秒内的视频转成wep图片,并且每隔5秒执行一次的命令
FFMpeg SDK使用8调用FFmpeg SDK实现视频缩放