通过cmd命令的方式转码MP4为webp动图。附带命令解释。

2024-09-03 19:52

本文主要是介绍通过cmd命令的方式转码MP4为webp动图。附带命令解释。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

zihao

通过cmd命令的方式转码MP4为webp动图:

均衡大小和z效果的配置(直接拷贝后需要改下路径):

    ffmpeg -i E:\steam\222.mp4 -vcodec libwebp -filter:v fps=fps=24 -lossless 0 -compression_level 5 -q:v 35 -loop 1 -preset default -an -vsync 0 -s 1920:1080 output.webp

解释:

# 开始使用FFmpeg将视频转换为WebP格式的图像序列
ffmpeg # 指定输入文件路径
-i E:\steam\111.mp4 # 视频编码器设置为libwebp,适用于生成WebP格式,当然也有其他编码器:
# 	-vcodec libx264:H.264/AVC 编码,广泛用于网络视频传输和存储。
# 	-vcodec libx265:H.265/HEVC 编码,提供更高的压缩效率,适用于高清和 4K 视频。
# 	-vcodec mpeg4:MPEG-4 编码,适用于较老的设备,或者你想转换rmvb格式。
# 	-vcodec h264_nvenc:H.264 编码,使用 NVIDIA GPU 加速。
# 	-vcodec hevc_nvenc:H.265/HEVC 编码,使用 NVIDIA GPU 加速。
# 	-vcodec vp9:VP9 编码,适用于现代浏览器和视频流媒体。
# 	-vcodec libvpx-vp9:VP9 编码库。
# 	-vcodec libvpx:VP8 编码库。
# 	-vcodec mpeg2video:MPEG-2 编码,适用于较老的设备。
# 	-vcodec copy:复制视频流而不进行重新编码。
-vcodec libwebp # 设置音视频比特率,转码动图格式不需要比特率
#-b:v 800k:设置视频比特率为 800 kbps。
#-b:a 128k:设置音频比特率为 128 kbps。# 设置视频滤镜,当前为控制FPS,选项有:
# 	fps: 设置输出帧速率。
# 	round: 指定如何四舍五入帧数。
# 	drop: 是否丢弃多余的帧。
# 	force_fps: 强制输出帧速率。
-filter:v fps=fps=6# 设置有损压缩模式,值范围0-6,数字越大压缩越强
-lossless 0 # 压缩等级,取值0-6,数值越大压缩比越高
-compression_level 1 # 视频质量参数,取值0-100,数值越大质量越差
-q:v 10 # 设置图像循环次数为1次,即不循环。0为无限循环
-loop 1 # 预设编码速度与压缩率平衡选项,default 为默认选项,其余选项有:
# 	-preset ultrafast: 提供最快的编码速度,但通常会导致较大的文件大小和较低的压缩效率。
#	-preset superfast: 仍然很快,但在质量和压缩效率上比 ultrafast 稍好。
# 	-preset veryfast: 比 superfast 慢一点,但提供了更好的质量。
# 	-preset faster: 继续增加质量,同时减少编码速度。
# 	-preset fast: 更进一步地在速度和质量之间找到一个较好的平衡。
#	-preset medium: 这是一个比较通用的预设,试图在速度和质量之间达到一个合理的平衡。
#	-preset slow: 为了获得更好的质量,牺牲更多的编码时间。
# 	-preset slower: 比 slow 更注重质量。
#	-preset veryslow: 提供最佳的质量,但需要最长的编码时间。
# 	-preset placebo: 这个预设理论上提供最好的质量,但是不再被推荐使用,因为它并不比 veryslow 更好,且非常耗时。
-preset default # -an为禁用音频流,
# -acodec libmp3lame:使用 MP3 音频编码器。
-an # 帧速率同步,选项有:
# -vsync 0:关闭帧速率同步。这意味着输出视频的帧速率不会进行任何特别的调整。
# -vsync 1:使用默认的帧速率同步方法(通常为 cfr,即恒定帧速率)。
# -vsync 2:使用 vfr(可变帧速率)方法,尝试尽可能保持输入视频的帧速率。
# -vsync 3:使用 cfr 方法,并在必要时丢弃或重复帧以保持恒定帧速率。
# -vsync vfr:使用可变帧速率方法,适合处理不规则的帧速率。
# -vsync cfr:使用恒定帧速率方法,适合处理需要固定帧速率的情况。
-vsycn 0 # 设置输出图像尺寸像素
-s 1280x720 # 输出文件路径及名称
E:\steam\output.webp

这篇关于通过cmd命令的方式转码MP4为webp动图。附带命令解释。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1133892

相关文章

gradle第三方Jar包依赖统一管理方式

《gradle第三方Jar包依赖统一管理方式》:本文主要介绍gradle第三方Jar包依赖统一管理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录背景实现1.顶层模块build.gradle添加依赖管理插件2.顶层模块build.gradle添加所有管理依赖包

Linux之systemV共享内存方式

《Linux之systemV共享内存方式》:本文主要介绍Linux之systemV共享内存方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、工作原理二、系统调用接口1、申请共享内存(一)key的获取(二)共享内存的申请2、将共享内存段连接到进程地址空间3、将

Maven中引入 springboot 相关依赖的方式(最新推荐)

《Maven中引入springboot相关依赖的方式(最新推荐)》:本文主要介绍Maven中引入springboot相关依赖的方式(最新推荐),本文给大家介绍的非常详细,对大家的学习或工作具有... 目录Maven中引入 springboot 相关依赖的方式1. 不使用版本管理(不推荐)2、使用版本管理(推

C#使用StackExchange.Redis实现分布式锁的两种方式介绍

《C#使用StackExchange.Redis实现分布式锁的两种方式介绍》分布式锁在集群的架构中发挥着重要的作用,:本文主要介绍C#使用StackExchange.Redis实现分布式锁的... 目录自定义分布式锁获取锁释放锁自动续期StackExchange.Redis分布式锁获取锁释放锁自动续期分布式

Java对象转换的实现方式汇总

《Java对象转换的实现方式汇总》:本文主要介绍Java对象转换的多种实现方式,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java对象转换的多种实现方式1. 手动映射(Manual Mapping)2. Builder模式3. 工具类辅助映

Spring Boot读取配置文件的五种方式小结

《SpringBoot读取配置文件的五种方式小结》SpringBoot提供了灵活多样的方式来读取配置文件,这篇文章为大家介绍了5种常见的读取方式,文中的示例代码简洁易懂,大家可以根据自己的需要进... 目录1. 配置文件位置与加载顺序2. 读取配置文件的方式汇总方式一:使用 @Value 注解读取配置方式二

JAVA保证HashMap线程安全的几种方式

《JAVA保证HashMap线程安全的几种方式》HashMap是线程不安全的,这意味着如果多个线程并发地访问和修改同一个HashMap实例,可能会导致数据不一致和其他线程安全问题,本文主要介绍了JAV... 目录1. 使用 Collections.synchronizedMap2. 使用 Concurren

C# foreach 循环中获取索引的实现方式

《C#foreach循环中获取索引的实现方式》:本文主要介绍C#foreach循环中获取索引的实现方式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、手动维护索引变量二、LINQ Select + 元组解构三、扩展方法封装索引四、使用 for 循环替代

将Java程序打包成EXE文件的实现方式

《将Java程序打包成EXE文件的实现方式》:本文主要介绍将Java程序打包成EXE文件的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录如何将Java程序编程打包成EXE文件1.准备Java程序2.生成JAR包3.选择并安装打包工具4.配置Launch4

Linux命令之firewalld的用法

《Linux命令之firewalld的用法》:本文主要介绍Linux命令之firewalld的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux命令之firewalld1、程序包2、启动firewalld3、配置文件4、firewalld规则定义的九大