2016-04-08 16 views
0

ich ffmpeg Bibliothek bin mit Text auf Video in bestimmten Zeit zu zeichnen, und ich bin Erfolg zu tun, dass Jetzt muss ich den Text von der Position zum anderen bewegen, und ich kann nicht tun, kann so jeder man mich empfehlen, wie man denffmpeg bewegenden Text DrawText

ich diesen Befehl bin mit Text von oben zu bewegen, um nach unten, aber ich kann die x- und Y von der x, y auf bestimmte x, y

ffmpeg -i VideoInput.mp4 -vf "drawtext=enable='between(t,12,14)':fontfile=myfont.otf:text='Test test':x=(w-text_w)/2:y=w/50\*mod(t\,2):fontsize=65" -acodec copy outputVideo.mp4 
zu bewegen nicht bestimmen

Antwort

1

Verwenden

ffmpeg -i VideoInput.mp4 \ 
     -vf "drawtext=enable='between(t,12,14)':fontfile=myfont.otf:text='Test test': \ 
      x='x1+(x2-x1)*(t-t1)/(t2-t1)':y='y1+(y2-y1)*(t-t1)/(t2-t1)':fontsize=65" \ 
     -acodec copy outputVideo.mp4 

wo

x1 und y1 sind Anfangskoordinaten; x2 und y2 sind endgültig Koordinaten; t1 und t2 sind Start- und Endzeiten; in Ihrem gegebenen Befehl, 12 und 14.

Diese oben Notwendigkeit, mit ihren Werten in dem Befehl ersetzt werden.


In einem 1 zum zweiten Mal im Ende geben,

ffmpeg -i VideoInput.mp4 \ 
     -vf "drawtext=enable='between(t,12,15)':fontfile=myfont.otf:text='Test test': \ 
      x='if(lt(t-t2+1\,0)\,x1+(x2-x1)*(t-t1)/(t2-t1-1)\,x)': \ 
      y='if(lt(t-t2+1\,0)\,y1+(y2-y1)*(t-t1)/(t2-t1-1)\,y)':fontsize=65" \ 
     -acodec copy outputVideo.mp4 

t2 Hier schließt das bleiben, also die Bewegung von 12 bis 14 + 1 Sekunde lang gedrückt. Die t2 in enable wird ebenfalls geändert.

+0

Dank es funktioniert gut für mich, aber ich habe eine andere Frage, wenn Sie es beantworten können, nach der Endzeit der Text verschwinden kann ich es für 1 Sekunde ohne Bewegung sichtbar bleiben dann verschwinden – BOB

+0

Hallo mein Freund, den ich will Kennen Sie eine weitere Information über das Verschieben von Text mit ffmpeg kann ich die Geschwindigkeit des Verschiebens von Text steuern? Ich versuche es, weil ich es beschleunigen wollen Google, aber ich fand die Lösung so, wenn Sie eine Idee haben, bitte helfen Sie Thansk – BOB

+0

den Aufenthalt Wert ändern '1' z Wenn Sie möchten, dass die Bewegung von 12 bis 13 erfolgt, dann ändern Sie '1' in' 2' so dass 'lt (t-t2 + 1 \, 0)' wird zu 'lt (t-t2 + 2 \, 0) '. Das Gleiche gilt für alle anderen Ausdrücke im Befehl. – Mulvya

Verwandte Themen