- En términos simples, ¿qué son los valores de pts y dts?
- ¿Por qué son importantes al transcodificar [decodificar-codificar] videos?
¿Qué hace este código en el bit ffmpeg.c, cuál es su propósito?ffmpeg.c ¿Qué son los pts y dts? ¿Qué hace este bloque de código en ffmpeg.c?
01562 ist->next_pts = ist->pts = picture.best_effort_timestamp;
01563 if (ist->st->codec->time_base.num != 0) {
01564 int ticks= ist->st->parser ? ist->st->parser->repeat_pict+1 : ist->st->codec->ticks_per_frame;
01565 ist->next_pts += ((int64_t)AV_TIME_BASE *
01566 ist->st->codec->time_base.num * ticks)/
01567 ist->st->codec->time_base.den;
01568 }
¿Puedes por favor saber qué es un cuadro B, y qué es un cuadro P? – nirvanaswap
@nirvanaswap que en realidad se explica bastante bien aquí https://en.wikipedia.org/wiki/Video_compression_picture_types – Bart
Todavía no entiendo. El flujo debe mostrarse como I B B P, pero como P debe venir antes que B, lo almacenamos como I P B B. Por lo tanto, lo decodificamos en el orden de 1 2 3 4, eso tiene sentido. Pero, ¿no deberíamos presentarlo en el orden de 1 3 4 2? ¿Por qué es 1 4 2 3? Cuando tenemos cuadros B consecutivos, ¿estos fotogramas B se aprovechan de los fotogramas I y P solos, o también usan los fotogramas B uno al lado del otro? – nirvanaswap