Verwenden Sie ffmpeg, um Textuntertitel hinzuzufügen
Ich versuche, fügen Sie text-Untertitel ein .mp4-container mit ffmpeg:
ffmpeg -i input.mp4 -i input.srt -map 0.0 -map 0.1 -map 1.0 output.mp4
Wenn ich versuche zu laufen, diese Zeile, es gibt mir eine Fehlermeldung :
Nmber der stream maps übereinstimmen muss Nummer des output-streams.
Wenn ich versuche, ändern Sie die mp4 zu mkv (obwohl mp4-unterstützt text-Untertitel):
ffmpeg -i input.mp4 -i input.srt -map 0.0 -map 0.1 -map 1.0 output.mkv
Richtig ordnet die streams, sondern gibt eine Fehlermeldung :
Encoder (codec id-94210) not found for output stream #0.2
Wenn ich starte
ffmpeg -codecs
Kann ich sehen, dass der srt-codec wird unterstützt-decoder und encoder, aber ich bin nicht sicher, was verwendet für mp4-und mkv-subs-Codierung, und ob ich wechseln müssen oder separat kompilieren.
InformationsquelleAutor der Frage 0-alpha | 2011-12-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
-vf subtitles=infile.srt
funktioniert nicht mit-c copy
Die Reihenfolge der
-c copy -c:s mov_text
ist wichtig. Sagen Sie FFmpeg:Wenn Sie umkehren, werden Sie sagen FFmpeg:
Alternativ könnte man nur verwenden
-c:v copy -c:a copy -c:s mov_text
in jedemum.
InformationsquelleAutor der Antwort Steven Penny
Sie versuchen, mux Untertitel als Untertitel-stream. Es ist einfach, aber eine andere syntax verwendet wird, für MP4 (oder M4V) und MKV. In beiden Fällen müssen Sie angeben, video-und audio-codec, oder einfach nur kopieren stream, wenn Sie nur wollen, um Untertitel hinzufügen.
MP4:
MKV:
InformationsquelleAutor der Antwort dotokija
Verwenden Sie die
libass
Bibliothek (stellen Sie sicher, dass Ihr ffmpeg installieren, hat die Bibliothek in der Konfiguration--enable-libass
).Zuerst konvertieren die Untertitel
.ass
format:Dann fügen Sie Sie mit einem video-filter:
InformationsquelleAutor der Antwort HdN8
MKV-container unterstützt video-und audio-codecs so gut wie alles und unterstützt auch Untertitel und DVD-Menüs. So können Sie einfach kopieren codecs aus video-Eingang video-Ausgang mit MKV-container mit Untertiteln. Zuerst sollte man die umwandeln SRT zu ASS-Untertitel-format
- und embed-ASS Untertitel zu video
Arbeitete auch mit VMW-Datei.
siehe die wiki-Seite Vergleich von container-Formate
InformationsquelleAutor der Antwort khan
ffmpeg unterstützt die
mov_text
Untertitel-encoder, der über die einzige unterstützte in einem MP4-container und spielbar mit iTunes, Quicktime, iOS etc.Deine Zeile Lesen würde:
ffmpeg -i input.mp4 -i input.srt -map 0:0 -map 0:1 -map 1:0 -c:s mov_text output.mp4
InformationsquelleAutor der Antwort Mirko Klemm
Versuchte ich mit MP4Box für diese Aufgabe aber nicht bewältigen konnte, die M4V ich zu tun hatte. Ich hatte Erfolg die Einbettung der SRT als soft Untertitel mit ffmpeg mit der folgenden Befehlszeile:
ffmpeg -i input.m4v -i input.srt -vcodec copy -acodec copy -scodec copy -map 0:0 -map 0:1 -map 1:0 -y output.mkv
Wie du musste ich eine MKV-Ausgabe-Datei - ich war nicht in der Lage, erstellen Sie eine M4V-Datei.
InformationsquelleAutor der Antwort D Coetzee
Werde ich Ihnen eine einfache und generelle Antwort, das funktioniert mit einer beliebigen Anzahl von audios und srt Untertitel und hinsichtlich der Metadaten, die u. A. die mkv container. So wird es auch die Bilder der matroska umfassen können, als Anlagen (nicht jedoch andere Arten AFAIK) und wandeln Sie auf Spuren; Sie werden nicht in der Lage zu sehen, aber Sie werden da sein (Sie können demux). Ah, und wenn die mkv hat Kapitel, die mp4 zu.
Wie Sie sehen können, es ist alles über die
-map 0
, sagt FFmpeg, um alle Spuren, die enthält Metadaten, Kapitel, Anhänge, etc. Wenn es eine unbekannte "track" (mkv ermöglicht das befestigen alle Typ der Datei), wird es am Ende mit einem Fehler.Können Sie eine einfache batch -
mkv2mp4.bat
wenn Sie in der Regel tun dies zu schaffen ein mp4 mit dem gleichen Namen wie die mkv. Es wäre besser, mit der Fehler-Kontrolle, einen anderen Ausgang name, etc., setzen Sie den Punkt zu kommen.Nun können Sie einfach starten Sie
Und wird es schaffen "Video mit Untertiteln etc.mp4" mit dem maximum an Informationen enthalten.
InformationsquelleAutor der Antwort cdlvcdlv
Einfaches Beispiel:
Nur ersetzen Sie die linux-Variablen
InformationsquelleAutor der Antwort Daniel Gianni
Dies ist der Grund, warum mkv ist so ein guter container, vor allem jetzt, dass es ausgereift:
InformationsquelleAutor der Antwort Corley Kinnane