ffmpeg中的scale和crop参数

转自:https://www.jianshu.com/p/3fa0b04027ce

ffmpeg中的filter

FFmpeg中的libavfilter提供了一整套的基于filter的机制。filter本身是一个插件的形式,可以快速的组装需要的效果。
比如下面的filter,可以实现视频的水平镜像效果。

 

ffplay.exe sample.rmvb -vf hflip

FFmpeg中filter分为:
source filter (只有输出)
audio filter
video filter
Multimedia filter
sink filter (只有输入)

除了source和sink filter,其他filter都至少有一个输入、至少一个输出。
介绍了这么多,下面也是一个例子,使用filter实现宽高减半显示:

 

ffplay.exe sample.rmvb -vf scale=iw/2:ih/2

可以用ffmpeg -filters查看支持的filter.

 

[TheFlyingPenguindeMacBook-Pro:gzl Private$ ffmpeg -filters
ffmpeg version 3.1 Copyright (c) 2000-2016 the FFmpeg developers
  built with Apple LLVM version 7.0.2 (clang-700.1.81)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/3.1 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libxvid --enable-librtmp --enable-libfaac --enable-ffplay --disable-lzma --enable-nonfree --enable-vda
  libavutil      55. 27.100 / 55. 27.100
  libavcodec     57. 48.101 / 57. 48.101
  libavformat    57. 40.101 / 57. 40.101
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 46.102 /  6. 46.102
  libavresample   3.  0.  0 /  3.  0.  0
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  1.100 /  2.  1.100
  libpostproc    54.  0.100 / 54.  0.100
Filters:
  T.. = Timeline support
  .S. = Slice threading
  ..C = Command support
  A = Audio input/output
  V = Video input/output
  N = Dynamic number and/or type of input/output
  | = Source or sink filter
 ... abench            A->A       Benchmark part of a filtergraph.
 ...
 ... aresample         A->A       Resample audio data.
 ...
 ... copy              V->V       Copy the input video unchanged to the output.
 ...
 T.. delogo            V->V       Remove logo from input video.
 ...
 ... format            V->V       Convert the input video to one of the specified pixel formats.
 ... fps               V->V       Force constant framerate.
 ...
 ... reverse           V->V       Reverse a clip.
 TSC rotate            V->V       Rotate the input image.
 T.. sab               V->V       Apply shape adaptive blur.
 ..C scale             V->V       Scale the input video size and/or convert the image format.
 ...
 ... split             V->N       Pass on the input to N video outputs.
 ...

scale

将输入的1920x1080缩小到960x540输出:

 

./ffmpeg -i input.mp4 -vf scale=960:540 output.mp4 

//ps: 如果540不写,写成-1,即scale=960:-1, 那也是可以的,ffmpeg会通知缩放滤镜在输出时保持原始的宽高比。

crop

Crop the input video to given dimensions.
It accepts the following parameters:

  • w, out_w
    The width of the output video. It defaults to iw.
    This expression is evaluated only once during the filter configuration, or when the ‘w’ or ‘out_w’ command is sent.
  • h, out_h
    The height of the output video. It defaults to ih.
    This expression is evaluated only once during the filter configuration, or when the ‘h’ or ‘out_h’ command is sent.
  • x
    The horizontal position, in the input video, of the left edge of the output video.
    It defaults to (in_w-out_w)/2.
    This expression is evaluated per-frame.
  • y
    The vertical position, in the input video, of the top edge of the output video.
    It defaults to (in_h-out_h)/2.
    This expression is evaluated per-frame.
  • Crop area with size 100x100 at position (12,34).

 

crop=100:100:12:34
  • Using named options, the example above becomes:

 

crop=w=100:h=100:x=12:y=34

References:

https://www.cnblogs.com/tocy/p/ffmpeg-filter-intro.html
http://www.ffmpeg.org/ffmpeg-filters.html#crop
https://blog.csdn.net/newchenxf/article/details/51364105



作者:FlyingPenguin
链接:https://www.jianshu.com/p/3fa0b04027ce
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值