Uso de ejemplo de comando FFProbe Linux

Uso de ejemplo de comando FFProbe Linux
"El ffprobe es un comando Linux utilizado para recuperar información de archivos multimedia. El comando muestra la salida en una máquina o formato legible por humanos. Con ffprobe, puede recopilar información, como el tamaño, la velocidad de bits, la altura, el ancho, los códecs y el formato de píxeles de la corriente multimedia. FFProbe es una herramienta imprescindible en su kit de herramientas de procesamiento de video.

Puede usar FFProbe como una aplicación independiente o con un filtro textual diferente para realizar un procesamiento avanzado, como trazar y procesamiento estadístico.

Puede usar ffprobe con diferentes opciones. En este artículo, aprenderá algunos de los ejemplos de uso comunes de la FFProbe para mejorar su análisis de video y habilidades de extracción de información. Empecemos!"

Empezando con FFProbe

Puede instalar FFProbe usando el Administrador de paquetes en su Linux. Debe instalar FFMPEG, que a su vez instala el FFProbe usando el comando a continuación:

$ sudo apt-get install ffmpeg


Para verificar la instalación, escriba el comando ffmpeg en el terminal. Debe mostrar la configuración y la versión del FFMPEG instalado.

Ejemplos de uso básico de ffprobe

1. Obtener propiedades de archivo

Puede usar el FFProbe con el archivo multimedia para recuperar todos sus detalles. En este ejemplo, usaremos un video descargado, samplevid.MP4, ubicado en nuestro directorio de videos.

El comando será:

$ ffprobe samplevid.mp4

La salida mostrada es:

Puede notar que la salida tiene demasiado "ruido". Puede filtrar la información y ocultar el banner para mostrar solo la información necesaria utilizando el -hide_banner opción

$ ffprobe -hide_banner samplevid.mp4

La salida sin el banner se verá como la que se muestra a continuación.

Los detalles clave de la salida incluyen:

  • Nuestro samplevid.MP4 está utilizando el formato "MOV, MP4, M4A, 3GP, 3G2, MJ2".
  • También puede ver la fecha y hora en que se creó el archivo, 2020-09-12.
  • La duración representa la longitud del archivo de video y su tasa de bits correspondiente de 234 kb/s
  • También podemos notar que el archivo multimedia tiene dos transmisiones, video y audio.

2. Especificadores de flujo ffprobe

La mayoría de los archivos multimedia contienen transmisiones de audio y video, y algunos incluso en varios idiomas. Usando el FFProbe, solo puede elegir inspeccionar una transmisión específica.

Cuando imprime la salida del archivo de video, muestra las dos transmisiones. STrestio #0: 0 representa la transmisión de video y Stream #0: 1 representa la transmisión de audio.

En ffprobe, para especificar qué secuencia usar, el select_streams Se agrega la opción. Use 'V' o 'V' para elegir un video y 'A' para elegir audio. Para el subtítulo, use 's'.

En nuestro caso, para inspeccionar la transmisión de audio y obtener su velocidad de bits, use el comando:

$ ffprobe -hide_banner -v Panic -select_streams a: 0 -show_entries stream = bit_rate samplevid.mp4

El -V pánico o -V Error ayuda To Reduce la salida mostrada.

Para inspeccionar la transmisión de video, reemplace el a con V Como se muestra abajo:

$ ffprobe -hide_banner -v Panic -select_streams v: 0 -show_entries stream = bit_rate samplevid.mp4

3. Ocultar el [transmisión] y [/stream] en los especificadores de flujo

Para deshacerse de las molestas envoltorios que rodean los resultados de los especificadores de la corriente, debe agregar -de NOPRINT_WRAPPERS = 1

El comando anterior para mostrar la transmisión de audio puede reescribirse como:

$ ffprobe -hide_banner -v Panic -select_streams a: 0 -show_entries stream = bit_rate -Of default = noPRINT_WRAPPERS = 1 sampleVid.mp4

La nueva salida será:

4. Obtener información para cada transmisión

Si necesita acceder a la información de todas las transmisiones del archivo multimedia dado, use el -show_streams especificador.

$ ffprobe -hide_banner -v Panic -select_streams v: 0 -show_streams samplevid.mp4

Puede ver muchos detalles desde la salida, incluido el tamaño, el perfil, el formato de píxeles, la tasa de bits, la velocidad de cuadro, la altura, etc.

5. Obtener detalles del formato de contenedor

Para obtener los detalles del formato del contenedor, use el -show_format

$ ffprobe -hide_banner -v Panic -select_streams v: 0 -show_format sampleVid.mp4

Los detalles del contenedor, incluida la tasa de bits, el tamaño y las etiquetas, se mostrarán como se muestra:

6. Obtener información sobre cada paquete

Para un archivo de video, puede obtener los detalles de cada paquete utilizando el -show_packets especificador.

$ ffprobe -hide_banner -v Panic -select_streams v: 0 -show_packets samplevid.mp4

La salida muestra el tamaño, la duración y los detalles de convergencia, encerrados entre el [paquete] [/paquete].

7. Obtener detalles de cada cuadro

Un video tiene muchos cuadros, y podemos extraer la información de los marcos, como la altura, el tipo de imagen, las marcas de tiempo y el espacio de color, utilizando el show_frames. El marco tiene toneladas de información, pero son útiles.

$ ffprobe -hide_banner -v Panic -select_streams v: 0 -show_frames samplevid.mp4

La salida de cada cuadro se encerrará dentro del [marco] y [/marco]

8. formato de salida ffprobe

Afortunadamente, FFProbe le permite elegir el formato de salida deseado, como los formatos CSV, JSON y XML, utilizando el -print_format

Podemos elegir fácilmente qué formato mostrar la salida utilizando los ejemplos anteriores. Por ejemplo, para mostrar el formato del contenedor en diferentes formatos, consulte los ejemplos a continuación.

Para usar CSV:

$ ffprobe -hide_banner -v Panic -select_streams v: 0 -print_format csv -show_format sampleVid.mp4

Para usar JSON:

$ ffprobe -hide_banner -v Panic -select_streams v: 0 -print_format json -show_format sampleVid.mp4

Para usar XML:

$ ffprobe -hide_banner -v Panic -select_streams v: 0 -print_format xml -show_format sampleVid.mp4

Para usar ini:

$ ffprobe -hide_banner -v Panic -select_streams v: 0 -print_format ini -show_format sampleVid.mp4

9. Extraer detalles específicos de las transmisiones

Con ffprobe, es posible obtener detalles específicos como ancho, altura, PTS (marca de tiempo de imagen), duración, etc.

Para obtener la tasa de bits

La tasa de bits del video se puede extraer utilizando el stream = bit_rate especificador. En este caso, imprimiremos en formato JSON.

$ ffprobe -hide_banner -v Panic -select_streams v: 0 -print_format json -show_entries stream = bit_rate samplevid.mp4

Para obtener el tipo de imagen

Cada cuadro tiene un tipo de imagen diferente. Puede mostrar el tipo de imagen en cualquier formato utilizando el marco = pict_type especificador. Mostraremos el tipo de imagen en un formato plano utilizando el comando a continuación.

$ ffprobe -hide_banner -v Panic -select_streams v: 0 -print_format plano -show_entries frame = pict_type samplevid.mp4

Para obtener la duración del video

Para esto, use el transmisión = duración especificador como se muestra a continuación para obtener la duración en JSON.

$ ffprobe -hide_banner -v Panic -select_streams v: 0 -print_format json -show_entries stream = duración samplevid.mp4

Para obtener el ancho y la altura

Usando ffprobe, puede extraer el ancho y la altura del video en cualquier formato como se muestra.

Utilizar el transmisión = ancho, altura especificador.

$ ffprobe -hide_banner -v Panic -select_streams v: 0 -print_format json -show_entries stream = ancho, altura samplevid.mp4

Para conseguir el PTS

El paquete = pts_time El especificador obtendrá todos los pacientes de todos los paquetes.

$ ffprobe -hide_banner -v Panic -select_streams v: 0 -print_format plano -show_entries paquete = pts_time samplevid.mp4

Conclusión

El ffprobe es una poderosa herramienta de utilidad de Linux, y lo que hemos cubierto aquí es solo un rasguño de la superficie. Hay muchos especificadores que puede combinar con ffprobe para lograr la funcionalidad. Sin embargo, hemos tocado lo común una vez, pero puede verificar la documentación de FFProbe para comprenderla más. Diviértete con ffprobe!