Entonces tengo el siguiente video de ejemplo.
Stream #0:0(jpn): Video: h264 (High 10), yuv420p10le(progressive), 1920x1036 [SAR 1:1 DAR 480:259], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
Stream #0:1(eng): Audio: ac3, 48000 Hz, 5.0(side), fltp, 640 kb/s (default)
Stream #0:2(jpn): Audio: ac3, 48000 Hz, 5.0(side), fltp, 640 kb/s
Stream #0:3(eng): Subtitle: ass (default)
Metadata:
title : English Signs & Songs
Stream #0:4(eng): Subtitle: ass
Metadata:
title : English Subtitles
Stream #0:5: Attachment: ttf
Metadata:
filename : PutoInsanity.ttf
mimetype : application/x-truetype-font
Quiero usarsonda ffpara contar la cantidad de transmisiones de video y transmisiones de audio, lo que en este caso debería darme1y2resp. ¿Cómo se puede lograr esto?
Respuesta1
No existe tal característica, pero puede usar ffprobe
herramientas adicionales como uniq
(y sort
si lo desea) para procesar la salida.
Listar el número de tipos de transmisión
ffprobe -v error -show_entries stream=codec_type -of default=nw=1:nk=1 input.mkv | uniq -c
1 data
1 video
1 attachment
8 subtitle
6 audio
Solo genera el número para un tipo de transmisión específico
O un método poco sistemático. Este ejemplo muestra cuántas transmisiones de audio hay:
ffprobe -v error -select_streams a -show_entries stream=index -of csv=p=0 input.mkv | wc -w
2
Valores aceptados para -select_streams
:
v
videoV
vídeo (excluyendo imágenes adjuntas, miniaturas de vídeos o portadas).a
audios
subtítulosd
datost
archivos adjuntos