Explicación detallada del uso de ffprobe

Resumen

Este artículo describe el uso del programa ffprobe en el paquete FFmpeg.

Introducción a ffprobe

ffprobe es un programa de línea de comandos en el paquete FFmpeg. Es un analizador de flujo multimedia simple que puede analizar metadatos y detalles técnicos de archivos multimedia, como información de códec, formato, resolución, velocidad de fotogramas y frecuencia de muestreo de audio en espera. ffprobe también admite una variedad de formatos y opciones de salida, incluidos JSON, XML, CSV, etc., para facilitar el procesamiento y análisis de datos.

uso del comando ffprobe

ffprobe [opciones] archivo_entrada

opciones es una lista de opciones.

La cadena que comienza con "-" es el nombre del parámetro predeterminado de ffprobe, y la cadena en forma de ${value} es el valor del parámetro que el usuario debe especificar.

ffprobe información de autodescripción

-L                  显示许可协议
-h ${topic}         显示帮助
-? ${topic}         显示帮助
-help ${topic}      显示帮助
--help ${topic}     显示帮助
-version            显示版本
-buildconf          显示构建配置
-formats            显示可用的格式
-muxers             显示可用的复用器
-demuxers           显示可用的解复用器
-devices            显示可用的音视频输入输出设备
-codecs             显示可用的编解码器
-decoders           显示可用的解码器
-encoders           显示可用的编码器
-bsfs               显示可用的比特流滤镜
-protocols          显示可用的协议
-filters            显示可用的滤镜
-pix_fmts           显示可用的像素格式
-layouts            显示标准的音频输出声道布局
-sample_fmts        显示可用的音频采样格式
-dispositions       显示可用于控制媒体文件行为的标志
-colors             显示可用的颜色编码标准名称

registros e informes de ffprobe

-loglevel loglevel  设置日志级别
-v loglevel         设置日志级别
-report             生成一个名为ffprobe-${date}-${time}.log的报告文件。

opciones principales de ffprobe

-show_frames  muestra información del marco

-show_frames es un parámetro de comando de uso común que se utiliza para mostrar información detallada sobre cada cuadro de video o audio del archivo multimedia de entrada, incluido el tipo de cuadro, marca de tiempo, duración, ancho, alto, identificación del codificador y muchos otros datos. A continuación se muestra un ejemplo que utiliza el comando ffprobe -show_frames:

ffprobe -i input.mp4 -show_frames

检查MP4文件中是否包含B帧

ffprobe -i input.mp4 -show_frames | grep "pict_type=B"

-show_data          show packets data
-show_data_hash     show packets data hash
-show_error         show probing error
-show_format        show format/container info
-show_entries entry_list  show a set of specified entries
-show_log           show log
-show_packets       show packets info
-show_programs      show programs info
-show_streams       显示流信息
-show_chapters      show chapters info
-count_frames       count the number of frames per stream
-count_packets      count the number of packets per stream
-show_program_version  show ffprobe version
-show_library_versions  show library versions
-show_versions      show program and library versions
-show_pixel_formats  show pixel format descriptions
-show_optional_fields  show optional fields
-show_private_data  show private data
-private            same as show_private_data

opciones avanzadas de ffprobe

-read_intervals ${read_intervals} especifica el intervalo de tiempo que se leerá

El parámetro -read_intervals se puede utilizar para especificar el intervalo de tiempo que se leerá.

Este parámetro acepta una lista de intervalos de tiempo, cada intervalo de tiempo consta de dos marcas de tiempo separadas por comas. Por ejemplo, -read_intervals 0:10,20:30 significa que es necesario leer el contenido del segundo al décimo segundo y del segundo al vigésimo segundo al 30 segundo del archivo.

El uso del parámetro -read_intervals puede reducir efectivamente el tiempo y el consumo de recursos de ffprobe al leer archivos multimedia y evitar análisis innecesarios. Es especialmente útil para archivos multimedia de gran tamaño, ya que mejora la velocidad y la eficiencia del procesamiento.

 -select_streams ${stream_specifier} selecciona la secuencia especificada

Este parámetro puede aceptar múltiples opciones de parámetros, por ejemplo:

  • Opción v: seleccionar transmisión de video
  • Opción a: seleccionar transmisión de audio
  • Opciones: seleccionar secuencia de subtítulos

Por ejemplo, use el siguiente comando para seleccionar todas las transmisiones de video y audio en un archivo MP4:

ffprobe -i entrada.mp4 -select_streams v:a

Seleccione la primera transmisión de video y la segunda transmisión de audio

ffprobe -i input.mp4 -select_streams v:0,a:1

-max_alloc ${bytes} 设置单个内存分配块的最大尺寸
-cpuflags ${flags}  强制特定的CPU标志(用逗号分隔的特性,如:mmx,sse,avx)
-cpucount ${count}  强制指定使用的CPU逻辑核心个数
-hide_banner        不显示程序广告
-sources device     list sources of the input device
-sinks device       list sinks of the output device
-f format           强制指定文件格式,不根据文件扩展名猜测。
-unit               show unit of the displayed values
-prefix             use SI prefixes for the displayed values
-byte_binary_prefix  use binary prefixes for byte units
-sexagesimal        use sexagesimal format HOURS:MM:SS.MICROSECONDS for time units
-pretty             prettify the format of displayed values, make it more human readable
-print_format format  set the output printing format (available formats are: default, compact, csv, flat, ini, json, xml)
-of format          alias for -print_format
-sections           打印节区结构和节区信息,然后退出
-bitexact           force bitexact output
-i ${input_file}    读取指定文件
-o ${output_file}   写入到指定文件
-print_filename ${print_file} 重载打印的输入文件名
-find_stream_info   读取并解码流以用启发式方法填充缺失的信息

Supongo que te gusta

Origin blog.csdn.net/bigwave2000/article/details/132498129
Recomendado
Clasificación