es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

ffmpeg – transcoding.c – ¿Por qué se descarta el último paquete?

Usando ejemplos de transcoding.c de ffmpeg. (https://github.com/FFmpeg/FFmpeg/blob/release/4.1/doc/examples/transcoding.c)

Esto es leído por ffprobe.exe (ffprobe.exe -i test.mp4 -show_packets)
“`
[PAQUETE]
tipo_codec=video
índice_stream=0
pts=162000
pts_tiempo=1.800000
dts=162000
dts_tiempo=1.800000
duración=18000
duración_tiempo=0.200000
tamaño=238317
posición=2285176
banderas=__
[/PAQUETE]
[PAQUETE]
tipo_codec=video
índice_stream=0
pts=180000
pts_tiempo=2.000000
dts=180000
dts_tiempo=2.000000
duración=18000
duración_tiempo=0.200000
tamaño=24111
posición=2523493
banderas=_D

El último paquete tiene la bandera AVPKTFLAG_DISCARD.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Según la salida de ffprobe proporcionada, el último paquete en el video test.mp4 tiene la bandera AV_PKT_FLAG_DISCARD. Esta bandera indica que el paquete debe ser descartado o ignorado durante la transcodificación. Es probable que este paquete contenga datos corruptos o redundantes que no son necesarios para el video de salida. Para garantizar la mejor calidad de video de salida, el proceso de transcodificación debería tener en cuenta cualquier paquete marcado y descartarlo de manera adecuada. El ejemplo transcoding.c de ffmpeg se puede utilizar como referencia para implementar esta funcionalidad.

Comments are closed.