Extrahieren Sie Untertitel (CC) aus einer .mkv-Datei, die im Videostream interlaced ist

798
sard

Video-Ausgang:

ffmpeg -i output.mkv

Geben Sie # 0, matroska, webm aus 'output.mkv' ein:

Metadaten:

encoder: libebml v1.3.6 + libmatroska v1.4.9

creation_time: 2018-08-31T06: 43: 45.000000Z

Dauer: 00: 42: 51,03, Start: 0,000000, Bitrate: 1928 kb / s

Stream # 0: 0: Video: h264 (Haupt), yuv420p (progressiv), 960x540 [SAR 1: 1 DAR 16: 9], Untertitel, 23,98 fps, 23,98 TB, 1 KBB, 47,95 TBC (Standard)

Mit diesem:

"ffmpeg" -f lavfi -i "movie = output.mkv [out0 + subcc]" -map s "output_map-s.srt"

Ich kann die (CC) aber mit ungeraden Timecodes und Tags extrahieren.

1 00: 00: 00.019 -> 00: 00: 00.051 {\ AN7} Dialog

2 00: 00: 00.052 -> 00: 00: 00.134 {\ AN7} Dialog

3 00: 00: 00.135 -> 00: 00: 00.161 {\ AN7} Dialog

4 00: 00: 00.163 -> 00: 00: 00.178 {\ AN7} Dialog

5 00: 00: 00.179 -> 00: 00: 00.194 {\ AN7} Dialog

6 00: 00: 00.220 -> 00: 00: 00.246 {\ AN7} Dialog

7 00: 00: 00,272 -> 00: 00: 00,296 {\ an7} -Dialog

Was wäre der richtige Satz, um synchronisiert zu extrahieren (CC).

Vielen Dank.

1

1 Antwort auf die Frage

0
Cesar Moore

Das funktionierte für mich, N ist der Untertitelindex, der mit 0 beginnt:

ffmpeg -hide_banner -i myfile.mkv -map 0:s:N subtiles_N.srt 
Sie müssen N durch eine Zahl ersetzen, da der MKV mehrere Subfiles enthalten kann. Damit erhalten Sie den ersten Untertitel: ffmpeg -hide_banner -i myfile.mkv -map 0: s: 0 subtiles_zero.srt Cesar Moore vor 6 Jahren 0
Holen Sie sich den gleichen Fehler ... sard vor 6 Jahren 0
Es kann nicht derselbe Fehler sein, wenn '' 0: s: 0 'mit keinen Streams übereinstimmt.' Dies ist darauf zurückzuführen, dass die MKV keine Untertitel hat. Cesar Moore vor 6 Jahren 0
Die zweite Antwort hier verwendet den gleichen Ansatz: https://superuser.com/questions/391892/extract-subtitles-from-movie (hat 3 Stimmen) Cesar Moore vor 6 Jahren 0
Vielen Dank, aber das funktioniert nur bei Untertiteln mit eigenen Streams: Stream # 0: 2: Subtitle: subrip (Standard). Nicht im Videostream codierte Untertitel. sard vor 6 Jahren 0