Então eu tenho o seguinte exemplo de vídeo
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
Eu quero usarffprobecontar a quantidade de fluxos de vídeo e áudio, o que neste caso deve me dar1e2resp. Como isso pode ser alcançado?
Responder1
Esse recurso não existe, mas você pode usar ffprobe
ferramentas adicionais, como uniq
(e sort
se desejar), para processar a saída.
Listar o número de tipos de fluxo
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
Apenas produza o número para um tipo de fluxo específico
Ou um método fragmentado. Este exemplo mostra quantos fluxos de áudio existem:
ffprobe -v error -select_streams a -show_entries stream=index -of csv=p=0 input.mkv | wc -w
2
Valores aceitos para -select_streams
:
v
vídeoV
vídeo (excluindo fotos anexadas, miniaturas de vídeo ou capa).a
áudios
legendasd
dadost
anexos