ffmpeg 最强大的视频工具

文章目录

  • 一、ffmpeg安装
  • 二、基本用法
    • 1、文件格式转换
    • 2、视频过滤器 filter
    • 3、剪切
    • 4、合并
    • 5、音频过滤器
    • 6、删除轨道
    • 7、简单应用:录屏

一、ffmpeg安装

windows下可以上官网 https://www.ffmpeg.org/download.html下载:
在这里插入图片描述

在这里插入图片描述
下载好后,解压缩,将该文件的bin目录路径添加到环境变量的path中。

二、基本用法

打开windows的cmd命令行窗口,在其中可以输入以下命令:

1、文件格式转换

(1)ffmpeg -i 输入文件 输出文件
可以根据扩展名,转换视频文件格式,其中 -i 表示 input。
例:ffmpeg -i test.mp4 test.avi

注:视频文件格式比如mp4,实际上是一种封装格式或叫容器格式。它包含以下内容:
在这里插入图片描述
而其中的音频流和视频流又可以采用不同的编码格式。编码就是将每一帧的画面存储成二进制数据。目前mp4比较常用的编码格式是H264。

(2)可以手动指定编码器 -c:v(codec video)
例:ffmpeg -i test.mp4 -c:v libx264 test.avi
注:实际上libx264就是ffmpeg默认的用H264实现的编码器。而h264_nvenc可以用英伟达硬件加速。

(3)设置预设 -preset
例:ffmpeg -i test.mp4 -c:v libx264 -preset superfast test.avi
由上到下,编码速度越来越慢,文件大小越来越小。
在这里插入图片描述
(4)-crf(constant rate factor)
控制图像质量,取值为0 - 51,值越大,代表图像质量越差。其中0代表无损压缩,输出的文件较大。我们经常用到的范围是19 - 28

2、视频过滤器 filter

过滤器可以对视频图像进行变换,比如修改它的尺寸、裁剪、旋转、添加滤镜等。
另外还可以指定一系列的过滤器:
在这里插入图片描述
比如先将视频图像缩小为原来的0.5倍,再旋转90度。

-vf指定过滤器

(1)修改尺寸
例:ffmpeg -i test.mp4 -c:v libx264 -vf “scale=1024:576” test.avi
注:scale=长度:宽度,也可以scale=1024:-1,这样另一个尺寸会被自动推算。

(2)旋转视频
例:ffmpeg -i test.avi -c:v libx264 -vf “transpose=2” test.mp4
注:这里transpose=2表示逆时针旋转90°

(3)裁剪
例:ffmpeg -i test.avi -c:v libx264 -vf “crop=200:200:20:20” test.mp4
注:crop=w:h❌y,表示区域的宽和高,以及左上角的坐标。
也可以写成表达式的形式:ffmpeg -i test.avi -c:v libx264 -vf “crop=iw/3:ih/3” test.mp4

(4)过滤器可以相互组合
例:ffmpeg -i test.avi -c:v libx264 -vf “scale=1024:576,transpose=2” test.mp4

3、剪切

例:ffmpeg -i test.mp4 -c:v libx264 -ss 00:00:02 -t 3 test.avi
-ss 表示片段开始时间,需要放在 -i 后面,这样剪切位置比较准确
-t 表示片段的时长,格式可以用hh:mm:ss,也可以直接写秒数。

ffmpeg -i test.mp4 -c:v libx264 -ss 00:00:02 -to 00:00:03 test.avi
-to 用来指定片段终止位置

4、合并

首先要将所有的文件列举在一个文本中,
mylist.txt内容:
file ‘test1.mp4’
file ‘test2.mp4’
file ‘test3.mp4’

然后通过 -f concat 指定接下来输入的文件是一个视频列表。-i 输入文件。-c copy 不重新编码,直接复制原始视频的数据。完整命令如下:
ffmpeg -f concat -i mylist.txt -c copy output.mp4

5、音频过滤器

参数 -af
(1)调节音量大小 volume
例:ffmpeg -i test.mp4 -af “volume=1.5” output.mp4

(2)统一视频音量 loudnorm
例:ffmpeg -i test.mp4 -af “loudnorm=I=-5:LRA=1” output.mp4

6、删除轨道

-an 删除音频轨
-vn 删除视频轨
-sn 删除字母
-dn 删除数据流
例:ffmpeg -i test.mp4 -an output.mp4

7、简单应用:录屏

(1)全屏录屏
ffmpeg -f gdigrab -i desktop output.mp4

(2)指定区域录屏
ffmpeg -f gdigrab -framerate 30 -video_size 1920x1080 -i desktop output.mp4

按 ctrl + c 退出

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/14335.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

初识算法 · 位运算(2)

目录 前言: 判定字符是否唯一 丢失的数字 比特位计数 只出现一次的数字III 前言: ​本文的主题是位运算,通过四道题目讲解,一道是判断字符是否唯一,一道是只出现一次的数字III,一道是比特位计数&…

大数据新视界 -- 大数据大厂之 Impala 性能优化:基于数据特征的存储格式选择(上)(19/30)

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

[产品管理-76]:延续是创新与颠覆式创新的比较

目录 一、概述 1、定义与特征 2、市场影响与竞争策略 3、实施难度与风险 4、案例分析 二、示例 1. 延续性创新示例 2. 创新示例 3. 颠覆式创新示例 一、概述 延续性创新与颠覆式创新是技术创新领域的两种重要策略,它们在多个方面存在显著差异。 以下是对…

JAVA学习日记(十五) 数据结构

一、数据结构概述 数据结构是计算机底层存储、组织数据的方式。 数据结构是指数据相互之间以什么方式排列在一起的。 数据结构是为了更加方便的管理和使用数据,需要结合具体的业务场景来进行选择。 二、常见的数据结构 (一)栈 特点&…

自动化测试工具Ranorex Studio(三十)-代码模块中使用变量快照

为了在代码模块中使用数据连接器提供的值,你需要在代码中添加一个变量。使用右键菜单项’Insert Module Variable’。 添加一个新的变量到您的代码模块 指定变量名和默认值 通过添加一个新的变量,Ranorex Studio 会在光标位置插入一段新代码——由一个…

Python技巧:查询模块的版本号的方法

1,pycharm里面的 Python interpreter 或者 Python package 2,通过 __version_info__ import matplotlib print(matplotlib.__version_info__) 3,查看目录里面的 _version.py 文件

​​​​​​​15TS Series TVS 的解析

15TS Series 1500W Transient Voltage Suppresso指的是一系列高性能的瞬态电压抑制二极管(Transient Voltage Suppressor,TVS),这些二极管由时源芯微(TimeSource)设计用于保护敏感的电子设备免受瞬态过电压…

Python学习从0到1 day27 Python 高阶技巧 ① 闭包

目录 一、闭包 作用 示例 二、nonlocal关键字 示例 三、atm取钱的闭包实现 四、闭包注意事项 优点 缺点 我陪你走了一段路,你最了解我不是吗 —— 24.11.11 一、闭包 在函数嵌套的前提下,内部函数使用了外部函数的变量,并且外部函数返回了内部…

python成长技能之网络编程

文章目录 一、初识Socket1.1 什么是 Socket?1.2 socket的基本操作1.3 socket常用函数 二、基于UDP实现客户端与服务端通信三、基于TCP实现客户端与服务端通信四、使用requests模块发送http请求 一、初识Socket 1.1 什么是 Socket? Socket又称"套接字",…

[ACTF2020 新生赛]Upload 1--详细解析

信息收集 题目告诉我们是一道upload,也就是文件上传漏洞题目。 进入界面,是一个灯泡,将鼠标放在图标上就会出现文件上传的相应位置: 思路 文件上传漏洞,先看看有没有前端校验。 在js源码中找到了前端校验&#xff…

光伏设计软件怎么选?有哪些推荐?

在光伏电站的开发建设中,专业设计软件是提升电站能效、降低开发成本的重要工具。市场上存在许多优秀的光伏设计软件,能够通过还原现状和三维建模来呈现出最符合实际需求的设计方案,究竟该怎么选呢? -易用性:一些软件操…

刷题强训(day06) -- 大数加法、链表相加、大数乘法

目录 1、大数加法 1.1 题目 1.2 思路 1.3 代码实现 2、链表相加(二) 2.1 题目 2.2 思路 2.3 代码实现 3、大数乘法 3.1 题目 3.2 思路 3.3 代码实现 1、大数加法 1.1 题目 1.2 思路 这道题可以模拟列竖式相加解答, 将每一位都转…

雷池waf安装并部署防护站点

雷池waf安装并部署防护站点 最低配置要求 操作系统:Linux 指令架构:x86_64 软件依赖:Docker 20.10.14 版本以上 软件依赖:Docker Compose 2.0.0 版本以上 最小化环境:1 核 CPU / 1 GB 内存 / 5 GB 磁盘 写在前面 本文…

AI技术赋能电商行业:创新应用与未来展望

💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:《热点时事》 期待您的关注 引言 随着科技的飞速发展,人工智能(AI)技术正逐步渗透到各行各业&a…

【Linux】进程(状态)

大家好呀,我是残念,希望在你看完之后,能对你有所帮助,有什么不足请指正!共同学习交流哦 本文由:残念ing原创CSDN首发,如需要转载请通知 个人主页:残念ing-CSDN博客,欢迎各…

自动化测试框架的搭建详解

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 最近好多小伙伴都在说接口自动化测试,那么究竟什么是接口自动化测试呢?让我们一起往下看就知道了,首先我们得先弄清楚下面这…

重拾CSS,前端样式精读-媒体查询

前言 本文收录于CSS系列文章中,欢迎阅读指正 说到媒体查询,大家首先想到的可能是有关响应式的知识点,除此之外,它还可以用于条件加载资源,字体大小,图像和视频的优化,用户界面调整等等方面&am…

4TS Series TVS 的解析

4TS Series 400W Transient Voltage Suppressor指的是时源芯微(TimeSource)生产的一系列瞬态电压抑制二极管(Transient Voltage Suppressor,TVS),这些二极管专门设计用于保护敏感电子设备免受雷电、电源浪涌…

语义分割数据增强,图像和标签同步对应详细增强教程(附代码)

💪 专业从事且热爱图像处理,图像处理专栏更新如下👇: 📝《图像去噪》 📝《超分辨率重建》 📝《语义分割》 📝《风格迁移》 📝《目标检测》 📝《图像增强》 &a…

本地部署 OpenHands

本地部署 OpenHands 0. 引言1. 部署 OpenHands2. 访问 OpenHands3. 验证 OpenHands 0. 引言 OpenHands 是一个由人工智能驱动的软件开发代理平台。 OpenHands 代理可以执行人类开发人员可以执行的任何操作:修改代码、运行命令、浏览网页、调用 API,甚至…