次のようなビデオの例があります
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
使いたいffプローブビデオストリームとオーディオストリームの数を数えると、この場合は1そして2それぞれ、これをどのように達成できるでしょうか?
答え1
そのような機能はありませんが、必要に応じて(および)ffprobe
などの追加ツールを使用して出力を処理することができます。uniq
sort
ストリームタイプの数をリストする
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
特定のストリームタイプの数値を出力するだけ
または、断片的な方法。この例は、オーディオ ストリームがいくつあるかを示しています。
ffprobe -v error -select_streams a -show_entries stream=index -of csv=p=0 input.mkv | wc -w
2
許容される値-select_streams
:
v
ビデオV
ビデオ(添付画像、ビデオのサムネイル、カバーアートを除く)。a
オーディオs
字幕d
データt
添付ファイル