使用ffmpeg生成测试视频和图片

news/2024/11/30 3:25:20/

要使用FFmpeg生成测试视频和图片,需要安装FFmpeg,并使用命令行工具执行相应的命令。

一、生成测试视频

创建一个测试视频源文件 test.mp4:

ffmpeg -f lavfi -i testsrc=duration=5:size=1280x720:rate=30 test.mp4

上述命令可以生成一个时长为5秒,分辨率为1280x720,帧率为30的测试视频源文件test.mp4。

对test.mp4进行压缩编码,生成输出文件output.mp4:

ffmpeg -i test.mp4 -c:v libx264 -crf 23 -preset fast -c:a copy output.mp4

上述命令使用H.264编码器对test.mp4进行压缩编码,输出文件output.mp4。其中-crf 23表示压缩质量因子为23,越小则压缩质量越高;-preset fast表示使用快速压缩模式。

二、生成测试图片

使用FFmpeg生成一张测试图片test.jpg:

ffmpeg -f lavfi -i color=c=red:s=320x240:d=5 -pix_fmt rgb24 test.jpg

上述命令使用FFmpeg生成一张分辨率为320x240,颜色为红色,持续时间为5秒的测试图片test.jpg。

从视频中提取某一时间点的帧作为图片:

ffmpeg -ss 00:00:05 -i input.mp4 -frames:v 1 -q:v 2 output.jpg

上述命令从视频文件input.mp4中提取第5秒的视频帧,使用质量因子2生成输出图片output.jpg。-ss指定要提取的时间点,-i指定输入文件,-frames:v指定要提取的帧数。

 


http://www.ppmy.cn/news/39130.html

相关文章

Lambda表达式的使用

练习2: 定义一个接口(Flyable),里面定义一个抽象方法:void fly(String s); 定义一个测试类(FlyableDemo),在测试类中提供两个方法 一个方法是:useFlyable(Flyable f) 一个方法是主方法,在主方…

一图看懂 stat 模块:解析 stat() 结果, 资料整理+笔记(大全)

本文由 大侠(AhcaoZhu)原创,转载请声明。 链接: https://blog.csdn.net/Ahcao2008 [TOC](一图看懂 stat 模块:解析 stat() 结果, 资料整理笔记(大全)) 摘要 全文介绍系统内置 stat 模块、函数、类及类的方法和属性。 它通过代码抓…

多线程之Thread常见的成员方法

String getName() 获取线程的名字 细节: 如果我们没有给线程设置名字,线程的默认名字是Thread-X(序号,从0开始) void SetName(String name) 设置线程的…

数据库及开发语言排行榜官网

目录 数据排行榜官网: 开发语言排行榜官网: 了解过软件开发的同学一定听说过数据库及开发语言排行榜,也在老师哪里看到过相关的截图,但是官网自己却一直找不到,下面就让博主把收集到的两个较为权威的官网分享给大家&…

Java重写(Override)重载(Overload)

目录 重写(Override)概述 重写(Override)讲解 重载(Overload)概述 重载(Override)讲解 重写(Override)概述 Java面向对象编程中的重写(override)指的是子类可以重写其父类中的非private方法,使得子类在调用该方法时会使用自己的实现而不是父类的实现。 重写(Override)…

169. 多数元素 ——【Leetcode每日一题】

169. 多数元素 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入:nums [3,2,3] 输出&…

C++11多线程:std::future的其他成员函数:wait_for(等待一定的时间)。

系列文章目录 文章目录系列文章目录前言一、wait_for()的用法二、使用步骤2.1 代码示例12.2 代码示例2总结前言 std::future的其他成员函数: std::future的用法:参考连接 https://blog.csdn.net/weixin_55491446/article/details/129695136?spm1001.20…

了解Servlet及Servlet的使用

目录 1、创建程序 2、引入依赖 3、创建目录结构 4、编写servlet代码 5、打包 6、部署程序 7、验证程序 简便部署: 前面学习了然后使用Maven,在Maven的基础上我们可以通过七个步骤来实现一个servlet程序 1、创建项目 2、引入依赖 3、创建…