2012-07-13 92 views
2

我想在Ubuntu 12.04上使用ffmpeg在视频底部放一段简单的文字。我想这其中建议在几个地方:如何使用ffmpeg将文本添加到avi视频?

ffmpeg -i input.avi -vf drawtext="fontfile=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif.ttf:text='Text to write':fontsize=20:fontcolor=black:x=100:y=100" output.avi 

但每次我得到这个错误:

ffmpeg version 0.8.3-4:0.8.3-0ubuntu0.12.04.1, Copyright (c) 2000-2012 the Libav developers 
    built on Jun 12 2012 16:37:58 with gcc 4.6.3 
*** THIS PROGRAM IS DEPRECATED *** 
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead. 
Input #0, avi, from 'input.avi': 
    Duration: 04:09:09.66, start: 0.000000, bitrate: 480 kb/s 
    Stream #0.0: Video: mpeg4 (Advanced Simple Profile), yuv420p, 320x240 [PAR 1:1 DAR 4:3], 45 tbr, 45 tbn, 45 tbc 
    Stream #0.1: Audio: mp3, 48000 Hz, stereo, s16, 64 kb/s 
[buffer @ 0x860d5a0] w:320 h:240 pixfmt:yuv420p 
Incompatible sample format 's16' for codec 'ac3', auto-selecting format 'flt' 
[ac3 @ 0x8607a00] invalid bit rate 
Output #0, avi, to 'output.avi': 
    Stream #0.0: Video: mpeg4, yuv420p, 320x240 [PAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 90k tbn, 45 tbc 
    Stream #0.1: Audio: ac3, 48000 Hz, stereo, flt, 200 kb/s 
Stream mapping: 
    Stream #0.0 -> #0.0 
    Stream #0.1 -> #0.1 
Error while opening encoder for output stream #0.1 - maybe incorrect parameters such as bit_rate, rate, width or height 

感谢你的帮助。

+0

尝试添加'-acodec copy'。 – 2012-07-13 10:15:35

+0

@Banthar它解决了这个问题。谢谢。然而,文本出现在中间的任何想法如何把它放在底部?谢谢 – qliq 2012-07-13 13:47:21

回答

6

该文档显示您可以使用其他参数xy,如输入视频高度和宽度以及文本宽度和高度。将文本放在底部的一种方法是y=main_h-text_h。如果你想在底部填充一点点,你可以使用y=main_h-(text_h*2)水平居中使用x=(main_w/2-text_w/2)