我是Gstreamer框架的新手,真的需要这个问题的帮助。我正在尝试将webrtc视频从浏览器网络摄像头流到后端系统,我想在后端系统捕获和处理webrtc视频(忽略音频)。当浏览器和后端在同一个系统上时没有问题。当浏览器和后端通过互联网通信时会出现问题。以下是我的Gstream管道线:
appsrc name=appsrc-video is-live=true ! decodebin ! queue ! x264enc tune=zerolatency ! mp4mux ! filesink location=video-output.mp4
后端仅捕获第一帧,之后将抛出以下警告:
0:00:14.171956087 14019 0x55cc9f24d700 WARN x264enc gstx264enc.c:1273:gst_x264_enc_log_callback:<x264enc0> non-strictly-monotonic PTS
0:00:14.208353982 14019 0x55cc9f24d700 WARN x264enc gstx264enc.c:1273:gst_x264_enc_log_callback:<x264enc0> non-strictly-monotonic PTS
0:00:14.252514623 14019 0x55cc9f24d700 WARN x264enc gstx264enc.c:1273:gst_x264_enc_log_callback:<x264enc0> non-strictly-monotonic PTS
0:00:14.284089147 14019 0x55cc9f24d700 WARN x264enc gstx264enc.c:1273:gst_x264_enc_log_callback:<x264enc0> non-strictly-monotonic PTS
0:00:15.280078036 14019 0x55cc9f24d700 WARN x264enc gstx264enc.c:1273:gst_x264_enc_log_callback:<x264enc0> non-strictly-monotonic PTS
0:00:15.281438688 14019 0x55cc9f24d700 WARN x264enc gstx264enc.c:1273:gst_x264_enc_log_callback:<x264enc0> non-strictly-monotonic PTS
我还尝试重新标记帧的时间,但没有成功。
如果有人能指导我如何解决这个问题,我将非常感激。
1条答案
按热度按时间vaqhlq811#
通过使用标识元素重新标记帧的时间戳,设法修复了该问题,如下所示:
从管道获取标识元素并注册回调:
最后重新标记帧