Ekstrak teks tertutup (CC) Dari file .mkv interlaced dalam aliran video

1

Output video:

ffmpeg -i output.mkv

Masukan # 0, matroska, webm, dari 'output.mkv':

Metadata:

encoder: libebml v1.3.6 + libmatroska v1.4.9

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

Durasi: 00: 42: 51.03, mulai: 0,000000, bitrate: 1928 kb / s

Streaming # 0: 0: Video: h264 (Utama), yuv420p (progresif), 960x540 [SAR 1: 1 DAR 16: 9], Teks Tertutup, 23,98 fps, 23,98 tbr, 1k tbn, 47,95 tbc (default)

Menggunakan ini:

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

Saya dapat mengekstrak (CC) tetapi dengan kode waktu dan tag yang aneh.

1 00:00: 00,019 - & gt; 00:00: 00,051 {\ an7} dialog

2 00:00: 00,052 - & gt; 00: 00: 00.134 {\ an7} dialog

3 00:00: 00.135 - & gt; 00.00: 00.161 {\ an7} dialog

4 00:00: 00.163 - & gt; 00.00: 00.178 {\ an7} dialog

5 00:00: 00.179 - & gt; 00.00: 00.194 {\ an7} dialog

6 00:00: 00.220 - & gt; 00:00: 00.246 {\ an7} dialog

7 00:00: 00.272 - & gt; 00:00: 00.296 {\ an7} -dialog

Apa yang akan menjadi kalimat yang benar untuk mengekstrak disinkronkan (CC).

Terima kasih.

sard
sumber

Jawaban:

0

Ini bekerja untuk saya, N adalah indeks subtitle dimulai dengan 0:

ffmpeg -hide_banner -i myfile.mkv -map 0:s:N subtiles_N.srt
Cesar Moore
sumber
Anda harus mengganti N dengan angka, karena MKV dapat memiliki banyak subtil. Ini akan memberi Anda subtitle pertama: ffmpeg -hide_banner -i myfile.mkv -map 0: s: 0 subtiles_zero.srt
Cesar Moore
Dapatkan kesalahan yang sama ...
sard
Tidak mungkin kesalahan yang sama persis, jika '0: s: 0' tidak cocok dengan stream. ', Itu karena MKV tidak memiliki subtitle.
Cesar Moore
Jawaban kedua di sini, menggunakan pendekatan yang sama: superuser.com/questions/391892/extract-subtitles-from-movie (ini memiliki 3 suara)
Cesar Moore
Terima kasih, tetapi ini hanya berfungsi dengan subtitle dengan alirannya sendiri: Stream # 0: 2: Subtitle: subrip (default) Tidak Tutup Teks yang disandikan dalam aliran video.
sard