基于 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);
是更优雅的方式
管道中基于 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);
是更优雅的方式