Análisis de ffplay (desde el inicio hasta la operación de lectura del hilo)

"Análisis de la estructura de datos de
ffplay " "Análisis de ffplay (operación del hilo de decodificación de video)"
"Análisis de ffplay (operación del hilo de decodificación de audio)"

Análisis del funcionamiento de ffplay desde el inicio hasta la lectura del hilo

1. Análisis:

1. main (): inicializa ffmpeg

Inserte la descripción de la imagen aquí

2. main (): procesamiento de análisis de los parámetros de la línea de comandos de ffplay

Inserte la descripción de la imagen aquí

3. main (): inicialización de SDL

Inserte la descripción de la imagen aquí

4. main (): inicializa el paquete de descarga del decodificador

Inserte la descripción de la imagen aquí

5. main (): ventana de creación de SDL

Inserte la descripción de la imagen aquí

6, main (): abre varias secuencias y comienza a leer hilos de datos

Inserte la descripción de la imagen aquí

7. stream_open (): asigne el nombre del VideoState para guardar el archivo

Inserte la descripción de la imagen aquí

8. stream_open (): Inicializa la cola de tramas (después de la decodificación) / cola de paquetes (antes de la decodificación) e inicializa las variables de condición utilizadas para controlar el sueño del hilo de lectura

Inserte la descripción de la imagen aquí

9. stream_open (): inicializa el reloj e inicializa el volumen

Inserte la descripción de la imagen aquí

10: stream_open (): comienza a leer el hilo de datos

Inserte la descripción de la imagen aquí

11: read_thread (): inicializa el valor de índice predeterminado de cada flujo, inicializa la función de devolución de llamada de interrupción de lectura ffmpeg

Inserte la descripción de la imagen aquí

12. read_thread (): operación de archivo abierto (avformat_open_input (), avformat_find_stream_info ())

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

13. read_thread (): procesa si especificar la hora de inicio de la reproducción y si se trata de datos de transmisión en tiempo real

Inserte la descripción de la imagen aquí

14. read_thread (): establece el índice de transmisión de cada transmisión

Inserte la descripción de la imagen aquí

15. read_thread (): establece el ancho y alto de la ventana de visualización

Inserte la descripción de la imagen aquí

16, read_thread (): abre cada operación de flujo

Inserte la descripción de la imagen aquí

17. read_thread (): el búfer de configuración de juicio de flujo en tiempo real no está limitado

Inserte la descripción de la imagen aquí

18. read_thread (): leer datos cíclicamente (determinar si solicitar salir, si suspender la operación de flujo de red)

Inserte la descripción de la imagen aquí

19. read_thread (): leer datos cíclicamente (para determinar si hay una operación de búsqueda)

Inserte la descripción de la imagen aquí

20. read_thread (): lee datos de forma cíclica (para determinar si el video es attachments_pic)

Inserte la descripción de la imagen aquí

21. read_thread (): lee datos cíclicamente (para juzgar si la cola tiene suficientes datos)

Inserte la descripción de la imagen aquí

22. read_thread (): lee datos cíclicamente (para juzgar si la reproducción se ha completado)

Inserte la descripción de la imagen aquí

23. read_thread (): lee datos cíclicamente (ejecuta av_read_frame () para leer datos del marco)

Inserte la descripción de la imagen aquí

24. read_thread (): lee datos de forma cíclica (determina si el fotograma está dentro del rango de reproducción)

Inserte la descripción de la imagen aquí

25. read_thread (): leer datos cíclicamente (procesamiento de salida del hilo)

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/m0_37599645/article/details/112964349
Recomendado
Clasificación