基于 appsrc 帧速率的流水线控制

Flow control in pipeline based of frame rate in appsrc

管道中基于 appsrc 帧速率的流量控制

我想为下面的管道设置帧率,它从 appsrc 获取数据。

流量是:

 appsrc->encoder->mux->udpsink

在 appsrc 中,我有推送缓冲区回调,它不断地将数据推送到管道中。 但是现在,我想根据帧速率来控制流量。 我如何将时间戳设置为 GstBuffer,以便进行流量控制? 或者有没有其他方法可以在 appsrc 中控制流程?

我解决了。

通过使用以下代码。

                buffer->pts = mPts;
                bufferuf->duration = (1.0/framerate)*(1000000000);

                mPts = mPts + buffer->duration;

我认为duration = gst_util_uint64_scale_int (1, GST_SECOND, fps);是更优雅的方式