【ffmpeg】视频常用操作合集

1.转码264

ffmpeg -i [原视频.mp4] -vcodec h264 [输出视频.mp4]

2.视频流yuv数据抽取帧

ffmpeg -f rawvideo -s:v [尺寸] -i "[视频源]" -f image2 -q 2 -r [帧数] [文件夹及文件名]

尺寸 : 例如 :640x360
视频源:例如: test.yuv
帧数: 例如:5
文件夹及文件名: 例如:2-5/%04d.png

ffmpeg -f rawvideo -s:v 640x360 -i "1.yuv" -f image2 -q 2 -r 5 out/%04d.png

从1.yuv文件中抽取640*360尺寸的图片,储存在out文件夹中,名字按照0001.png ,0002.png 递增。
yuv数据必须指定尺寸,因为他是源数据,没有行列概念。

3.yuv转为MP4

ffmpeg -f rawvideo -s:v  640x360 -i "1.yuv" -c:v libx264 1.mp4 -y

将640*360的源yuv数据1.yuv转为1.MP4

4.压缩视频(按照比特率500K-700K),同时拆分为图片

压缩视频

ffmpeg -i 1.mp4 -vf scale=640:360 -vcodec libx264 -b:v 500k -bufsize 500k -maxrate 700k 1_360P_500k.mp4

抽取图片

ffmpeg -i 1_360P_500k.mp4 -s:v 640x360 -f image2 -q 2 -r 5 1_360P_500k_5/%04d.png

5.截取视频段

ffmpeg -ss 00:00:17 -to 00:00:50 -i 原视频.mp4 -vcodec copy -acodec copy out.mp4

6.限制比特率为2M/s

ffmpeg -i "1.mp4" -b:v 2M 1_out.mp4

7.缩放到720P

ffmpeg -i 1.mp4 -vf scale=1280:720 -vcodec h264 1_720P.mp4

8.视频拼接

横向拼接

ffmpeg -i 0001.mp4 -i 0001_2.mp4 -filter_complex hstack 0001_cat.mp4

纵向拼接

ffmpeg -i 0001.mp4 -i 0001_2.mp4 -filter_complex vstack 0001_cat.mp4 -y

9.合并视频同时编码成h264

创建txt文件

mylist.txt

内容写上需要合并的视频名称

file '0.mp4'
file '1.mp4'

合并视频并转264

ffmpeg -f concat -safe 0 -i mylist.txt -c copy output.mp4 -vcodec h264 output_h264.mp4

直接合并视频

ffmpeg -f concat -safe 0 -i mylist.txt -c copy output.mp4 

10. 查看视频码率等信息

ffprobe  1.mp4

11. 视频拼接并指定列数

ffmpeg -i 1.mp4 -i 2.mp4 -filter_complex "[0:v]crop=1920:ih:920:0[v0];[1:v]crop=1920:ih:920:0[v1];[v0][v1]hstack=inputs=2[v]" -map "[v]" output.mp4

1920是开始的列,920是总的提取多少列

12.提取特定范围的帧

ffmpeg -i input.mp4 -vf "fps=1" -ss 00:01:00 -to 00:02:30 output_%04d.png

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android基础: 使用Java代码控制 Activity类页面相互之间进行跳转 Activity页面的的启动和结束

Android基础(Activity) Activity的启动和结束 我们主要看Java代码逻辑: 第一个页面的逻辑代码 public class StartActivity01 extends AppCompatActivity implements View.OnClickListener {Overrideprotected void onCreate(Bundle saved…

JS中的 回调函数(callback)

1.什么是回调函数(callback)呢? 把函数当作一个参数传到另外一个函数中,当需要用这个函数是,再回调运行()这个函数. 回调函数是一段可执行的代码段,它作为一个参数传递给其他的代码,其作用是在…

香港云服务器计算型和通用型的区别

在当今数字化时代,云服务器作为企业级应用的核心设备,其性能和类型对于企业的运营和数据处理至关重要。在常见的香港云服务器类型中,通用型和计算型是最为常见的两种。那么,这两种云服务器到底有什么区别呢? 设计目标和应用场景不…

HarmonyOS开发基础(一)

HarmonyOS开发基础(一) // :装饰器:用来装饰类结构、方法、变量 Entry // Entry:标记当前组件为入口组件 Component // Component:标记为自定义组件 // struct:自定义组件,可复用的…

【LeetCode】692. 前K个高频单词

692. 前K个高频单词 描述示例解题思路及事项思路一思路二 描述 给定一个单词列表 words 和一个整数 k ,返回前 k 个出现次数最多的单词。 返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率, 按字典顺序 排序 示例 示例1 输…

电力校准平台

介绍 明确电力校准溯源平台的需求,包括设备管理、校准流程、数据存储、数据分析、安全保障、用户管理、系统管理和报告生成等方面的需求。通过清晰定义需求,为后续系统开发提供准确依据,确保系统的顺利实施和稳定运行。 设备管理 2.1 设备信息管理 平台应具备设备信息管理功…

Python实现FA萤火虫优化算法优化BP神经网络回归模型(BP神经网络回归算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 萤火虫算法(Fire-fly algorithm,FA)由剑桥大学Yang于2009年提出 , …

15.Servlet [一篇通]

文章目录 1.Servlet 是什么2.第一个 Servlet 程序2.1创建项目2.2引入依赖2.3创建目录2.4编写代码2.5打包程序2.6部署程序2.7验证程序 3.更方便的部署方式3.1安装 Smart Tomcat 插件3.2配置 Smart Tomcat 插件 4.访问出错怎么办?4.1出现 4044.2出现 4054.3出现 5004.4出现 &quo…

移动端APP测试方法

1 APP测试基本流程 1.1 测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间。正式测试前先向主管确认项目排期。 1.2 测试资源 测试任…

冬天来了,波司登的高端化“春天”不远了?

最近,羽绒服频繁“贵”上热搜。 在众多热搜词条中,一条“国产羽绒服卖到7000元”的话题一度将波司登推上了舆论的风口浪尖。 对此,波司登在最新的业绩说明会上进行了回应,公司表示:“波司登旗下主品牌及子品牌将形成差…

mysql原理--InnoDB记录结构

1.InnoDB行格式 我们平时是以记录为单位来向表中插入数据的,这些记录在磁盘上的存放方式也被称为 行格式 或者 记录格式 。 设计 InnoDB 存储引擎的大叔们到现在为止设计了4种不同类型的 行格式 ,分别是 Compact 、 Redundant 、Dynamic 和 Compressed 行…

Linux 5.15安全特性之ARM64 PAC

ARM64 PAC(Pointer Authentication Code)机制是ARM架构中引入的一种安全特性,旨在提供指针的完整性和安全性保护。它通过在指针中插入一段额外的代码进行签名,以验证指针的完整性,从而抵御缓冲区溢出和代码注入等攻击。…

抖音直播间购物小黄车的商品详情数据SKU接口轻松拿下

我们都知道,抖音直播购物车的商品链接只能是抖音小店的,如果没有开通抖音小店,还能添加小店链接吗? 也是可以的。 抖音直播小黄车的链接可以是自己的小店商品,也可以是别人的小店商品。 抖音直播上链接有两种方式&a…

在Redis中设置一个键值对并为其指定过期时间

在Redis中设置一个键值对并为其指定过期时间,可以使用 SET 命令结合 EXPIRE 命令来实现,或者直接使用 SETEX 命令。 以下是使用 SET 和 EXPIRE 命令的例子: SET mykey somevalue EXPIRE mykey 30上面的命令首先使用 SET 命令创建了一个名为…

大数据技术发展

▶1.大数据时代 美国互联网数据中心指出,互联网上的数据每年增长50%,每两年翻一番,目前世界上90%以上的数据是最近几年才产生的。此外,这些数据并非单纯是人们在互联网上发布的信息,85%的数据由传感器和计算机设备自动生成。全世…

centos7防火墙开启端口

1.查看防火墙状态 firewall-cmd --state如果返回的not running,那么需要先开启防火墙 2.开启关闭防火墙 systemctl start firewalld.service systemctl stop firewalld.service systemctl restart firewalld.service3.开放指定端口 firewall-cmd --zonepublic -…

MYSQL8用户权限配置详解

单位的系统性能问题需要把Mysql5升级到Mysql8,需要用到Mysql8的一些特性来提升系统的性能。 配置用户权限过程中发现一些问题,学习并记录一下。 目录 一、环境 二、MySQL8 用户权限 2.1 账号管理权限 2.1.1 连接数据库 2.1.2 账号权限配置 2.2 密码…

Container容器技术简介

本文介绍了容器技术出现背景,docker技术与容器编排技术的简单说明 背景 在传统项目的生产环境中,迁移一个用户态进程往往非常麻烦,因为一个用户态进程背后会附带这非常多例如函数库、中间件等的依赖项,但又没有像apt和yum一样的…

linux 僵尸进程 关闭看不见的进程

多卡训练,如果显存不够,程序会崩溃退出,但是gpu显存会一直占用。 nvidia-smi看不到相关进程,关闭进程方法: 目录 查询进程: 关闭方法 1: 使用 pkill 方法 2: 使用 ps, grep 和 awk 结合 kill 查询进程…

洗地机哪个牌子好用?洗地机希亦、石头、添可、西屋谁的清洁力更强?

洗地机的出现极大地改善了清洁过程,提高了效率,减少了人力投入。但随着市场上洗地机的种类和功能不断增加,人们可能会感到困惑,不知道如何选择适合自己需求的机器。为了帮助消费者更好地了解洗地机的选择,今天我将带大…