首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在没有质量损失的情况下将mp4转换为webp (ffmpeg)

在没有质量损失的情况下将mp4转换为webp (ffmpeg)
EN

Stack Overflow用户
提问于 2022-02-12 14:12:07
回答 1查看 1.5K关注 0票数 0

我怎么能这么做?

代码语言:javascript
复制
ffmpeg -y -i input.mp4 -vcodec libwebp -lossless 0 -compression_level 0 -loop 0 output_lossless0_comp0.webp

代码语言:javascript
复制
ffmpeg -i input.mp4 -vcodec libwebp -filter:v fps=fps=20 -lossless 0  -compression_level 3 -q:v 70 -loop 1 -preset picture -an -vsync 0 -s 800:600 output.webp

导致大量的质量损失。

我在其他地方找到的所有其他命令行都会导致无限的编码时间和荒谬的文件大小(当源为3MB时,500+ MB)。

我所需要的就是将mp4转换成webp,而不需要压缩或质量损失。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-12 15:16:47

只有-c:v copy选项才能保证输出的大小相同而不会造成质量损失,但是webp不支持mp4编解码器,因此您需要使用“一些”编码器,而任何编码器都会导致输出文件的质量下降或更大的大小(这是一种权衡)。

如果使用libwebp (文档),则需要对其参数的不同值进行实验,以获得在大小、质量和时间方面对您有好处的结果。

我将使用-lossless 0-lossless 1启动任何测试,同时为-compression_level参数设置一个不同的值:

对于有损,这是一个质量/速度的权衡。较高的值以增加编码时间为代价,为给定大小提供更好的质量。对于无损的情况,这是一个大小/速度的权衡。较高的值以增加编码时间为代价,使尺寸更小。更具体地说,它控制使用的额外算法和压缩工具的数量,并改变这些工具的组合。这将映射到libwebp中的方法选项。有效范围为0至6,默认范围为4。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71092597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档