Video FFMPEG-过滤带有粗体斜体和下划线等样式的复杂绘图文本

Video FFMPEG-过滤带有粗体斜体和下划线等样式的复杂绘图文本,video,ffmpeg,video-processing,Video,Ffmpeg,Video Processing,我试图在视频的填充区域添加文本。有4到5件事我做不到 1) 绘制文本样式(粗体、斜体、下划线) 2) 填充区域不透明度 3) 字幕垂直对齐。当我赋予它一些价值时 有时会从窗户出去。怎样正确计算呢 从上往下50像素,或者说从下往下200像素 4) 字幕应为视频的全宽。现在就像 这个 5) 很难提供大纲颜色值。我有RGBA 那么我如何才能将其赋予OutlineColor 这是我正在使用的命令 ffmpeg -y -i video-orignal.mp4 -i logo.png -filter_c

我试图在视频的填充区域添加文本。有4到5件事我做不到

  • 1) 绘制文本样式(粗体、斜体、下划线)
  • 2) 填充区域不透明度
  • 3) 字幕垂直对齐。当我赋予它一些价值时 有时会从窗户出去。怎样正确计算呢 从上往下50像素,或者说从下往下200像素
  • 4) 字幕应为视频的全宽。现在就像 这个
  • 5) 很难提供大纲颜色值。我有RGBA 那么我如何才能将其赋予OutlineColor
这是我正在使用的命令

ffmpeg -y -i video-orignal.mp4 -i logo.png -filter_complex "[0] pad=width=iw:height=ih+200:x=0:y=100:color=#f2e6e6@0.99 [v_1];[v_1] drawtext=fontfile='/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf':text='this is watermark': fontsize=24: x=0.23333333333333*main_w: y=0.1325*main_h: fontcolor=#b01e1e: alpha=1,drawtext=fontfile='/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf':text='This is Top fixed text': fontsize=32: x=w-tw-2: y=(100-th)/2: fontcolor=#9e2643: alpha=1,drawtext=fontfile='/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf':text='This is Bottom fixed text': fontsize=32: x=w-tw-2: y=h-50: fontcolor=#9e2643: alpha=1 [v_2];[v_2] subtitles=f=subtitles-final.srt:force_style='FontName=DejaVu Sans Mono,FontSize=26,OutlineColour=&H00f2eded,PrimaryColour=&H000bf282,BorderStyle=3,WrapStyle=3,Bold=1,italic=1,Underline=1,Alignment=3,MarginV=86.4' [v_3];[v_3] [1]overlay=main_w-140:105 [v_4]" -map "[v_4]" -map 0:a video-final.mp4
拆分为行并缩进以使其可读:

ffmpeg -y
-i video-orignal.mp4
-i logo.png
-filter_complex
    "[0] pad=width=iw:height=ih+200:x=0:y=100:color=#f2e6e6@0.99 [v_1];
    [v_1]
        drawtext=
            fontfile='/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf':
            text='this is watermark': fontsize=24:
            x=0.23333333333333*main_w: y=0.1325*main_h:
            fontcolor=#b01e1e: alpha=1,
        drawtext=
            fontfile='/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf':
            text='This is Top fixed text': fontsize=32:
            x=w-tw-2: y=(100-th)/2: fontcolor=#9e2643: alpha=1,
        drawtext=
            fontfile='/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf':
            text='This is Bottom fixed text': fontsize=32:
            x=w-tw-2: y=h-50: fontcolor=#9e2643: alpha=1
    [v_2];
    [v_2]
        subtitles=
            f=subtitles-final.srt:
            force_style=
                'FontName=DejaVu Sans Mono,
                FontSize=26,
                OutlineColour=&H00f2eded,
                PrimaryColour=&H000bf282,
                BorderStyle=3,WrapStyle=3,Bold=1,italic=1,Underline=1,
                Alignment=3,MarginV=86.4'
    [v_3];
    [v_3] [1]overlay=main_w-140:105 [v_4]"
-map "[v_4]"
-map 0:a
video-final.mp4

按全宽,您想动态调整字体大小以匹配视频宽度吗?不,它应该覆盖视频的全宽在该屏幕截图中,没有足够的单词填充全宽。实际上,有。去第二条线。它应该从左边开始,填充整个宽度。好的,通过电子邮件将原始子文件发送给我。我可以在星期一查。