Я должен нарисовать изображение текстом в центре через командную строку для дальнейшего помещения в видео. Простой желтый текст на черном фоне.
Я попробовал FFmpeg
путь:
ffmpeg -loop 1 -r 1 -i b.png -b:v 1M -vf "scale=320:240, drawtext=fontfile=/usr/share/fonts/truetype/DejaVuSans.ttf: text='Test Text'" -vcodec mpeg4 -acodec aac preroll.mp4
Который дал мне следующую ошибку:
[AVFilterGraph @ 0xf56020] No such filter: 'drawtext'
Я пытался установить ivtools и попробованный drawtool
и idraw
которые являются, очевидно, для настольных сред.
Как создать простое изображение с текстом в Ubuntu программно?
Что относительно этой команды:
convert -background black -size 800x480 -fill "#ff0080" -pointsize 72 -gravity center label:'Ask Ubuntu' output.png
При помощи вышеупомянутой команды Вы создаете пустое изображение .png, которое его цвет фона является черным.
- фон цвет
выберите цвет фона.
цвет фона по умолчанию (если ни один не определен или найден в изображении) является белым.
созданный размер изображения будет 800x480 (width[xheight]
).
- размер ширина [xheight] [+offset]
установите ширину и высоту необработанного изображения.
- заливка цвет
окрасьте для использования при заполнении графического примитива.
Эта опция принимает название цвета, шестнадцатеричный цвет, или числовой RGB, RGBA, HSL, HSLA, CMYK или спецификацию CMYKA. См. Названия цвета для описания того, как правильно определить цветной аргумент.
, Например,
-fill blue
-fill "#ff0080"
-fill "rgb(255,0,128)"
Включают спецификацию цветов в кавычки для предотвращения "#" или круглых скобок от того, чтобы быть интерпретируемым оболочкой.
Для печати полного списка названий цвета используйте - список цвет опция.
- размер точки размер
размер точки PostScript, OPTION1 или шрифта TrueType.
- сила тяжести тип
устанавливает текущее предложение силы тяжести для различных других настроек и опций.
Выбор включает: NorthWest, Север, NorthEast, Запад, Центр, Восток, SouthWest, Юг, SouthEast. Используйте - список сила тяжести для получения полного списка - сила тяжести настройки, доступные в установке ImageMagick.
label:'your Text Here'
пишут Ваш текст в image.png.
Также посмотрите больше примеров .
Если бы мы говорили о внешнем видео, я сделал бы простой SVG в inkscape со строкой заполнителя как OLISTRING
, получил бы его, как я хочу, чтобы он посмотрел, тогда управляют этим на командной строке для замены моим динамическим текстом в. И используйте Inkscape для растеризации его.
inkscape -z -e intro.png -w 1920 -h 1080 <(sed 's/OLISTRING/My Video!/' drawing.svg)
реальная выгода с этим подходом, Вы только ограничены тем, что можно сделать в Inkscape... Вы также получаете симпатичный четкий вывод благодаря механизму визуализации Inkscape.
Вот результат:
, Как представлено от этого (прохождение через моего sed
)
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="1920"
height="1080"
id="svg2"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="New document 1">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#000000"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:zoom="0.35"
inkscape:cx="375"
inkscape:cy="520"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1130"
inkscape:window-x="-2"
inkscape:window-y="-3"
inkscape:window-maximized="1" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,27.637817)">
<flowRoot
xml:space="preserve"
id="flowRoot2985"
style="fill:black;stroke:none;stroke-opacity:1;stroke-width:1px;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;font-family:Sans;font-style:normal;font-weight:normal;font-size:72px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;text-align:center"><flowRegion
id="flowRegion2987"><rect
id="rect2989"
width="1917.1428"
height="662.85712"
x="0"
y="174.28572"
style="text-anchor:middle;text-align:center;font-size:72px" /></flowRegion><flowPara
id="flowPara2991"></flowPara></flowRoot> <flowRoot
xml:space="preserve"
id="flowRoot2993"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
transform="translate(0,192.36218)"><flowRegion
id="flowRegion2995"><rect
id="rect2997"
width="1917.1428"
height="700"
x="0"
y="151.42857" /></flowRegion><flowPara
id="flowPara2999"
style="font-size:244px;font-weight:bold;text-align:center;text-anchor:middle;fill:#ffff00;-inkscape-font-specification:Sans Bold">OLISTRING</flowPara></flowRoot> <flowRoot
xml:space="preserve"
id="flowRoot3001"
style="fill:black;stroke:none;stroke-opacity:1;stroke-width:1px;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;font-family:Sans;font-style:normal;font-weight:normal;font-size:40px;line-height:125%;letter-spacing:0px;word-spacing:0px"><flowRegion
id="flowRegion3003"><rect
id="rect3005"
width="0"
height="85.714287"
x="962.85712"
y="397.14285" /></flowRegion><flowPara
id="flowPara3007"></flowPara></flowRoot> </g>
</svg>
Я нашел решение: установленный Imagestick:
sudo apt-get install imagemagick
И затем я использовал что-то как:
convert -pointsize 36 -fill red -draw 'text 10,10 "Loh pidr text" ' b.png test1.jpg
И затем используют
man convert
, чтобы видеть документацию и играть aroud.
Команда ffmpeg не работала, потому что человечность не имеет ffmpeg, это имеет libav вместо этого .
Попытка ffmpeg -version
для подтверждения (возвратится 0.8.something IIRC).
, Если Вы получаете последнюю версию (2.4.3) от , http://ffmpeg.org тогда drawtext будет работать.