Whenever I am muxing video stream in FFMPEG encoded with NVENC I receive the following message:
[mp4 @ 0000023836b82040] Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly
I am setting timestamp on each encode input:
NV_ENC_PIC_PARAMS picParams = {};
picParams.version = NV_ENC_PIC_PARAMS_VER;
picParams.pictureStruct = NV_ENC_PIC_STRUCT_FRAME;
const double conversionFactor = 90000.0 / 10000000.0;
const int64_t ffmpegTimestamp = static_cast<int64_t>(timestamp * conversionFactor);
picParams.inputTimeStamp = picParams.frameIdx == 0? 0:ffmpegTimestamp;
//the rest of params...
I tried different timestamp resolutions, nothing. FFMPEG doesn’t catch those.
What is the correct way of doing that?