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:
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!