FFmpeg auf Android fügt Untertitel zu langsam hinzu

378
LiJianixn

Vor kurzem verwende ich FFmpeg 4.0auf Android. Und ich benutze FFmpeg, um Untertitel hinzuzufügen. Aber es ist sehr langsam. Nach einiger Prüfung finde ich, wo das Problem liegt.

Wie Sie wissen, sollte FFmpeg enable-libassalso Untertitel hinzufügen.

Es gibt Code in libass/libass/ass_fontselect.c.

priv->default_provider = font_constructors[i].constructor(library, priv, config); 

Dieser "Konstruktor" wird verwendet, um ein zu konstruieren, ASS_FontProviderund es dauert fast 17s + auf meinem alten Nexus 5. Es ist zu langsam.

Jetzt weiß ich, wo das Problem liegt. Aber wie löst man es? Ich glaube, es gibt viele Leute wie mich.

0
Haben Sie Libass als Engpass isoliert? Denn ich würde mir vorstellen, dass der Video-Encoder der langsamste Prozess wäre. `ffmpeg -i Eingabe -vf drawtext -an -f null -` LordNeckbeard vor 6 Jahren 0
@LordNeckbeard Das Erstellen eines Zeichensatz-Cache dauert 17 Sekunden, aber die Kodierung ist sehr schnell. LiJianixn vor 6 Jahren 0
Wie kann das Problem dupliziert werden? Kommt es auf anderen Systemen vor? LordNeckbeard vor 6 Jahren 0
Wenn Sie ffmpeg unter Linux verwenden, kann dies meiner Meinung nach vorkommen. Weil `fontconfig` das Erstellen von fc-cache viel Zeit in Anspruch nimmt. Aber ich weiß nicht, wie ich es zulassen soll. LiJianixn vor 6 Jahren 0
Können Sie Ihren `ffmpeg`-Befehl angeben? LordNeckbeard vor 6 Jahren 0
ffmpeg -i input.mp4 -vf ass = Untertitel.ass output.mp4 LiJianixn vor 6 Jahren 0

0 Antworten auf die Frage