zoukankan      html  css  js  c++  java
  • ffmpeg 对 视频进行缩放和裁剪操作

    使用ffmpeg进行放大和缩小视频用的是scale过滤器

    # 将视频缩小到宽200高100
    ffmpeg -i test.mp4 -vf scale=w=200:h=100 "C:\Users\amin\Desktop\test2.mp4"

    vf表示视频过滤器(video filter),该操作中由于宽高比和原来的视频不同,会造成像素的宽高比不同

    如果想要保持原来的宽高比,可以传递-1作为参数,使用iw和ih分别表示原来视频的宽度和高度。

    如下指令生成的视频的宽度为原来的1.5倍,但是限制视频的最大宽度为5000像素。

    参数解释:min 的意思就是取最小的,如果设置的宽度大于5000就取最小的5000

    ffmpeg -i test.mp4 -vf scale=w='min(5000,iw*1.5)':h=1280  "C:\Users\amin\Desktop\test2.mp4"

    # 同理,限制视频宽度最小多少
    ffmpeg -i test.mp4 -vf scale=w='max(1920,iw*1)':h=-1  "C:\Users\amin\Desktop\test2.mp4"

    如果只想设置宽度,同时保持原来的宽高比

    ffmpeg -i test.mp4 -vf scale=w='min(5000,iw*1.5)':h=-1  "C:\Users\amin\Desktop\test2.mp4"

     同理设置高也一样

    ffmpeg -i test.mp4 -vf scale=w=-1:h='min(720,ih*1)'  "C:\Users\amin\Desktop\test2.mp4"

    裁剪视频

    裁剪的意思就是从原来的视频中截取矩形区域生成新视频,需要用到crop过滤器

    iw表示输入视频的宽度。

    ih表示输入视频的高度。

    ow表示输出视频的宽度。

    oh表示输出视频的高度。

    x表示水平位置,默认数值为(ih - oh) / 2 。

    y表示竖直位置,默认数值为(ih - oh) / 2 。

    它可以把视频从指定的x、y位置裁剪成指定的w、h。坐标系是基于左上点开始的。

    ffmpeg -i test.mp4 -vf crop=w=500:h=500:x=120:y=340  "C:\Users\amin\Desktop\test2.mp4"

    这里也可以使用iw 和ih

  • 相关阅读:
    MySQL配置文件mysql.ini参数详解、MySQL性能优化
    破解许可
    mysql本地可以访问 网络不能访问
    解决远程连接mysql很慢的方法(mysql_connect 打开连接慢)
    MYSQL数据库如何赋予远程某个IP访问权限
    linux网络编程 no route to host 解决方案
    CentOS添加路由表
    CentOS安装zip unzip命令
    Centos7下的systemctl命令与service和chkconfig
    header头参数不能带下划线
  • 原文地址:https://www.cnblogs.com/xuguangzong/p/15775177.html
Copyright © 2011-2022 走看看