ストリームタイプの数をリストする

ストリームタイプの数をリストする

次のようなビデオの例があります

    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などの追加ツールを使用して出力を処理することができます。uniqsort

ストリームタイプの数をリストする

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添付ファイル

関連情報