FFmpeg:在视频文件中覆盖图像上的图像


0

我是ffmpeg的新手,也是我在这里的第一篇文章。我拥有的和我想做的是以下内容:

  • 我有视频,透明图像和.srt文件
  • 视频尺寸宽度:1280高度:720。
  • 尺寸宽度为1024的透明图像:122。
  • 带有字体sytle的.srt文件,存储在html标签中。

我的目标是将图像与srt文本完全叠加在中心,叠加的图像恰好位于中心视频中。

我开始用透明图像减去视频的尺寸,将其准确定位在中心。

ImageX = (video.width - image.width)/2
ImageY = (video.Height - Image.height) * 0.9 (to bottom of video).

经过研究我得到了这个代码:

ffmpeg.exe -i "C:\Projects\Video Phase 3\Horse\horse.mp4" -i "C:\Projects\Video Phase 3\Horse\Transparent.png" -threads 0 -c:v libx264 -crf 28 -preset veryslow -filter_complex "[0:v][1:v]overlay=128:538:enable='between(t,0,1)', subtitles=C\\:\\\\Projects\\\\Video Phase 3\\\\Horse\\\\ImportedTrack1_0.srt[out]" -map "[out]" -map 0:a "C:\Projects\Video Phase 3\Horse\newout.mp4"

我能够将透明图像准确地放在中心,底部。但我无法将srt文本放在图像中。即使我将图像放在顶部中心,我也需要将文本放在图像的中心。请帮帮我们

从视频中捕获的图像


谢谢我会尝试使用force_style,让我看看我得到了什么。对于第二条评论 - 我的项目要求是允许用户在运行时加载图像,然后文本应该叠加在图像上,然后是视频。我不能使用drawbox。
user3416431 2016年

我尝试了force_style对齐,但它将srt放在视频的顶部。每次设置对齐都是一项手动任务。如何动态设置字幕放置在透明图像的中间位置。
user3416431 2016年

试试Alignment=10
llogan 2016年

好的,但它怎么能是动态的,比如用户在运行时更改字体大小
3416431 2016年

无论字体大小如何,它仍然应该居中。
llogan 2016年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.