[Resumen] Ffplay detallado de la herramienta de línea de comandos FFMPEG
Detailed Ffplay Ffmpeg Command Line Tool
Tabla de contenido
3.3.7 título de la ventana window_title
3.4 Opciones avanzadas Opciones principales
3.4.6 -codec: media_specifier codec_name
3.4.7 -acodec nombre_decodificador
3.4.8 -scodec nombre_decodificador
3.4.9 -vcodec nombre_decodificador
3.4.10 -vst especificador_flujo
3.4.11 -astor especificador_flujo
3.4.12 -sst especificador_corriente
4 Control de teclas durante la reproducción Durante la reproducción
ffplay es un reproductor multimedia simple y portátil para ffmpeg, que utiliza la biblioteca ffmpeg y la biblioteca SDL. La mayoría de las veces se usa para probar la API de ffmpeg.
3 opciones
Todas las opciones numéricas, si no se especifica lo contrario, aceptan una cadena para reemplazar el número como entrada, generalmente seguida de una unidad SI, como 'K', 'M', 'G'.
Si aparece 'i' después de la unidad SI, el tamaño del número se interpretará como basado en 1024 en lugar de 1000. Si aparece 'B' después de la unidad SI, entonces el valor se multiplicará por 8. 'KB', 'MiB' , 'G' y 'B' aparecerán como sufijos digitales.
Las opciones sin parámetros son opciones bool y los parámetros relacionados se establecerán en verdadero. Los parámetros relacionados se pueden establecer en falso agregando un 'no' delante de la opción correspondiente. Por ejemplo, el uso de la opción '-nofoo' hará que el parámetro establecido por la opción '-foo' sea falso.
3.1 Especificadores de flujo
Se pueden aplicar algunas opciones a cada flujo. El especificador de flujo se utiliza para especificar exactamente a qué flujo se aplica la opción.
El especificador de flujo es generalmente una cadena que sigue a las opciones, separadas por ':'. Por ejemplo, '-codec: a: 1 ac3' contiene el especificador de flujo a: 1, que coincide con el segundo flujo de audio. Entonces, la función es usar el códec ac3 para el segundo flujo de audio.
Un especificador de transmisión puede hacer coincidir varias transmisiones, por lo que se pueden aplicar opciones a estas múltiples transmisiones. Por ejemplo, el especificador de transmisión en '-b: a 128k' coincide con todas las transmisiones de audio.
Un especificador de flujo vacío coincide con todos los flujos. Por ejemplo, -codec copy o -codec: copy coincidirá con todas las secuencias.
Posibles formatos para el especificador de flujo:
- stream_index coincide con el número de secuencia de la secuencia. Por ejemplo, -threads: 1 4 establecerá el número de subprocesos que procesan el segundo flujo en 4. Si stream_index se usa para el parámetro adicional del especificador, entonces se seleccionará el flujo con el número de secuencia correspondiente que coincida
- stream_type [: additional_stream_specifier] stream_type se refiere a: 'a' para el tipo de transmisión de audio, 's' para el tipo de transmisión de subtítulos, 'd' para el tipo de transmisión de datos, 't' para el tipo adicional y 'v' o 'V' para el video tipo de transmisión, la 'v' pequeña coincide con todas las transmisiones de video, la 'V' grande solo coincide con imágenes no adjuntas, miniaturas de video y carátulas artísticas. Cuando se usa additional_stream_specifier, coincidirá con un solo flujo del mismo tipo: índice. Si no se utiliza additional_stream_specifier, coincidirá con todos los flujos del mismo tipo.
- p: program_id [: additional_stream_specifier] coincide con la secuencia correspondiente a la identificación del programa.
- #stream_id o i: stream_id El flujo coincidente pasa el ID del flujo (como PID en el contenedor MPEG-TS)
- m: clave [: valor] La secuencia que contiene el valor especificado en la etiqueta correspondiente (clave) en los metadatos de la secuencia coincidente. Si no se proporciona el valor, haga coincidir todas las secuencias que contengan la etiqueta especificada
- u Para hacer coincidir las transmisiones con las configuraciones disponibles, se debe definir un códec y se debe proporcionar información básica como las dimensiones del video o la frecuencia de muestreo de audio.
Tenga en cuenta que la coincidencia de meatdata en ffmpeg solo funcionará correctamente para los archivos de entrada.
3.2 Opciones genéricas
Ver la sección de opciones generales documentación ffplay así como también [Resumen] Explicación detallada de ffprobe de la herramienta de línea de comandos FFMPEG
3.3 Opciones principales
3.3.1 -x ancho
func: forzar ancho mostrado
ejemplo: La resolución del video 1.mp4 es de 1280x720. Intente establecer el ancho en 500 1280 1500 respectivamente, el video se muestra a continuación:
ffplay -i 1.mp4 -x 500
ffplay -i 1.mp4 -x 1280
ffplay -i 1.mp4 -x 1500
En el caso de solo configurar el ancho, el ancho del video se muestra de acuerdo con el tamaño establecido, y el video se escalará en consecuencia para mantener la pantalla de relación de aspecto DAR 16: 9.
3.3.2 -y height
func: fuerza mostrada altura
ejemplo: De acuerdo con la lógica del parámetro -x, cuando solo se establece el parámetro -y, el parámetro -y se establece en 500, 720, 900 respectivamente, y la conclusión extraída es similar a 1.1.1, por lo que no se producirá el mismo efecto ser utilizado aquí Publique imágenes para ahorrar espacio.
Nota: intente establecer -x -y al mismo tiempo para ver qué imagen se generará
Parámetros de prueba: la relación de aspecto es mayor que la relación de aspecto original, la relación de aspecto es igual a la relación de aspecto original y la relación de aspecto es menor que la relación de aspecto original.
ffplay -i 1.mp4 -x 1000 -y 300 -título_ventana '1000x300'
ffplay - i 1.mp4 -x 640 -y 360 -título_ventana '640x360'
ffplay - i 1.mp4 -x 640 -y 500 -título_ventana '640x500'
PD: De acuerdo con este conjunto de datos de prueba, el tamaño de la ventana se mostrará de acuerdo con el tamaño especificado por -x -y, pero si la relación entre los dos no es proporcional al ancho y alto del video original, entonces Habrá bordes izquierdo y derecho, o negros en la parte superior e inferior, en el medio. El video seguirá mostrándose normalmente de acuerdo con la relación que se muestra en DAR (relación de aspecto de la pantalla).
3.3.3 -s tamaño
func: establecer el tamaño del marco (WxH o abreviatura), necesario para videos que no contienen un encabezado con el tamaño del marco como YUV sin formato. Esta opción ha quedado obsoleta en favor de las opciones privadas, intente -video_size.
ejemplo: Este comando establece el ancho y el alto al mismo tiempo, pero el resultado de la ejecución es sorprendente, lo que sugiere que el parámetro -s ha quedado obsoleto, utilice -video_size y luego envíe el mensaje de que el parámetro -vide_size no existe.
Pero al buscar ffplay -h output se puede encontrar -video_size, como se muestra en la siguiente figura:
Así que ejecuté ffplay -i 1.mp4 -video_size 1200x400, y todavía no pude encontrar -video_size. ¿Es esto un error?
3.3.4 -fs
fuc: Comience en modo de pantalla completa.
ejemplo: La ventana de video se mostrará en pantalla completa y la barra de título del formulario se ocultará. Si la relación de aspecto del monitor de la computadora no coincide con el DAR del video en sí, también aparecerán bordes negros en el formulario. Mi computadora es un monitor 16: 9 y el DAR del archivo multimedia de prueba 1.mp4 también es 16: 9, por lo que este video se muestra en pantalla completa sin bordes negros. Como se muestra abajo
3.3.5 - izquierda x pos
fuc: Establezca la posición x para la izquierda de la ventana (la predeterminada es una ventana centrada).
ejemplo: Establezca la coordenada horizontal inicial de la ventana del reproductor en la pantalla de la computadora, en píxeles.
3.3.6 -top y pos
fuc: establece la posición y para la parte superior de la ventana
ejemplo: Establezca la coordenada vertical inicial de la ventana del reproductor en la pantalla de la computadora en píxeles.
Ejemplo: ffplay -i 1.mp4 -left 100 -top 100
La posición de visualización inicial de la ventana del reproductor se mostrará a una distancia de 100 píxeles desde la esquina superior izquierda de la pantalla. No hay mucho de qué hablar aquí, de hecho, se trata de controlar la posición de un formulario en la pantalla de la computadora. Cuando -left -top se establece en un valor diferente, hará que el formulario se muestre de forma incompleta en la pantalla o no se muestre en absoluto. Las personas que han desarrollado interfaces son fáciles de entender, por lo que no las repetiré aquí.
3.3.7 título de la ventana window_title
func: Establecer el título de la ventana (el nombre predeterminado es el nombre del archivo de entrada).
ejemplo: ffplay -i 1.mp4-título_ventana '600x300'
Establezca el nombre para mostrar de la barra de título del formulario. Si no se establece, la barra de título del formulario predeterminada es el nombre del archivo. Ver 3.3.2 para el efecto
3.3.8 -nodisp
func: deshabilitar la pantalla gráfica
ejemplo: ffplay -i 1.mp4 -nodisp
La ventana estará oculta, pero el sonido se puede reproducir normalmente.
3.3.9 -nofrontera
func: ventana sin bordes
ejemplo: ffplay -i 1.mp4 -noborder
El formulario se muestra sin bordes, el efecto es como se muestra a continuación
3.3.10 -ss pos
func: Busque pos. Tenga en cuenta que en la mayoría de los formatos no es posible buscar exactamente, por lo que ffplay
buscará al punto de búsqueda más cercano a la pos.
ejemplo: ffplay -i 1.mp4 -ss 12
Salte a la posición pos para comenzar a jugar, unidad s. Sin embargo, dado que la mayoría de los formatos de archivo no pueden admitir saltos precisos, ffplay saltará al punto de acceso aleatorio (es decir, la posición del fotograma clave) más cercano a pos. Por ejemplo, el ejemplo quiere saltar a 12 segundos para comenzar a jugar, pero de hecho, el tiempo de reproducción es 10.11 segundos, como se muestra en el área rectangular roja en la esquina inferior izquierda.
Utilice la herramienta Elecard Stram Eye para ver este archivo de video, encontrará que hay un fotograma clave en la posición de 10.00 s, hay un fotograma clave en la posición de 15 s, el más cercano a 12 es el fotograma clave de 10 s, por lo que saltará al inicio del fotograma clave de 10s Play. De hecho, si la posición de salto no supera los 15, siempre empezará a jugar desde los 10s, y si supera los 15, empezará a jugar desde los 15s.
3.3.11 -t duración
func: reproducir segundos de 'duración' de audio / video
ejemplo: ffplay -i 1.m4 -ss 14 -t 10
Generalmente se usa con ss, lo que significa que comienza a reproducirse desde la posición 14 y termina en 10. Pero sabemos que la inexactitud de ss hace que el video comience a reproducirse desde los 10, por lo que el video se reproduce hasta el final de los 24 esperados. ¿O realmente está jugando el reloj de los 10 y terminando en la posición de los 20? Ven, veamos el efecto
Comienza la reproducción de video
、
Fin de la reproducción de video
Nota: A partir de la operación real, se encontrará que la hora de inicio de la reproducción de video calculará la hora de finalización de la reproducción de video de acuerdo con el parámetro -t, y la reproducción se detendrá en este momento en lugar de calcular realmente cuánto tiempo ha estado en reproducción. el proceso de reproducción y luego decidir si reproducirlo de acuerdo con la duración de reproducción establecida. detener.
3.3.12 -volumen volumen
func: Configura el volumen de inicio. 0 significa silencio, 100 significa que no hay reducción de volumen ni amplificación. Los valores negativos se tratan como 0, los valores superiores a 100 se tratan como 100.
ejemplo: ffplay -i 1.mp4 -volumen 50
Establezca el volumen inicial al reproducir, esto parece no tener nada que decir, pero debe tenerse en cuenta que no importa cuán grande sea este valor, el volumen máximo del reproductor está predeterminado en el volumen del sistema.
el volumen está ajustado a 2
el volumen está ajustado a 100
3.3.13 -an
func: desactivar el audio
ejemplo: ffplay -i 1.mp4 -an
El video se reproduce normalmente, no hay sonido y el efecto es el mismo que -volumen 0, pero el real es inconsistente. -an no debe decodificar el audio, y -volumen 0 los datos de audio deben continuar decodificándose.
3.3.14 -vn
func: deshabilitar video
ejemplo: ffplay -i 1.mp4 -vn
El audio se reproduce normalmente, el video no se decodifica, pero la ventana de reproducción seguirá apareciendo y la interfaz se representa de la siguiente manera
Extraño ~~ ¿Por qué no es negro puro? ¿Qué muestra esto? Consulte la explicación de -showmode.
3.3.15 -sn
func: deshabilitar los subtítulos
ejemplo: ffplay -i 1.mp4 -sn
Desactiva los subtítulos.
3.3.16 recuento de bucles
func: Repite los tiempos de reproducción de películas. 0 significa para siempre.
ejemplo: ffplay -i 1.mp4 -loop 2 -ss 10 -t 5
El bucle se utiliza para controlar el número de bucles. El efecto del comando de apelación es comenzar a reproducir desde los 10 del video, reproducir durante 5 segundos y luego comenzar a reproducir desde los 10 segundos y finalizar la reproducción después de los 5 segundos.
3.3.17 -bytes val
func: buscar por bytes 0 = desactivado 1 = activado -1 = automático
ejemplo: ffplay -i 1.mp4 -bytes 1
Este parámetro se utiliza para controlar si puede buscar según el número de bytes. 0 significa no, 1 significa sí y -1 significa automático. No está claro qué significa auto.
Nota: Los archivos mp4 no se pueden buscar por bytes, por lo que cuando la búsqueda de bytes está habilitada, presione las teclas izquierda y derecha, ffplay mostrará el siguiente mensaje de error '1.mp4: error al buscar'.
3.3.18 modo show mode
func: “Configure el modo de presentación que se utilizará. Los valores disponibles para el modo son: '0, video' muestra el video '1, las ondas' muestran las ondas de audio '2, rdft' muestran la banda de frecuencia de audio usando RDFT (Transformada de Fourier Real Discreta (Inversa)). El valor predeterminado es 'video', si el video no está presente o no se puede reproducir, se selecciona automáticamente 'rdft'. Puede alternar interactivamente entre los modos de presentación disponibles presionando la tecla w '.
ejemplo: -showmode Esta opción puede controlar el modo de visualización del reproductor. -showmode 0 significa mostrar video, -showmode 1 significa mostrar forma de onda de audio, -showmode 2 significa mostrar ancho de banda de audio (transformada discreta de Fourier en tiempo real). El video se muestra de forma predeterminada. Cuando la transmisión de video no existe o no se puede mostrar, cambiará automáticamente para mostrar rdft (esta es la razón por la que la interfaz del reproductor no se muestra en negro cuando se usa -vn). Cuando ffplay reproduce un video, puede controlar el cambio de modo de visualización presionando la tecla w.
ffplay -i 1.mp4 -x 640 -y 360 -showmode 0
ffplay -i 1.mp4 -x 640 -y 360 -showmode 1
ffplay -i 1.mp4 -x 640 -y 360 -showmode 2
3.3.19 -f fmt
func: formato de fuerza
ejemplo: ffplay -i 1.mp4 -f mov
Este parámetro está obligado a analizar el archivo de acuerdo con el formato fmt. Si se analiza de acuerdo con el formato de adaptación 1.MP4 mov m4a 3gp 3g2 mj2, el archivo se puede reproducir normalmente.
Si se analiza de acuerdo con el formato flv, mpegts, informará diferentes mensajes de error:
3.3.20 -seek_interval
func: Configure el intervalo personalizado, en segundos, para buscar usando las teclas izquierda / derecha. El valor predeterminado es 10 segundos.
ejemplo: Esta opción se usa para controlar el intervalo de salto cuando se reproduce el video, y los botones izquierdo y derecho controlan el salto. El valor predeterminado es 10 segundos, es decir, haga clic con el botón derecho y el video salta a la posición después de 10 segundos. Sin embargo, en el proceso de medición real, se encuentra que la versión 4.1 de ffplay no tiene esta opción. Es posible que se hayan eliminado las opciones relevantes en esta versión y que la documentación de ayuda de ffplay no se haya modificado.
3.3.21 -vf filtergraph
func: Cree el gráfico de filtro especificado por gráfico de filtro y utilícelo para filtrar la transmisión de video.
filtergraph es una descripción del filtergraph que se aplicará a la transmisión y debe tener una sola entrada de video y una sola salida de video. En el gráfico de filtro, la entrada se asocia a la etiqueta in
y la salida a la etiqueta out
. Consulte el manual de filtros ffmpeg para obtener más información sobre la sintaxis del gráfico de filtro.
Puede especificar este parámetro varias veces y recorrer los gráficos de filtro especificados junto con los modos de presentación presionando la tecla w.
ejemplo: ffplay -i 1.mp4 -vf 'corte = 100: 100: 100: 100' -vf 'corte = 200: 200: 200: 200'
De acuerdo con la explicación de la opción -vf, el resultado debe ser: mostrar el video en la posición (100, 100) ancho y alto de 100 -> presione la tecla w para cambiar para mostrar el ancho de la posición (200, 200) y altura de 200 video (corte El filtro es un video cortado) -> Presione la tecla w para cambiar a la forma de onda de audio -> Presione la tecla w para cambiar al espectro de audio (RDFT) -> Bucle. La prueba real es: mostrar el video en la posición (100, 100) de ancho y alto de cada video de 100 -> sin cambios -> presione la tecla w para cambiar a la forma de onda de audio -> presione la tecla w para cambiar al espectro de audio (RDFT) -> bucle. De hecho, el efecto del segundo filtro no está presente, ¿puede ser un error? ? ? ?
3.3.22 -de filtergraph
func: filtergraph es una descripción del filtergraph que se aplicará al audio de entrada. Utilice la opción '-filtros' para mostrar todos los filtros disponibles (incluidas las fuentes y los receptores).
ejemplo: No se como presentarlo ~~
3.3.23 -i input_url
func: Leer input_url.
ejemplo: Especifique la URL del archivo de entrada. El archivo de entrada puede ser un archivo local, una tubería o un flujo de red. Por ejemplo, ffplay -i rtmp: //wangsu.xescdn.com/live_bak/x_3_0_0 es el flujo de red en tiempo real de rtmp.
3.4 Opciones avanzadas Opciones principales
3.4.1 -autoexit
func: Salga cuando termine de reproducirse el video.
ejemplo: ffplay -i 1.mp4 -t 5 -autoexit
Una vez que este comando controla la reproducción del video durante 5 segundos, la ventana de reproducción se cierra automáticamente. Tenga en cuenta que una vez finalizada la reproducción de ffplay, el valor predeterminado es permanecer en el último fotograma.
3.4.2 -exitonkeydown
func: salir con la tecla abajo
ejemplo: ffplay -i 1.mp4 -exitonkeydown
Este comando hace que el formulario de reproducción de video ffplay salga después de presionar cualquier tecla en el teclado
3.4.3 -exitonmousedown
func: salir con el mouse hacia abajo
ejemplo: ffplay -i 1.mp4 -exitonmousedown
Este comando hace que el formulario de reproducción de video ffplay salga de la reproducción cuando se presiona el botón izquierdo del mouse, el desplazamiento central (no se desplaza, pero se presiona) y el botón derecho.
3.4.4 -autorotación
func: rotar video automáticamente
ejemplo: ffplay -i 1.mp4 -autorotate
No hay ningún efecto especial, ¿por qué? Mira la explicación de este parámetro en la documentación de ffplay:
“Gire automáticamente el video de acuerdo con los metadatos del archivo. Habilitado de forma predeterminada, use -noautorotate para deshabilitarlo '.
La idea principal es: el video determinará el efecto de rotación automática de acuerdo con la información de metadatos del archivo, es decir, si los metadatos del archivo no contienen información de rotación de video, la configuración de este parámetro no tiene ningún efecto. Si hay información de rotación, este parámetro hará que el video gire automáticamente de acuerdo con la información en los metadatos al reproducir el video. Por supuesto, este parámetro tendrá efecto de forma predeterminada sin configurar este parámetro. Para que sea ineficaz, puede utilizar el parámetro -noautorotate.
1. Para probar este efecto, primero usamos ffmpeg -i 1.mp4 -metadata: s: v rotate = '90 '-codec copy 2.mp4, y obtenemos un video rotado 2.mp4
Como se muestra arriba, la rotación del archivo 2.mp4 es 270, obviamente configuré 90, ¿es porque rotate = '90 'hace que el video gire 90 grados en sentido antihorario, lo que equivale a 270 grados en el sentido de las agujas del reloj?
2. Use ffplay -i 2.mp4 -x 360 -y 640 para ver la rotación del video durante la reproducción: Efectivamente, el video se gira 90 grados en sentido antihorario ~, y tenga en cuenta que el video en sí es 1280x720, y el ancho y la altura se reemplaza después de la rotación. Configure -x 360 -y 640 para asegurarse de que la escala de la ventana sea consistente con el video sin dejar bordes negros
3. Usando ffplay -i 2.mp4 -x 640 -y 360 -noautorotate, el video se puede reproducir 'correctamente' nuevamente. Tenga en cuenta la diferencia entre -x 640 -y 360 y lo anterior
3.4.5 formato -pix_fmt
func: establecer formato de píxeles
ejemplo: ffplay -i 1.mp4 -pix_fmt yuv420p
La función de este parámetro es 'Establecer formato de píxel. Esta opción ha quedado obsoleta en favor de las opciones privadas, intente -pixel_format. ' Si convierte a chino, se entiende que establece el formato de píxel, pero se ha determinado el formato de píxel en el archivo, ¿la función es seguir este formato para analizar el formato de píxel almacenado en el archivo? El resultado de ejecutar este comando es:
Este es un parámetro que no se comprende. ? ? ? ?
3.4.6 -codec: media_specifier codec_name
func: Forzar una implementación de decodificador específica para el flujo identificado por media_specifier, que puede asumir los valores a
(audio), v
(video) y s
subtitular
ejemplo: ffplay -i 1.mp4 -codec: v h264
Uso obligatorio de la implementación del decodificador h264 para lograr la decodificación del flujo de video 1.mp4.
Primero, use ffprobe -i 1.mp4 -hide_banner para saber que la velocidad de bits de video de este archivo está en formato H.264:
En segundo lugar, usando ffprobe -codecs -hide_banner | busque 'h264', podemos encontrar la implementación actual del decodificador h264 compatible con ffmpeg como h264, h264_qsv, h64_cuvid.
Finalmente, intentamos decodificar usando ffplay -i 1.mp4 -codec: v h264 o ffplay -i 1.mp4 -codec: v h264_qsv o ffplay -i 1.mp4 -codec: v h264_cuvid, y encontramos que los decodificadores h264 y Se utilizaron h264_qsv. Se puede decodificar, pero h264_cuvid no.
h264: decodificación suave de la CPU.
h264_qsv: Intel Quick Sync Video (QSV), que es la tecnología de decodificación de GPU de Intel
h264_cuvid: esta es la tecnología de decodificación de hardware de la tarjeta gráfica nvidia
La razón para encontrar este error en línea es que el controlador de la tarjeta gráfica NVIDIA no es el más reciente. Puede actualizar el controlador de la tarjeta gráfica para resolver este problema. Pero, de hecho, se encuentra que el controlador de la tarjeta gráfica local ya es el último, por lo que no se ha encontrado la razón por la que esta tarjeta n no se puede resolver con dificultad.
3.4. 7 -acodec nombre_decodificador
func: forzar decodificador de audio
3.4.8 -scodec nombre_decodificador
func: forzar decodificador de subtítulos
3.4.9 -vcodec nombre_decodificador
func: forzar decodificador de video
Los tres comandos anteriores son la descomposición de 1.3.3, por lo que no los repetiré aquí.
3.4.10 -vst especificador_corriente
func: seleccione la secuencia de video deseada
ejemplo: ffplay -i 1.mp4 -vst v: 0
Especifique el flujo de video que se decodificará, los otros flujos de bits toman el valor predeterminado y se decodifican normalmente juntos. Nota stream_specifier El formato es v: 0. Si especifica una transmisión que no existe, como 1.mp4 tiene solo una transmisión de video, entonces si especifica la transmisión de video como v: 1, entonces el video no se puede reproducir normalmente, pero las otras transmisiones no son un problema.
3.4.11 -astor especificador_flujo
func: seleccione la secuencia de audio deseada
3.4.12 -sst especificador_corriente
func: seleccione la secuencia de subtítulos deseada
Igual que 3.4.10, no entraré en detalles aquí, solo preste atención al audio y los subtítulos stream_specifier El formato es a: 0, s: 0, si hay 2 flujos de audio, entonces a: 1 también es válido.
3.4.13 -rápido
func: optimizaciones que no cumplen con las especificaciones
ejemplo: Este comando ha verificado la información durante mucho tiempo y no encontró una explicación adecuada. Solo se puede ver por el significado literal: 'optimización de compilación no estándar'. A qué se refiere exactamente depende del análisis del código fuente. ¿Has visto el código fuente para llenar este agujero? ? ? ? ?
3.4.14 -genptos
func: generar pts
ejemplo: ffplay -i 1.mp4 -genpts
El comando literalmente significa generar pts, pero no es diferente de no agregar este parámetro. El tiempo de reproducción es el primer parámetro generado por ffplay. ¿Has visto el código fuente para llenar este agujero? ? ? ? ?
3.4.15 -drp
func: permite que el decodificador reordene los pts 0 = desactivado 1 = activado -1 = automático
ejemplo: ¿Has visto el código fuente para llenar este agujero? ? ? ? ?
3.4.16 -tipo de sincronización
func: “Configure el reloj maestro en audio (type=audio
), video (type=video
) o externo (type=ext
). El valor predeterminado es audio. El reloj maestro se utiliza para controlar la sincronización de audio y video. La mayoría de los reproductores multimedia utilizan audio como reloj maestro, pero en algunos casos (transmisión o transmisión de alta calidad) es necesario cambiar eso. Esta opción se utiliza principalmente con fines de depuración '.
ejemplo: Configure el reloj maestro para que sea el reloj de audio (type=audio
), el reloj de video (type=video
) o el reloj externo (type=ext
). El reloj principal es principalmente para controlar la sincronización de la reproducción de audio y video. La mayoría de los reproductores utilizan el reloj de audio como reloj principal, pero en algunos casos, como la transmisión o la transmisión de alta calidad, se utilizan otros métodos de sincronización. El parámetro -sync de ffplay se utiliza principalmente con fines de depuración.
3.4.17 -encuadre
func: Elimina fotogramas de video si el video no está sincronizado. Habilitado de forma predeterminada si el reloj maestro no está configurado para video. Use esta opción para habilitar la caída de fotogramas para todas las fuentes de reloj maestro, use -noframedrop para deshabilitarla.
ejemplo: ffplay -i 1.mp4 -framedrop Cuando el audio y el video no están sincronizados, el cuadro de video se eliminará. Cuando el reloj principal no es el reloj de video, esta función está habilitada por defecto. La función de este parámetro es habilitar la función de descartar cuadros de video cuando no están sincronizados independientemente del tipo de reloj principal. Puede utilizar -noframedrop para desactivar la función de descartar fotogramas de vídeo cuando el audio y el vídeo no están sincronizados.
3.4.18 -infbuf
func: No limite el tamaño del búfer de entrada, lea tantos datos como sea posible de la entrada lo antes posible. Habilitado de forma predeterminada para transmisiones en tiempo real, donde los datos pueden descartarse si no se leen a tiempo. Use esta opción para habilitar búferes infinitos para todas las entradas, use -noinfbuf para deshabilitarlo.
ejemplo: ffplay -i 1.mp4 -infbuf No limita el tamaño del búfer de entrada, deje que el reproductor lea los datos lo antes posible. Al reproducir una transmisión en tiempo real, como rtmp: // ip: puerto / nombre de la aplicación / nombre de la transmisión, esta función se activará de forma predeterminada. Si este no es el caso, los datos obtenidos estarán desactualizados porque los datos no son en tiempo real. tirar a la basura. Esta opción puede hacer que cada área de búfer de entrada sea ilimitada, puede usar -noinfbuf para desactivar esta función.
3.4.19 -find_stream_info
func: leer y decodificar los flujos para completar la información faltante con heurística
ejemplo: ffplay -i 1.mp4 -find_stream_info
No vi si hay algún cambio en este parámetro con o sin, ¿esperar a ver el código fuente para llenar este hueco? ? ? ? ?
3.4.20-estadísticas
func: Imprima varias estadísticas de reproducción, en particular, muestre la duración de la transmisión, los parámetros del códec, la posición actual en la transmisión y la deriva de sincronización de audio / video. Está activado de forma predeterminada, para deshabilitarlo explícitamente debe especificar -nostats
.
ejemplo: Imprima algunos resultados estadísticos de la reproducción, especialmente la longitud del flujo de visualización, los parámetros del codificador, la posición de reproducción actual en el flujo y el valor de compensación de sincronización de audio y video. Esta función está habilitada de forma predeterminada, si desea mostrar cerrado, use el parámetro -nostats
4 Control de teclas durante la reproducción Durante la reproducción
botón | efecto |
q, ESC | Renunciar. |
F | Alternar pantalla completa. |
p, SPC | Pausa. |
metro | Alternar silencio. |
9, 0 | Disminuir y aumentar el volumen respectivamente. |
/, * | Disminuir y aumentar el volumen respectivamente. |
a | Ciclo de canal de audio en el programa actual. |
v | Ciclo de canal de video. |
t | Ciclo de canal de subtítulos en el programa actual. |
c | Programa de ciclo. |
en | Ciclo de filtros de video o modos de presentación. |
s | Pase al siguiente cuadro. Haga una pausa si la transmisión aún no está en pausa, pase al siguiente cuadro de video y haga una pausa. |
izquierda derecha | Busque hacia atrás / adelante 10 segundos. |
abajo / arriba | Busque hacia atrás / adelante 1 minuto. |
página abajo / página arriba | Busque el capítulo anterior / siguiente. o si no hay capítulos Busque hacia atrás / adelante 10 minutos. |
clic derecho del mouse | Busque el porcentaje en el archivo correspondiente a la fracción de ancho. |
doble clic izquierdo del mouse | Alternar pantalla completa. |