我要使用 向视频片段添加一些文本,-vf
但它不起作用。以下是我尝试过的
avconv -ss 00:00:20 -i input.mp4 -t 00:00:10 -vcodec copy -acodec copy \
-vf "drawtext=fontfile='/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf':text='hello world':x=0:y=0:fontsize=24:fontcolor=black" output.mp4
但文本没有显示。我知道-t
参数应该出现在后面-i
,否则持续时间将不会被设置。我想知道-vf
在这种情况下我是否放错了。有人能告诉我怎么做吗?
PS 我使用 进行安装apt-get install ffmpeg
。软件信息:
avconv version 0.8.9-6:0.8.9-0ubuntu0.13.04.1, Copyright (c) 2000-2013 the Libav developers
built on Nov 9 2013 19:09:48 with gcc 4.7.3
答案1
如果我们想使用drawtext
过滤器向视频添加文本,我们就不能使用copy
视频编解码器。
在视频中添加文字会改变视频数据。因此我们必须使用 以外的任何编解码器重新编码视频流copy
。
答案2
以下命令对我有用:
avconv -i input.mp4 -vf "drawtext=fontfile='/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf':text='hello world':x=0:y=0:fontsize=24:fontcolor=black" output.mp4
已在此 mp4 样本上测试文件。