Avconv 和 "Unable to find a suitable output format" 错误
Avconv and "Unable to find a suitable output format" error
您好,我想在 .mp4 上添加一些文本。
我正在尝试这个:
shell_exec("avconv -i input.mp4 drawtext=\"fontfile=OpenSans-Italic.ttf: text='Test Text'\" output.mp4").
但是我明白了
Unable to find a suitable output format for
'drawtext=fontfile=OpenSans-Italic.ttf: text='Test Text''
drawtext=fontfile=OpenSans-Italic.ttf: text='Test Text': Invalid
argument
知道发生了什么吗?
你的论点有误drawtext
。它是一个过滤器,但您需要在它之前添加 -vf
以便 libav 能够理解它是什么。总体而言,您的命令应该是:
shell_exec("avconv -i input.mp4 -vf drawtext=\"fontfile=OpenSans-Italic.ttf: text='Test Text'\" output.mp4")
这看起来像 php 所以我也建议你检查一下:
- Read/write权限,
- OpenSans-Italic.ttf文件的路径,
- 执行路径与文件路径
- libav 是否使用
--enable-libfreetype
选项编译(drawtext 过滤器需要)
来源:https://libav.org/documentation/libavfilter.html#drawtext
您好,我想在 .mp4 上添加一些文本。
我正在尝试这个:
shell_exec("avconv -i input.mp4 drawtext=\"fontfile=OpenSans-Italic.ttf: text='Test Text'\" output.mp4").
但是我明白了
Unable to find a suitable output format for 'drawtext=fontfile=OpenSans-Italic.ttf: text='Test Text'' drawtext=fontfile=OpenSans-Italic.ttf: text='Test Text': Invalid argument
知道发生了什么吗?
你的论点有误drawtext
。它是一个过滤器,但您需要在它之前添加 -vf
以便 libav 能够理解它是什么。总体而言,您的命令应该是:
shell_exec("avconv -i input.mp4 -vf drawtext=\"fontfile=OpenSans-Italic.ttf: text='Test Text'\" output.mp4")
这看起来像 php 所以我也建议你检查一下:
- Read/write权限,
- OpenSans-Italic.ttf文件的路径,
- 执行路径与文件路径
- libav 是否使用
--enable-libfreetype
选项编译(drawtext 过滤器需要)
来源:https://libav.org/documentation/libavfilter.html#drawtext