当前位置: 首页 > news >正文

【ffmpeg命令入门】视频剪切,倍速与倒放

文章目录

    • 前言
    • 1. 视频剪切
    • 2. 视频倍速
      • 公式说明
      • 例子
    • 3. 视频倒放
    • 总结


前言

在视频编辑中,剪切、倍速和倒放是常见的操作,能够帮助我们调整视频的长度、播放速度以及播放顺序。掌握 FFmpeg 命令中的相关参数和用法将使视频处理变得更加高效。在这篇文章中,我们将介绍如何使用 FFmpeg 进行视频剪切、调整倍速和实现倒放效果,并解释每个命令的含义。

1. 视频剪切

视频剪切用于从视频中提取特定的片段。可以使用 FFmpeg 的 -ss-t 参数来实现视频剪切。

示例命令:

ffmpeg -i input.mp4 -ss 00:01:00 -t 00:00:30 -c copy output.mp4
  • ffmpeg:调用 FFmpeg 命令行工具。
  • -i input.mp4:指定输入文件为 input.mp4
  • -ss 00:01:00:指定剪切的起始时间为 1 分钟。该参数决定了从视频的哪个时间点开始剪切。
  • -t 00:00:30:指定剪切的持续时间为 30 秒。这个参数定义了从起始时间点开始剪切的片段长度。
  • -c copy:在剪切时复制视频流,避免重新编码,保留原视频质量。
  • output.mp4:输出文件名。

2. 视频倍速

视频倍速用于调整视频的播放速度。使用 FFmpeg 的 -filter:v "setpts=PTS/2" 参数可以实现倍速播放。setpts 滤镜改变视频的时间戳,从而调整播放速度。

示例命令:

ffmpeg -i input.mp4 -filter:v "setpts=PTS/2" -an output.mp4
  • ffmpeg:调用 FFmpeg 命令行工具。

  • -i input.mp4:指定输入文件为 input.mp4

  • -filter:v "setpts=PTS/2":使用 setpts 滤镜将视频的播放速度加倍。PTS 是视频帧的显示时间戳,PTS/2 意味着时间戳减少一半,从而使播放速度加倍。

  • -an:在处理时不处理音频流。

  • output.mp4:输出文件名。
    如果你想要设置其他倍速播放,可以使用以下公式来调整 PTS(Presentation Time Stamp)值:

  • 加速倍数:如果你希望将视频的播放速度加速为 N 倍,那么你应该使用 PTS/(N)

  • 减速倍数:如果你希望将视频的播放速度减速为 N 倍,那么你应该使用 PTS*(N)

公式说明

  • 加速

    • 倍速 = PTS / N
    • 例如,如果你想将视频的播放速度加速 3 倍,那么你应该使用 PTS/3。这意味着每帧的显示时间将减少到原来的 1/3,从而使视频的播放速度加快 3 倍。
      在这里插入图片描述
  • 减速

    • 倍速 = PTS * N
    • 例如,如果你想将视频的播放速度减速 0.5 倍(即将速度减半),你应该使用 PTS*2。这意味着每帧的显示时间将增加到原来的 2 倍,从而使视频的播放速度减慢 0.5 倍。
      在这里插入图片描述

例子

1. 加速 4 倍:

ffmpeg -i input.mp4 -filter:v "setpts=PTS/4" -an output.mp4

2. 减速 0.25 倍:

ffmpeg -i input.mp4 -filter:v "setpts=PTS*4" -an output.mp4

3. 加速 1.5 倍:

ffmpeg -i input.mp4 -filter:v "setpts=PTS/1.5" -an output.mp4

4. 减速 0.75 倍:

ffmpeg -i input.mp4 -filter:v "setpts=PTS*1.333" -an output.mp4

通过这些公式,你可以计算出所需的 PTS 值,从而调整视频的播放速度以符合你的需求。

3. 视频倒放

视频倒放用于将视频播放顺序倒转。使用 FFmpeg 的 -filter:v "reverse" 参数可以实现倒放效果。reverse 滤镜反转视频的帧顺序。

示例命令:

ffmpeg -i input.mp4 -filter:v "reverse" -an output.mp4
  • ffmpeg:调用 FFmpeg 命令行工具。
  • -i input.mp4:指定输入文件为 input.mp4
  • -filter:v "reverse":使用 reverse 滤镜将视频帧顺序倒转,实现倒放效果。
  • -an:在处理时不处理音频流。
  • output.mp4:输出文件名。

总结

通过这篇文章,我们学习了如何使用 FFmpeg 命令进行视频剪切、调整倍速和实现倒放效果。视频剪切使用 -ss-t 参数来提取特定片段,倍速播放通过 -filter:v "setpts=PTS/2" 调整播放速度,而倒放效果则通过 -filter:v "reverse" 实现。了解这些命令的含义和用法,将使我们能够更灵活地处理视频,满足不同的编辑需求。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 视图、存储过程、触发器
  • goland设置Gin框架中tmpl模板的语法提示的方法
  • Spring 循环依赖详解
  • 基于python opencv 多进程处理图像
  • 你了解你的GD32 MCU系统主频是多少吗 ?
  • 什么是反射以及反射的应用及例子
  • 14、如何⽤DDD设计微服务代码模型
  • [Armbian] 部署Docker版Home Assistent,安装HACS并连接米家设备
  • SimD~
  • 数据结构之树知识总结
  • 快速搞定分布式RabbitMQ---RabbitMQ进阶与实战
  • 【C++笔试强训】day02
  • Android SurfaceFlinger——纹理的绘制流程(二十八)
  • Activiti 6 兼容openGauss数据库bytes类型不匹配
  • Linux 某进程 CPU 高问题,用 Shell 脚本发现处理
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • CentOS 7 防火墙操作
  • CentOS7 安装JDK
  • extjs4学习之配置
  • hadoop集群管理系统搭建规划说明
  • in typeof instanceof ===这些运算符有什么作用
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • Netty源码解析1-Buffer
  • Redis中的lru算法实现
  • 闭包--闭包作用之保存(一)
  • 前端面试总结(at, md)
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 我看到的前端
  • 因为阿里,他们成了“杭漂”
  • HanLP分词命名实体提取详解
  • ​【经验分享】微机原理、指令判断、判断指令是否正确判断指令是否正确​
  • ​Python 3 新特性:类型注解
  • ​虚拟化系列介绍(十)
  • #includecmath
  • $.ajax()方法详解
  • (Charles)如何抓取手机http的报文
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (力扣)循环队列的实现与详解(C语言)
  • (实战篇)如何缓存数据
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • *上位机的定义
  • ./configure、make、make install 命令
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • .net6+aspose.words导出word并转pdf
  • .net开发引用程序集提示没有强名称的解决办法
  • .NET开源纪元:穿越封闭的迷雾,拥抱开放的星辰
  • /etc/skel 目录作用
  • /proc/stat文件详解(翻译)
  • @Bean有哪些属性
  • @NestedConfigurationProperty 注解用法
  • @property括号内属性讲解
  • [ Linux ] Linux信号概述 信号的产生