FFmpeg - 将最大视频尺寸调整为 320

2024-01-25

我正在尝试使用 FFmpeg 动态更改通过 PHP 上传到服务器的视频的分辨率。 IE,我想保留纵向或横向方向 - 如果 Y 高于 X,我想将 Y 更改为 320,将 X 更改为相应的值,反之亦然。我在调整大小本身方面没有遇到任何问题 - 实际上,这非常简单。我遇到的麻烦是检测哪个维度更大。

我抓住了 Stack Overflow 的这个解决方案:如何使用 ffmpeg php 检查视频是横向还是纵向? https://stackoverflow.com/questions/15298004/how-to-check-if-video-is-landscape-or-portrait-using-ffmpeg-php

但是,它似乎不起作用。当我追踪什么不起作用时 - 我假设自该解决方案发布以来输出格式的方式已经改变,现在需要以不同的方式解析 - 我想问是否有更好的方法来做到这一点。我愿意使用 FFmpeg 或基于 PHP 的解决方案。


ffmpeg -i input.jpg -vf 'scale=320:320:force_original_aspect_ratio=decrease' output.png

根据 FFmpeg 文档,force_original_aspect_ratio选项对于缩放时保持原始纵横比很有用:

   force_original_aspect_ratio
       Enable decreasing or increasing output video width or height if
       necessary to keep the original aspect ratio. Possible values:

       disable
           Scale the video as specified and disable this feature.

       decrease
           The output video dimensions will automatically be decreased if
           needed.

       increase
           The output video dimensions will automatically be increased if
           needed.

Use decrease使最大尺寸为 320,或使用increase使最小尺寸为 320。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FFmpeg - 将最大视频尺寸调整为 320 的相关文章

  • 如何使用 monolog ElasticSearchHandler 登录 Laravel 应用程序

    Monolog 包含弹性搜索处理程序和格式化程序 但它作为自定义通道对 Laravel 的实现并不像 Laravel 文档网站上描述的那么简单 以下是如何执行此操作的简要分步说明 为您的弹性搜索日志记录创建一个配置文件 config ela
  • 如何在 Windows 上安装 PHP 的 PDO 驱动程序?

    我在 Windows 服务器上安装了 Apache PHP 5 6 和 MySQL 5 7 在 php ini 中 我启用了以下内容 extension php mysql dll extension php mysqli dll exte
  • 使用factory faker创建的图像在存储在storage/public/images文件夹中时会被删除

    我正在尝试用假图像填充我的数据库 但是当 faker 将其保存到我的图像文件夹中时 一秒钟后它被删除 并且在我的数据库字段中我得到 0 我可以访问http lorempixel com http lorempixel com 也可以 pin
  • 使用“manage_pages”权限创建页面访问令牌时收到警告

    当我尝试获取具有 manage pages 权限的 page access 令牌时 我收到以下警告 以下权限尚未批准使用 manage pages 如果您公开您的应用程序 它们将不会向使用您应用程序的人显示 提交它们以供审核或了解更多信息
  • 如何覆盖 suhosin 最大值?

    suhosin 正在过滤一个重要的 GET 参数 当以下方法不起作用时 如何覆盖 suhosin public html php ini suhosin suhosin get max value length 2048 将 suhosin
  • 获取过时的 Composer 软件包列表

    我想获取过时的软件包列表 这些软件包将在我发布时更新composer update 作曲家有这样的功能吗 如果没有 有没有办法做到这一点 有或没有作曲家 Update Since Composer v1 1 2016 年 5 月 https
  • 如何使用 php 处理传出 webhook (Slack)

    我已经配置了 Slack outgoing webhook 但我不确定如何处理 Slack 发送到我指定的 URL 的 HTTP POST 请求 工作流程是这样的 当有人向指定通道发送消息时 API 将向指定 URL 之一发送 HTTP P
  • 如何转换为在视图上使用 Yii CDataProvider?

    我正在尝试学习 Yii 并查看了 Yii 文档 但仍然没有真正理解 我仍然不知道如何在控制器和视图上使用 CDataProvider 来显示视图上可用的所有博客文章 任何人都可以根据以下内容提供建议或举例 我的 PostController
  • Oracle/PHP - ORA-00911 更新时的无效字符

    我正在运行一个 PHP 脚本 该脚本从 Oracle 数据库实例更新表 首先 我收到一个 JSON 对象 lot KLMHA17N9N00 requestor B10078 id FRESHLOT username B26696 passw
  • 在这个页面中,悬停不起作用,我不知道为什么,而且页脚也没有占用 100% 宽度,即使我已经给了它

    我的编码是否不正确 或者悬停和页脚有什么问题 我需要知道 php 邮件程序是正确的还是我有错误 我无法找到错误 因为邮件功能在本地服务器上不起作用
  • php在html页面中创建额外空间

    我是网络开发新手 我真的被这个愚蠢的问题困扰了 当我在 html 代码之前插入 php 代码时 如下所示 它在我的页面顶部创建了额外的空白空间 并将整个内容 推下 是否有可能以某种方式避免创建额外的空间 如果 php 代码位于 html 的
  • PHP Netbeans:xdebug 在每个 include() 或 require() 上停止

    我刚刚发现使用 netbeans IDE 中集成的 xdebug 进行 PHP 调试 我认为这很棒 没有它我怎么生活 但有一个问题 如果我在代码深处设置了一个断点 我必须在到达断点之前多次按 继续 F5 因为脚本会在每个 include 和
  • zend 模块特定配置问题

    我使用 zend 框架构建 REST Web 服务 并且使用模块来分隔我的 api 版本 现在 我想为每个模块 v1 和 v2 都有一个单独的配置文件 主要用于指定单独的数据库连接 我有这样的目录结构 application modules
  • PHP 错误请求中 HTTP 请求失败

    我可以直接从浏览器请求 URL Web 服务 WS 但是当我在代码中使用 file get contents 或 fopen 方法时 我收到一条错误消息 有人有不使用curl的解决方案吗 public function sendHttpRe
  • 何时以及为何应使用 $_REQUEST 而不是 $_GET / $_POST / $_COOKIE?

    标题中的问题 当所有 3 个都发生时会发生什么 GET foo POST foo and COOKIE foo exist 其中哪一个被包含到 REQUEST 我想说永远不会 如果我想通过各种方法设置某些内容 我会为每个方法编写代码以提醒自
  • 在浏览器上录制视频并上传到LAMP服务器

    我已经尝试了很多东西 red5 jquery 网络摄像头 html5 但这些解决方案都没有录制视频并准备好上传到服务器 无论如何 html5 flash 等等 更好的跨浏览器解决方案 最好的 上传视频 音频 并将结果上传到服务器 我猜是通过
  • php 打印 aa aaa ab aab 直到 zzz 的算法

    你好 我需要打印从 a 到 zzz 最多 3 个字母 例如我的输出应该是 A B Z AA AB AZ BA BB ZZ AAA AAB ZZZ 我在过去的 5 个小时里努力尝试 我找不到任何逻辑 我尝试了下面的代码 PHP 有一个方便的功
  • php 崩溃后 mysql 表被锁定

    我有一个 MySQL DB 和一个 innoDB 表 我有一个 php 页面 用于连接 锁定表 进行一些更新 然后解锁表 PHP 页面通过 wamp 与 apache 一起提供 php页面将文件上传到数据库 我决定通过上传一个大小大于分配给
  • Laravel 集合 .each() + array_push

    需要有关 Laravel 上 each 方法内的 array push 的帮助 我无法在此代码上获取容器数组 imagesData array collect data images gt each function v k use ima
  • 在 Oracle 中使用触发器记录对表的更改

    我的一门课有一个项目 当我们的两个表发生更改时 我们需要创建一个日志 插入 更新 删除 我们需要使用Oracle触发器和PL SQL 在日志文件中 我们需要记录用户ID 日期时间 IP地址和事件 插入 更新 删除 我知道如何设置触发器 但我

随机推荐

  • 使用反向引用作为重复计数的正则表达式

    有什么方法可以构造一个按如下方式工作的正则表达式 将整数匹配为组1 然后匹配 1整数 This d s d 1 不幸的是 这是不允许的 但我发现它很好地描述了我想要实现的目标 你可以做这样的事情 var numbers 3 7 6 5 4
  • cakephp 从另一个助手中访问助手

    如何使用我构建的新帮助程序方法访问另一个帮助程序 例如 FormHelper class AppHelper extends Helper public function generateSpecialInput return this g
  • 通过shiny + rgl捕获坐标

    是否可以使用 recognize3d 或类似的方法来捕获通过渲染 Rglwidget 渲染的 rgl 场景中的地标坐标 我在闪亮中使用以下代码进行渲染 server observeEvent input mspec3D tt1 lt out
  • 在页面之间导航时闪烁

    当我在页面之间导航时 我的phonegap jquery 移动应用程序大部分时间都会闪烁 这是正常现象还是有解决办法 ui page webkit backface visibility hidden 这对我在phonegap jquery
  • 使用 openCv c++ 复制图像的一部分

    我正在使用 opencv 我想从另一个图像的一部分创建一个图像 我没有找到这样做的函数 所以我尝试实现我的想法 其中包括逐像素复制图像 但徒劳地我没有得到我正在等待的结果 任何人都有另一种想法 Code include cv h inclu
  • fullcalendar 无法读取未定义的属性“fn”

    我嵌入了fullcalendar min js到我的项目 但我收到此错误 错误日志显示 无法读取未定义的属性 fn 见下图 我检查了这个问题 建议使用jQuery 2 0 0 并且我肯定会使用jQuery v3 3 1 但无助于问题的解决
  • React Native RNFetchBlob 下载后获取文件的 URI

    我正在开发一个 React Native 项目 我现在想做的是下载并将下载的文件保存到设备上 我正在使用这个包 https www npmjs com package rn fetch blob https www npmjs com pa
  • Eclipse:将编辑器与内容类型相关联

    我可以根据内容类型而不是单个文件类型更改编辑器关联吗 如果我去Window gt Preferences gt General gt Editors gt File Associations 我看到基于文件扩展名的文件类型列表 例如 单击
  • 原型编程中对象和原型有什么区别?

    我试图理解创建和使用对象的 JavaScript 方式 但我认为我对对象和原型产生了误解 在我开始的一个新项目中 我决定尝试原型继承 我很困惑 这是否意味着我应该创建一个我打算使用的对象 然后基于该对象创建其他对象Object create
  • 使用 $inc 通过 Mongoose 增加文档属性

    我想增加views每次访问我的文档时都会加 1 到目前为止 我的代码是 Document find sort date 1 limit limit exec 哪里有 inc适合这里吗 从未使用过猫鼬 但快速查看文档here http mon
  • R bquote 的反向行为

    bquote函数允许计算表达式中包含的部分 称呼 例如 a lt 2 b lt 100 bquote 2 a x log10 b 会回来 4 x 2 我想重写这个函数来评估除了里面的东西之外的所有东西 称呼 这是期望的行为 a lt 2 b
  • htaccess 将域名重定向到 https,子域重定向到 https,非 www 重定向到 www

    我想这样做 强制我的主域使用 https http to https www https www http www http www to https www https www 但不适用于子域 http subdomain domain
  • 鼠标悬停时突出显示文本行[重复]

    这个问题在这里已经有答案了 我目前正在开发一个网站 该网站将提供大量故事供人们阅读 基本上是一个博客 我想让它们尽可能容易阅读 并且我认为用光标 突出显示 文本行会很有用 有点像读书时用手指跟随文本行 我偶然发现这个答案 https sta
  • 解释 jstat 结果

    我是 jstat 工具的新手 因此我做了如下示例 jstat gcutil t 4001 5000 Timestamp S0 S1 E O P YGC YGCT FGC FGCT GCT 565088 4 0 00 0 89 75 86 4
  • 为什么 Typescript 编译器将函数的返回类型推断为“原始类型”,而返回值是已知值?

    正如你在下面的代码中看到的 TS编译器infers类型为 const message Math random gt 0 5 hello can you here me null So message变量被推断为 hello can you
  • 解释 SetWindowsHookEx / WH_KEYBOARD_LL 的正确逻辑

    转换消息的正确方法是什么SetWindowsHookEx http msdn microsoft com en us library windows desktop ms644990 28v vs 85 29 aspx with WH KE
  • 为什么不能在 JObject 上使用 LINQ 方法?

    Newtonsoft Json Linq JObject实施的IEnumerable
  • 使用 NLog 的 Ninject 记录器

    我刚刚开始学习 Ninject 但遇到了记录器的问题 我目前有一个控制器 它有一个服务和记录器注入到构造函数中 如下所示 public ToolsController IToolsService toolsService ILogger l
  • 如何在 puppeteer 中传递实验性 chrome 选项

    我有一个用 python 编写的应用程序selenium https www selenium dev 其中设置了一些实验选项镀铬驱动程序 https chromedriver chromium org from selenium impo
  • FFmpeg - 将最大视频尺寸调整为 320

    我正在尝试使用 FFmpeg 动态更改通过 PHP 上传到服务器的视频的分辨率 IE 我想保留纵向或横向方向 如果 Y 高于 X 我想将 Y 更改为 320 将 X 更改为相应的值 反之亦然 我在调整大小本身方面没有遇到任何问题 实际上 这