ffmpeg 命令图片和视频转换

devtools/2024/10/18 16:53:01/

1、截图

ffmpeg -i d:\input.mp4 -ss 0:0:10 d:\output.jpg

//指定输出分辨率

ffmpeg -i d:\input.mp4 -y -f image2 -ss 0:0:10 -vframes 1 -s 640x360 d:\output.jpg

2、视频分拆图片

ffmpeg -r 输入帧率 -i d:\input.mp4 -r 输出帧率 "d:\outputDir\frame_%04d.jpg"

举例
2.1 间隔30帧采样一帧,图片名字以帧号命令

ffmpeg -r 30 -i "d:\input.mp4" -r 1 "d:\outputDir\frame_%04d.jpg"

2.2 间隔15帧采样一帧,图片名字以时间戳命名

ffmpeg -r 15 -i "d:\input.mp4" -f image2 -strftime 1 d:\outputDir\output_%s.jpg

2.3 多少帧分拆一张图片(原始帧率25,每12帧截取一张图片)

ffmpeg -i "d:\input.mp4" -vf fps=25/12 d:\outputDir\frame_%05d.png

3、图片合成视频

ffmpeg -f image2 -i image%d.jpg output.mp4

多张图片生成视频。将d:\image目录下detect前缀jpg文件合并成视频文件,r表示帧率

ffmpeg -r 25 -f image2 -i d:\image\detect%d.jpg d:\output.mp4 
ffmpeg -r 25 -f image2 -i d:\image\detect%d.jpg -vcodec libx264 -pix_fmt yuv420p -y d:\output.mp4 

一张图片生成视频。

ffmpeg -framerate 25 -f image2 -loop 多少帧 -i input.jpg -vcodec libx264 -pix_fmt yuv420p -y output.mp4 

一张图片生成10帧视频(loop表示帧数。s表示分辨率)。

ffmpeg -framerate 25 -f image2 -loop 10 -i d:\image\input.jpg -vcodec libx264 -pix_fmt yuv420p -s 1920x1080 -y d:\output_10frame.mp4 

一张图片生成10秒视频(t表示时长,单位秒)

ffmpeg -framerate 25 -f image2 -loop 1 -i d:\image\input.jpg -vcodec libx264 -pix_fmt yuv420p -s 1920x1080 -t 10 -y d:\output_10second.mp4 

注意:
1)、分辨率宽高必须为2的倍数。
2)、输入的图片文件,一定需要后缀名和文件内容格式一致。如果文件内容是jpg图像数据,但是后缀是png,会报Invalid PNG signature错误。

根据文件识别头信息获取图片文件的类型。
JPEG
文件头标识 (2 bytes): 0xff, 0xd8 (SOI) (JPEG 文件标识)
文件结束标识 (2 bytes): 0xff, 0xd9 (EOI)
TGA
未压缩的前5字节 00 00 02 00 00
RLE压缩的前5字节 00 00 10 00 00
PNG
文件头标识 (8 bytes) 89 50 4E 47 0D 0A 1A 0A
GIF
文件头标识 (6 bytes) 47 49 46 38 39(37) 61 (G I F 8 9 (7) a)
BMP
文件头标识 (2 bytes) 42 4D (B M)
PCX
文件头标识 (1 bytes) 0A
TIFF
文件头标识 (2 bytes) 4D 4D 或 49 49
ICO
文件头标识 (8 bytes) 00 00 01 00 01 00 20 20
CUR
文件头标识 (8 bytes) 00 00 02 00 01 00 20 20
IFF
文件头标识 (4 bytes) 46 4F 52 4D (F O R M)
ANI
文件头标识 (4 bytes) 52 49 46 46(R I F F)

4、从视频中生成 GIF 图片

ffmpeg -i d:\input.mp4 -t 5 -r 1  d:\image1.gif
ffmpeg -i d:\input.mp4 -t 5 -r 25 -s 640x360  d:\image2.gif

5、将 GIF 转化为视频

ffmpeg -f gif -i d:\image2.gif d:\image2.mp4

http://www.ppmy.cn/devtools/91251.html

相关文章

Apache Kylin高级特性:自定义计算与扩展

Apache Kylin高级特性:自定义计算与扩展 引言 Apache Kylin 是一个开源的分布式分析引擎,为大数据集上的多维分析(OLAP)提供支持。Kylin 通过预计算数据立方体和存储来实现亚秒级查询响应时间,极大地提升了数据分析效…

C语言——编译与链接

目录 引言 翻译环境与运行环境 翻译环境 1.翻译环境的简述 2.编译过程 2.1 预处理(预编译) 2.2 编译 2.2.1 词法分析 2.2.2 语法分析 2.2.3 语义分析 2.3 汇编 3.链接 运行环境 结束语 引言 C语言编译与链接过程是理解程序如何从代码转化…

案例分享:如何使用原生的NodeJs下载视频网站上的视频资源到本地生成MP4文件

如何使用原生的NodeJs下载视频网站上的视频资源到本地生成MP4文件 1、当下视频网站的视频资源无法通过常规手段下载的原因2、什么是M3U8是什么视频文件?3、如何下载M3U8文件中的TS文件并在本地合并为MP4文件?3.1 FFmpeg 是什么工具?3.2 安装 FFmpeg 工具3.3 使用 FFmpeg 工具…

solidity 数学和密码学函数

数学和密码学函数为开发者提供了一系列强大的工具,用于执行各种数学运算和加密操作 addmod(uint x, uint y, uint k) returns (uint) 计算 (x y) % k,加法会在任意精度下执行,并且加法的结果即使超过 2**256 也不会被截取。 从 0.5.0 版本…

笔面试编程题总结

8/6诺瓦星云 修改程序 void point(int *p){*p p[2];}; int main() {int c[] {1,2,3,4,5},*p c;point(p1);for(;p <c5;){printf("%d",*p);}return 0; }1、分隔字符串 strtok //c语言 #include <stdio.h> #include <string.h>// 函数声明 char* fin…

创建目录命令(mkdir) 学会啦

通过mkdir命令可以创建新的目录&#xff08;文件夹&#xff09; mkdir来自英文&#xff1a; Make Directory 语法&#xff1a; mkdir [-p] Linux路径 参数必填&#xff0c;表示Linux路径&#xff0c;既要创建的文件夹的路径&#xff0c;相对路径或绝对路径均可 wendywendyde…

不仅能防沉迷游戏的防沉迷软件(Python)

介绍 一个有那么一点功能但是又不太保险的防沉迷工具 我脑子进水了才会写这玩意儿 为了变强&#xff0c;我不择手段&#xff08;笑出zhu jiao 代码 好像没什么用的设定界面 # -*- coding: utf-8 -*- # Environment PyCharm # File_name login |User Pfolg # 2024/…

2024年【上海市安全员B证】模拟考试及上海市安全员B证证考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 上海市安全员B证模拟考试参考答案及上海市安全员B证考试试题解析是安全生产模拟考试一点通题库老师及上海市安全员B证操作证已考过的学员汇总&#xff0c;相对有效帮助上海市安全员B证证考试学员顺利通过考试。 1、【…