ffmpeg 只绘制最后的文本
ffmpeg only drawing last text
我正在使用 flutter ffmpeg 插件在 flutter 中使用 ffmpeg。在试验它时,这就是我想要做的:在视频中显示 1 到 2 秒之间的文本和 3 到 4 秒之间的不同文本。
只显示 3 到 4 秒之间提到的文字。所以对我来说只有最后一个 drawText 可以工作。我在这里错过了什么?
这是生成的参数列表
Running FFmpeg with arguments: [-y, -i, /storage/emulated/0/DCIM/Camera/20200707_234610.mp4, -i, /data/user/0/com.example.example/app_flutter/watermark.png, -filter_complex, [0:v][1:v]overlay=main_w-overlay_w-5:5 ,drawtext=fontfile='/data/user/0/com.example.example/app_flutter/font.ttf':fontsize=90:x=20:y=20:text='Testing':enable='between(t\,1\,2),drawtext=fontfile='/data/user/0/com.example.example/app_flutter/font.ttf':fontsize=90:x=20:y=260:text='OTHER TEXT':enable='between(t\,3\,4)'', -crf, 27, -preset, veryfast, -c:v, libx264, -r, 30, /data/user/0/com.example.example/cache/2020-07-21T07:50:39.206386.mp4]
您缺少单引号 ('
):
- 将
'between(t\,1\,2),drawtext
更改为 'between(t\,1\,2)',drawtext
。
您的过滤图末尾还有一个额外的 '
,但这不是问题的原因:
- 将
'between(t\,3\,4)'', -crf
更改为 'between(t\,3\,4)', -crf
。
固定命令:
-y, -i, /storage/emulated/0/DCIM/Camera/20200707_234610.mp4, -i, /data/user/0/com.example.example/app_flutter/watermark.png, -filter_complex, [0:v][1:v]overlay=main_w-overlay_w-5:5,drawtext=fontfile='/data/user/0/com.example.example/app_flutter/font.ttf':fontsize=90:x=20:y=20:text='Testing':enable='between(t\,1\,2)',drawtext=fontfile='/data/user/0/com.example.example/app_flutter/font.ttf':fontsize=90:x=20:y=260:text='OTHER TEXT':enable='between(t\,3\,4)', -crf, 27, -preset, veryfast, -c:v, libx264, -r, 30, /data/user/0/com.example.example/cache/2020-07-21T07:50:39.206386.mp4
正如 llogan 所说,您遗漏了一个单引号 ('
)...但后来它也出现了。
同时将 'between(t\,1\,2),drawtext
更改为 'between(t\,1\,2)',drawtext
和
'between(t\,3\,4)''
到 'between(t\,3\,4)'
.
我正在使用 flutter ffmpeg 插件在 flutter 中使用 ffmpeg。在试验它时,这就是我想要做的:在视频中显示 1 到 2 秒之间的文本和 3 到 4 秒之间的不同文本。
只显示 3 到 4 秒之间提到的文字。所以对我来说只有最后一个 drawText 可以工作。我在这里错过了什么?
这是生成的参数列表
Running FFmpeg with arguments: [-y, -i, /storage/emulated/0/DCIM/Camera/20200707_234610.mp4, -i, /data/user/0/com.example.example/app_flutter/watermark.png, -filter_complex, [0:v][1:v]overlay=main_w-overlay_w-5:5 ,drawtext=fontfile='/data/user/0/com.example.example/app_flutter/font.ttf':fontsize=90:x=20:y=20:text='Testing':enable='between(t\,1\,2),drawtext=fontfile='/data/user/0/com.example.example/app_flutter/font.ttf':fontsize=90:x=20:y=260:text='OTHER TEXT':enable='between(t\,3\,4)'', -crf, 27, -preset, veryfast, -c:v, libx264, -r, 30, /data/user/0/com.example.example/cache/2020-07-21T07:50:39.206386.mp4]
您缺少单引号 ('
):
- 将
'between(t\,1\,2),drawtext
更改为'between(t\,1\,2)',drawtext
。
您的过滤图末尾还有一个额外的 '
,但这不是问题的原因:
- 将
'between(t\,3\,4)'', -crf
更改为'between(t\,3\,4)', -crf
。
固定命令:
-y, -i, /storage/emulated/0/DCIM/Camera/20200707_234610.mp4, -i, /data/user/0/com.example.example/app_flutter/watermark.png, -filter_complex, [0:v][1:v]overlay=main_w-overlay_w-5:5,drawtext=fontfile='/data/user/0/com.example.example/app_flutter/font.ttf':fontsize=90:x=20:y=20:text='Testing':enable='between(t\,1\,2)',drawtext=fontfile='/data/user/0/com.example.example/app_flutter/font.ttf':fontsize=90:x=20:y=260:text='OTHER TEXT':enable='between(t\,3\,4)', -crf, 27, -preset, veryfast, -c:v, libx264, -r, 30, /data/user/0/com.example.example/cache/2020-07-21T07:50:39.206386.mp4
正如 llogan 所说,您遗漏了一个单引号 ('
)...但后来它也出现了。
同时将 'between(t\,1\,2),drawtext
更改为 'between(t\,1\,2)',drawtext
和
'between(t\,3\,4)''
到 'between(t\,3\,4)'
.