首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >FFMPEG:在视频上添加固定大小的图像,而不管视频的宽度和高度(分辨率)?

FFMPEG:在视频上添加固定大小的图像,而不管视频的宽度和高度(分辨率)?
EN

Stack Overflow用户
提问于 2018-04-28 03:00:33
回答 1查看 0关注 0票数 0

这是我的代码,它将图像添加到通过PHP运行的视频中:

代码语言:javascript
复制
exec('ffmpeg -i input.mp4 -i logo.png -filter_complex 
"[0:v][1:v] overlay=10:10"  -pix_fmt yuv420p -c:a copy output.mp4');

它运作良好,但问题在于,图像缩小或缩小,取决于视频分辨率。例如,在以下图片中,徽标宽度是,50px但视频分辨率不同:

在这里输入图像描述
在这里输入图像描述

和这个

在这里输入图像描述
在这里输入图像描述

如何防止图像缩小/放大?

代码语言:javascript
复制
ffmpeg -i input.mp4 -i logo.png -filter_complex 
"[1:v][0:v]scale2ref=(W/H)*ih/8:ih/8[wm][base];[base][wm]overlay=10:10"
-pix_fmt yuv420p -c:a copy output.mp4

代码语言:javascript
复制
ffmpeg -i input.mp4 -i logo.png -filter_complex 
"[1:v][0:v]scale2ref=(W/H)*ih/8:ih/8[wm][base];[wm]setsar=1[wmsar];
[base][wmsar]overlay=10:10"
-pix_fmt yuv420p -c:a copy output.mp4

这工作得很好,但它不会保持徽标的长宽比。我在两个不同分辨率的视频上试过这个代码,这就是结果

在这里输入图像描述
在这里输入图像描述

和这个

在这里输入图像描述
在这里输入图像描述

有没有可能改进这个解决方案?

EN

回答 1

Stack Overflow用户

发布于 2018-04-28 12:03:42

代码语言:txt
复制
ffmpeg -i input.mp4 -i logo.png -filter_complex 
"[1:v][0:v]scale2ref=(W/H)*ih/8/sar:ih/8[wm][base];[base][wm]overlay=10:10"
-pix_fmt yuv420p -c:a copy output.mp4

这将调整标志的高度到视频高度的1/8。

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

https://stackoverflow.com/questions/-100008300

复制
相关文章

相似问题

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