FFmpeg学习笔记--FFplay简单过滤器、FFmpeg命令参数

news2024/10/6 0:26:23

目录

1--FFplay简单过滤器

2--FFmpeg命令参数

2-1 主要参数

2-1-1 -i设定输入流

2-1-2 -f设定输出格式

2-1-3 -ss设定开始时间

2-1-4 -t设定时间长度

2-1-5 代码实例

2-2 音频参数

2-2-1 -aframes设置输出的音频帧数

2-2-2 -b:a设置音频码率

2-2-3 -ar设置音频采样率

2-2-4 -ac设定声音的通道数

2-2-5 -acodec设定声音编解码器

2-2-6 -an表示不处理音频

2-2-7 -af设置音频过滤器

2-2-8 代码实例

2-3 视频参数

2-3-1 -vframes设置输出的视频帧数

2-3-2 -b设定视频码率

2-3-3 -b:v设定视频码率

2-3-4 -r设定帧速率

2-3-5 -s设定画面的宽与高

2-3-6 -vn表示不处理视频

2-3-7 -aspect aspect设置横纵比

2-3-8 -vcodec设定视频编解码器

2-3-9 -vf设定视频过滤器

2-3-10 代码实例


1--FFplay简单过滤器

① 视频旋转

ffplay -i test.mp4 -vf transpose=1

# 通过transpose控制旋转的角度,1表示顺时针旋转90°

② 视频反转

# 左右反转
ffplay test.mp4 -vf hfilp
# 上下反转
ffplay test.mp4 -vf vfilp

③ 视频旋转和反转

ffplay test.mp4 -vf hflip,transpose=1

④ 变速播放

# 音频变速播放
ffplay -i test.mp4 -af atempo=2

# 视频变速播放
ffplay -i test.mp4 -vf setpts=PTS/2

# 音视频同时变速
ffplay -i test.mp4 -vf setpts=PTS/2 -af atempo=2

2--FFmpeg命令参数

2-1 主要参数

2-1-1 -i设定输入流

        通过 -i 参数设置输入视频流,如:-i test.mp4;

2-1-2 -f设定输出格式

        通过 -f 设定输出格式,但一般情况下不使用,而是直接通过输出文件名来指定输出格式,-f flv 表示设定输出格式为flv;

2-1-3 -ss设定开始时间

        通过 -ss 可以设定输出视频流的开始时间,结合 -t 参数可用于剪切视频;

2-1-4 -t设定时间长度

        通过-t 设定输出视频流的时间长度;

2-1-5 代码实例

        输入视频流为test1.mp4,设置开始时间为10s,持续时间为100s,输出视频流为out1.mp4,输出格式为mp4        

ffmpeg -i test1.mp4 -ss 10 -t 100 out1.mp4

        通过 ffprobe out1.mp4 可以查看输出视频文件的详细信息,如下图 Duration 参数显示了输出文件的持续时间约为 100s,与上面的处理代码符合;

2-2 音频参数

2-2-1 -aframes设置输出的音频帧数

2-2-2 -b:a设置音频码率

2-2-3 -ar设置音频采样率

2-2-4 -ac设定声音的通道数

2-2-5 -acodec设定声音编解码器

2-2-6 -an表示不处理音频

2-2-7 -af设置音频过滤器

2-2-8 代码实例

ffmpeg -i test.mp4 -b:a 192k -ar 48000 -ac 2 -acodec libmp3lame -aframes 200 out2.mp3

        通过上面的代码可以把视频的部分音频流提取出来,查看音频编解码器可通过以下代码实现(Windows 对应的是 findstr mp3):

ffmpeg -encoders | grep mp3

# 表示查看mp3字样的编码器

2-3 视频参数

2-3-1 -vframes设置输出的视频帧数

2-3-2 -b设定视频码率

2-3-3 -b:v设定视频码率

2-3-4 -r设定帧速率

2-3-5 -s设定画面的宽与高

2-3-6 -vn表示不处理视频

2-3-7 -aspect aspect设置横纵比

2-3-8 -vcodec设定视频编解码器

2-3-9 -vf设定视频过滤器

2-3-10 代码实例

ffmpeg -i test1.mp4 -vframes 300 -b:v 300k -r 30 -s 640x480 -aspect 16:9 -vcodec copy out2.mp4

        -vcodec copy表示使用原来的编解码数据;

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

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

相关文章

SVG 安全

一 任务目标 本篇文章的目的有:[ ] 了解 SVG 漏洞[ ] 了解 SVG 常见防护手段[ ] 搜寻 SVG 数据安全性校验和过滤的库[ ] 了解如何使用此类库来进行 SVG 上传防护[ ] 阅读源码,能明确讲述此类库做了什么如果对你有所帮助,不妨点赞、评论、收藏…

Windows系统安装Git教程

今天给大家介绍Windows系统安装Git命令。 一、Git版本控制工具简介 git是一个开源的分布式版本控制系统。所谓版本控制系统,是开发者最重要的工具之一,可以有效的解决版本的同步以及不同开发者之家的通信问题,提升协同开发的效率。版本控制…

JAVA数据类型及转换

一、数据类型 数据类型字节数byte字节型占用1个字节取值范围:-27 ~ 27-1-128~127short短整型占用2个字节取值范围:-215 ~ 215-1-32768~32767,在实际开发中使用较少int整型占用4个字节取值范围:-231 ~ 231-1-2147483648-214748364…

大道至简:数据库的终极未来

墨天轮2022年12月份的报告已经出炉,这一期的主题是:大道至简,自治为王。在公众号回复:下载 可以获得各期报告下载链接。数据库的终极未来是什么?这是行业里一直在探讨的命题,复杂但是也简单。大道至简01Or…

硬盘无法格式化怎么解决?数据丢失怎么恢复?

有时遇到一些特殊情况,需要我们对电脑磁盘进行格式化。但是硬盘无法格式化,这时我们应该怎么进行操作?你可以根据下面的操作,通过磁盘的创建权限,或者通过磁盘管理来进行格式化,一起来看看下面的简单操作&a…

威固的MOM,你的WOW 「 WOW 手武之道」威固巅峰技术交流赛圆满收官

近日,由全球特种材料公司伊士曼旗下汽车膜品牌威固(V-KOOL)举办的2022威固WOW手武之道技术交流会&PK赛,顺利收官。来自各地服务商的多位技师光芒尽显,展示贴装艺术,分别赢得广州站、南京站、郑州站及成…

WEB应用安全测试丨Acunetix功能简介

快速查找并修复使您的Web应用程序面临攻击风险的漏洞。享受更多的安心——无需花费更多有限的时间。 产品功能 发现与爬行 01、发现所有需要扫描的东西 Acunetix会自动创建所有网站、应用程序和API的列表,并使其保持新状态。 这意味着您不会留下未扫描且容易受到…

00后少年的心力之作(已开源) | heartt(心力算法)

心力之作: 综合性极强的文本摘要算法: heartt(心力算法) 大家好,我是 heartt 算法的作者。我今年 13 岁,是一名热爱编程的学习者。 今天,我要向大家介绍我的新算法:heartt。 00后少年的心力之作(已开源) | …

xxx 拘留室项目

1.项目介绍 本项目用于当地拘留室,定位:监控、值班系统,项目时间:十二月。 系统涉及人员:值班人员、拘留人员 设备:摄像头(海康)、门禁(中控安防)、声光报警…

特色功能(锐捷云桌面篇)

大家好,我是小杜。转眼居家办公已经一周多了,有没有小伙伴和小杜一样,感觉还是在公司上班好,进入状态快呢。现在的主要精力是业务上,处理完对应业务后,就开始了“快乐”的学习了。还是相信之前纯粹的学习时…

常见的5种数据分析方法有哪些?

看大家介绍了那么那么多的数据分析方法,但不同的数据分析方法使用场景不同,A常用的B不一定常用。 所以这篇只介绍5种基于逻辑层面的,几乎人人都会用的数据分析方法。 先来分享一下数据分析6大步骤: 按照这6个步骤,结合…

uni-app的条件编译

条件编译了解 前言: 由于本次业务有 PC 端H5 页面,还有 手机端的H5页面,不同的端,模块展示可能不同,但是大部分功能又是相同的。 如果通过简单的 if…else… 判断不同端,调用相应的 API 或 展示相应的模块…

设计模式——设计思想

设计模式——设计思想一、面向对象的四大特性:1、封装2、抽象3、继承4、多态二、抽象类和接口类1、抽象类和接口的语法特性2、抽象类和接口存在的意义3、抽象类和接口的应用场景4、抽象类和接口的区别三、面向对象编程与面向过程编程1、面向对象编程和面向对象编程语…

mac中nvm管理node

目录检查电脑上是否存在node卸载node安装nvm报错查看本机的ip地址修改host文件重新安装nvm - 报错重新安装nvm - 报错安装完成兼容性运行之前的项目 -> 报错运行之前的项目 -> 报错常用命令nvm安装之前若是电脑上存在node,要先将node卸载掉检查电脑上是否存在…

catia建模圆柱直齿轮和斜齿

1 圆弧近似方案 参考 7.1 直齿轮(简单)1_哔哩哔哩_bilibili 2 渐开线生成点--》生成样条曲线方案 参考 7.2渐开线齿廓直齿圆柱齿轮(1)_哔哩哔哩_bilibili xd基圆半径rb *sin(t*PI*1rad)-基圆半径rb *t*PI*cos(t*PI*1rad) yd基…

如何做好性能压测(一):压测环境的设计和搭建

本文是阿里巴巴 PTS 团队《Performance Test Together》系列专题分享,霍格沃兹测试学院经特别授权转载,也会结合学员实际需求组织大咖公开课主题分享,文末有福利! 性能压测,是保障服务可用性和稳定性过程中&#xff0c…

MySQL校招集锦

数据库面试集锦 1.请说下你对MySQL架构的了解 先看一下MySQL的架构图 大体来说,MySQL 可以分为 Server 层和存储引擎两部分。 Server 层包括:连接器、查询缓存、分析器、优化器、执行器等,涵盖了 MySQL 的大多数核心服务功能,…

2.hadoop系列之组成简介

本文我们了解hadoop3的组成部分,如下图所示,包括HDFS数据存储、Yarn资源调度、MapReduce计算 1. HDFS概述 HDFS: Hadoop Distributed File System,是一个分布式文件系统 HDFS由NameNode、DataNode、Secondary NameNode组成 NameNode:存储文…

Zabbix监控docker容器状态信息详解

前言 本篇文章针对zabbix server已部署完成的情况。docker 容器是一个开源的应用容器引擎,让开发者可以以统一的方式打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何安装了docker引擎的服务器上(包括流行的Linux机器、windows机…

UGUI-ContentSizeFitter之最简单实现maxSize限制

步骤 方法思路如下: 复制ContentSizeFitter源码出来,改名为ContentSizeFitterEx (AddComponentMenu里面的名字也需要改。)FitMode增加枚举MaxSize增加序列化属性m_MaxHorizontal和m_MaxVertical修改HandleSelfFittingAlongAxis增…