Benötige ich x264 in FFmpeg, um Untertitel zu extrahieren

407
user25

Ich plane, mein eigenes FFmpeg-Build zu kompilieren, und ich möchte nicht benötigte Bibliotheken deaktivieren (zB mit GPL-Lizenz).

Ich muss FFmpeg nur zum Extrahieren von Untertiteln verwenden https://trac.ffmpeg.org/wiki/ExtractSubtitles

Benötigt diese Funktion x264? ffmpeg -i videofile.mkv -map 0:s:0 subs.srt

Muss ich mit FFmpeg bauen --enable-libx264oder kann ich bauen --disable-libx264und es funktioniert noch (Untertitel extrahieren)?

0
Untertitel sind keine Videocodecs. Sie benötigen keine Videocodecs, um Untertitel zu extrahieren. Ipor Sircer vor 5 Jahren 1
x264 decodiert keine Untertitel, Sie brauchen sie also nicht. Gyan vor 5 Jahren 0
@Gyan Danke, ich werde eine Liste erstellen, die ich nur für das Extrahieren von Untertiteln benötige (um die ffmpeg-Binärgröße so klein wie möglich zu machen). Können Sie etwas anderes zum Deaktivieren vorschlagen (`--disable -...` ) user25 vor 5 Jahren 0
Wenn Sie keine Subs konvertieren möchten; Sie benötigen lediglich die nativen Demuxer und den Datenmuxer. Wenn Sie in ASS oder SRT konvertieren möchten, benötigen Sie die ass / srt-Encoder und -Muxer sowie den Decoder für das Unterformat. Gyan vor 5 Jahren 0
@Gyan Ja, wenn ich Subs extrahiere Ich versuche, alle Subs als SRT zu extrahieren, also entferne ich nicht die nächsten Libs: libass, freetype, fontconfig user25 vor 5 Jahren 0
Nicht erforderlich - das sind Zeichenzeichen - Ihre Aufgabe erfordert das Extrahieren oder Konvertieren einer Textdatei in eine andere. libass ist ein Untertitel-Filter, der Videobilder malt; fontconfig / freetype dient zum Konvertieren von Text in Glyphen zur Verwendung durch den drawtext-Filter. Gyan vor 5 Jahren 1
@Gyan also ist zB libass nicht nötig, um ass in srt zu konvertieren? user25 vor 5 Jahren 0
Nein, es ist nur für die Filter für Arsch und Untertitel erforderlich. Gyan vor 5 Jahren 1
@Gyan Danke, ich hoffe, es wird die Größe der Binärdatei verringern user25 vor 5 Jahren 0
@Gyan Ich habe auch `--extra-libs =" - lexpat -lm "` in SH-Build-Datei. Ich bin mir nicht sicher, ob sie benötigt werden (libexpat, libm) user25 vor 5 Jahren 0
libm kann an anderer Stelle als libexpat erforderlich sein - wahrscheinlich nicht. Gyan vor 5 Jahren 0

1 Antwort auf die Frage

1
Ignacio Vazquez-Abrams

x264 wird nur für Video benötigt. Wenn Sie nur Tracks aus einem MKV-Container extrahieren möchten, brauchen Sie nur mkvextract.

Es ist nicht unbedingt ein mkv-Container. Könnte jeder Untertitel Untertitel enthalten? Verwendet FFmpeg mkvextract? user25 vor 5 Jahren 0
Wahrscheinlich nicht, da es normalerweise die Spuren selbst handhaben würde. Ignacio Vazquez-Abrams vor 5 Jahren 0
x264 ist ein Encoder - er dekomprimiert auch kein Video. es wird nur zu H264 komprimiert. Gyan vor 5 Jahren 0
@ Gyan: Das hört sich nach etwas an, das du dem Fragenden sagen solltest. Ignacio Vazquez-Abrams vor 5 Jahren 0
Ich denke, ich werde immer noch FFmpeg verwenden (weil es plattformübergreifend ist, auch für Android), auch FFmpeg verwendet einige andere Abhängigkeiten (wie libass, freetype, fontconfig) und mb user25 vor 5 Jahren 0
@ IgnacioVazquez-Abrams - Ich spreche den ersten Satz Ihrer Antwort an. Gyan vor 5 Jahren 0