PDA

View Full Version : [C - libav - ffmpeg] Errore su PTS - DTS


<Gabrik>
21-12-2016, 19:59
Ciao a tutti,

premetto che l'elaborazione audio/video non è il mio campo, quindi potrei dire un bel pro di castronerie.

Io devo fare un software che sfruttando le librerie fornite da ffmpeg e/o le libav possa ricevere un flusso video rtp, farne la transcodifica e inviarlo sempre in rtp verso un altra destinazione.

Per adesso mi basta che riceva il flusso lo transcodifichi e lo salvi su file.

Veniamo al dunque, riesco a ricevere senza alcun problema il flusso, ma quando provo a fare la transcodifica ho un bel pò di errori dovuti ai PTS e DTS.

Che a quanto ho capito sono i "tempi" di ogni frame in presentazione e decodifica.

Il codice in questione si trova qui -> https://github.com/gabrik/transcoder/blob/libav/transcoder-ng.c#L371

In particolare ho evidenziato la linea che mi porta problemi, perché sembra non riuscire a prendere il "tempo" giusto, se non lo prendo infatti esco dal ciclo, ma anche nel caso riesca ad ottenerlo vengo bloccato dalla funzione che dovrebbe effettivamente fare la codifica

https://github.com/gabrik/transcoder/blob/libav/transcoder-ng.c#L209

Consigli?
Il codice è scritto abbastanza male, e di fretta, adesso a mente fredda vorrei riuscire a capire con voi come far funzionare la cosa.

Grazie in anticipo