Listar el número de tipos de transmisión

Listar el número de tipos de transmisión

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 ffprobeherramientas adicionales como uniq(y sortsi 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:

  • vvideo
  • Vvídeo (excluyendo imágenes adjuntas, miniaturas de vídeos o portadas).
  • aaudio
  • ssubtítulos
  • ddatos
  • tarchivos adjuntos

información relacionada