我是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年
试试
—
llogan 2016年
Alignment=10
。
好的,但它怎么能是动态的,比如用户在运行时更改字体大小
—
3416431 2016年
无论字体大小如何,它仍然应该居中。
—
llogan 2016年