2016-08-05 7 views
0

Hallo Ich möchte etwas Text auf einem .mp4 hinzufügen.Avconv und "Kann kein passendes Ausgabeformat finden" Fehler

Ich versuche dies:

shell_exec("avconv -i input.mp4 drawtext=\"fontfile=OpenSans-Italic.ttf: text='Test Text'\" output.mp4"). 

Aber ich bekomme

kein geeignetes Ausgabeformat für finden 'DrawText = fontfile = OpenSans-Italic.ttf: text =' Test Text '' DrawText = fontfile = OpenSans-Italic.ttf: text = 'Test Text': ungültiges Argument

Irgendeine Idee von was ist los?

Antwort

0

Es ist ein Fehler mit Ihrem Argument drawtext. Es ist ein Filter, aber Sie brauchen -vf bevor es so libav kann verstehen, was es ist. Insgesamt sollte Ihr Befehl sein:

shell_exec("avconv -i input.mp4 -vf drawtext=\"fontfile=OpenSans-Italic.ttf: text='Test Text'\" output.mp4") 

Diese wie PHP sieht so würde ich auch Ihnen vorschlagen zu überprüfen:

  • Lese-/Schreibrechte,
  • Pfad der OpenSans-Italic.ttf Datei,
  • Ausführungspfad vs Dateipfad
  • Ob libav wurde mit --enable-libfreetype Option kompiliert (die für DrawText Filter erforderlich ist)

Quelle: https://libav.org/documentation/libavfilter.html#drawtext

+0

Danke es funktioniert, aber ich denke, libav nicht mit --enable-libfreetype kompiliert wird, weil ich diesen Fehler hätte: „Der Encoder‚aac‘ist experimentell, aber experimenteller Codecs nicht aktiviert ist, fügen Sie ' -strict -2 'wenn du es benutzen willst. " –

+0

Ich kenne Ihren aktuellen Fehler nicht, da meine Version funktioniert, aber hier ist eine andere Antwort auf die gleiche Frage: http://StackOverflow.com/A/35247468. Ich hoffe es hilft! – Fma

Verwandte Themen