Supongamos que tengo un formato de video como este:
Metadata:
CREATION_TIME : 2017-08-04T21:29:42Z
ENCODER : Lavf57.7.2
Duration: 00:24:45.83, start: 0.000000, bitrate: 1130 kb/s
Chapter #0:0: start 0.000000, end 90.048000
Metadata:
title : Chapter 1
Chapter #0:1: start 90.048000, end 741.074000
Metadata:
title : Chapter 2
Chapter #0:2: start 741.074000, end 1391.348000
Metadata:
title : Chapter 3
Chapter #0:3: start 1391.348000, end 1422.338000
Metadata:
title : Chapter 4
Chapter #0:4: start 1422.338000, end 1485.693000
Metadata:
title : Chapter 5
Stream #0:0: Video: h264 (High), yuv420p(tv, bt709, progressive), 960x720 [SAR 1:1 DAR 4:3], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
Stream #0:1(eng): Audio: aac (LC), 48000 Hz, stereo, fltp (default)
Metadata:
title : Stereo
Stream #0:2(jpn): Audio: aac (LC), 48000 Hz, stereo, fltp
Metadata:
title : Stereo
Stream #0:3(eng): Subtitle: ass (default) (forced)
Stream #0:4: Attachment: ttf
Metadata:
filename : FRAMD.TTF
mimetype : application/x-truetype-font
Stream #0:5: Attachment: ttf
Metadata:
filename : FRAMDCN.TTF
mimetype : application/x-truetype-font
Stream #0:6: Attachment: ttf
Metadata:
filename : FRAMDIT.TTF
mimetype : application/x-truetype-font
Stream #0:7: Attachment: ttf
Metadata:
filename : DEJAVUSERIF.TTF
mimetype : application/x-truetype-font
Stream #0:8: Attachment: ttf
Metadata:
filename : FRADM.TTF
mimetype : application/x-truetype-font
Stream #0:9: Attachment: ttf
Metadata:
filename : FRADMCN.TTF
mimetype : application/x-truetype-font
Stream #0:10: Attachment: ttf
Metadata:
filename : FRADMIT.TTF
mimetype : application/x-truetype-font
Quiero tomar cada cuadro de este video y convertirlo en una imagen,pero quiero conservar los subtitulos.
Probé un comando como este:
ffmpeg -i file.mkv -r 1 -ss 120 -t 350 -map 0:0 images/output_%05d.png
Lo que me da los fotogramas del rango que quiero ( -ss..-t
), pero cada vez que intento agregar alguna variación -map 0:3
(de la secuencia de subtítulos), obtengo
Automatic encoder selection failed for output stream #0:1. Default encoder for format image2 (codec none) is probably disabled. Please choose an encoder manually.
Error al seleccionar un codificador para la transmisión 0:1
También he probado una variación como
ffmpeg -i file.mkv -r 1 -ss 120 -t 350 -map 0:0 -attach ~/Library/Fonts/DejaVuSans.ttf -metadata:s:0 mimetype=application/x-truetype-font images/output_%05d.png
Que también simplemente escribió los PNG, sin subtítulos.
¿Que me estoy perdiendo aqui?
Respuesta1
Lo descubrí después de enterarme de que ffmpeg
no realiza la representación de subtítulos. tuve que usarel subtitles
filtro, lo que significaba recompilar ffmpeg
con --enable-libass
.
El comando final parecía:
ffmpeg -i file.mkv -r 1 -map 0:0 -vf "subtitles=file.mkv" images/output_%05d.png