ffmpeg - 在 ffmpeg 中,如何在像缩放一样过滤时保持文本相同的位置?

标签 ffmpeg

在 ffmpeg 中,如何在过滤时将文本保持在同一位置?例如缩放

用于 Linux 的 FFmpeg

ffmpeg 
-t 5 
-i x.jpg -filter_complex "[0:v]drawtext=fontfile='ariblk.ttf':text='test text':fontsize=24:x=0.23333333333333*main_w: y=0.1325*main_h:fontcolor=#000000: alpha=1,zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=out:st=4:d=1[v0]; [v0]concat=n=1:v=1:a=0,format=yuv420p[v]" 
-map "[v]" 
-s "800x450" 
-t 40 ./video.mp4

文本也被放大,但我希望它保持相同的大小。

最佳答案

在绘制文本之前执行缩放。

ffmpeg 
-i x.jpg -filter_complex "[0:v]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125:s=800x450,drawtext=fontfile='ariblk.ttf':text='test text':fontsize=24:x=0.23333333333333*main_w:y=0.1325*main_h:fontcolor=#000000: alpha=1,fade=t=out:st=4:d=1,format=yuv420p[v]" 
-map "[v]" 
-t 40 ./video.mp4

concat 是不必要的;你只有一个输入。

关于ffmpeg - 在 ffmpeg 中,如何在像缩放一样过滤时保持文本相同的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57006645/

相关文章:

video - 使用 ffmpeg 提取帧的最快方法?

video - 使用 ffmpeg 将带有 Alpha 的 mov 转换为带有 Alpha 的 VP9 Webm

android - 是否有比使用 AndroidBitmap_xxx 函数更快的视频渲染解决方案?

html - <video> 标签拒绝播放 mp4 视频

video - ffmpeg 按条件改变分辨率

ffmpeg - ffprobe 中 pkt_duration 和 pkt_duration_time 之间的差异

c++ - 将多个视频合并为一个

ffmpeg - 为什么实时视频流不流畅,而音频流编码后用Flash RTMP播放器播放正常

c++ - 使用 FFMPEG 将 RGB 图像序列保存到 .mp4 时遇到问题

python - ffprobe 按时长过滤视频,命令打印但不返回时长