gstreamer - 减少 gstreamer 管道延迟
问题描述
我正在将 RTSP 流转换为 HLS,但我得到了大约 30 秒的延迟。有人可以帮我减少它吗?
谢谢指教。这是管道:
gst-launch-1.0 rtspsrc location=rtsp://admin:@192.168.1.27:554/ch0_0.265 ! decodebin ! videoconvert ! video/x-raw ! x264enc ! mpegtsmux ! hlssink location=/somewhere/segment_%05d.ts playlist-location=/somewhere/playlist.m3u8 target-duration=5 max-files=5
解决方案
这种延迟在这里是不可避免的(HLS 不是为低延迟流媒体设计的),您正在创建 5 秒长的 .ts 视频文件。默认情况下,大多数 HLS 播放器会在继续播放之前缓冲 3 个 .ts 文件。这意味着您至少有 15 秒的延迟。
如果您将目标持续时间降低到 1 秒。您可能会得到大约 3 到 6 秒的延迟。这可能会增加更多的计算开销。
推荐阅读
- python-3.x - 将数据帧的行写入一个以 CRLF 分隔的文本文件
- ruby-on-rails - 拆分和打印文本数组的麻烦
- json - 数据框列将字符串(json 格式)转换为 Json 对象数据类型(Scala)
- python - 在 Django 中禁用图像清理
- osrm - OSRM:使用 OSRM 获取从 A 点到 B 点的路线时如何避开河流
- node.js - 为什么 minify 函数返回 Promise {
当我需要全局 html-minifier 时,而不是 HTML? - javascript - 使用来自数据属性的 javascript 变量作为多维 JSON 数组的键
- kotlin - 在多次请求后改造块服务器调用 [Java.net.SocketTimeoutException: timeout]
- c - C++ 中的 HANDLE 如何映射到 .NET
- node.js - 如何在 Jenkins 流水线中使用 NodeJSScript