Found the best documentation about ffmpeg outside ffmpeg.

https://github.com/leandromoreira/ffmpeg-libav-tutorial#chapter-1---syncing-audio-and-video

There is well explained the PTS definition very very well. Used the calculations from that readme and set this:

```
        packet->pts = dvCodecCtx->time_base.den / av_q2d(dvCodecCtx->framerate) *  frameCounter++;

```

Now the input stream can restart, get wrong PTS, TS, whatever that dont broke my output stream timing.

On 1/2/23 16:39, Luis Felipe Domínguez Vega via Libav-user wrote:
Hi, I'm trying to create in C a basic live transcoder that use my NVidia for hardware transcoding. I trying to set the decoded frame PTS to my own because the source of the video is a UDP stream and can be restarted. So i want manage by myself the PTS value to avoid a restart of that value.

Really i dont found a good documentation about to how manage and create from 0 that PTS value.

Right now iw geting the frame from decoder, "modify ->pts", and send to encoder, only for testing i get a variable with "frame" counter that start at 0, tested this:

```
frame->pts = frameCounter++
```

Of course this, after video encoder completed, drop so many frames on the player (codec is h264 at input and output). So i think that i dont geting the idea behind pts.

_______________________________________________
Libav-user mailing list
Libav-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/libav-user

To unsubscribe, visit link above, or email
libav-user-requ...@ffmpeg.org with subject "unsubscribe".
_______________________________________________
Libav-user mailing list
Libav-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/libav-user

To unsubscribe, visit link above, or email
libav-user-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to