监视RTMP流,记录是否可用

Bri*_*ian 8 ruby ruby-on-rails rtmp video-streaming

我正在寻找一种方法来监视流上的活动,以便我可以确定流中是否有任何内容.如果有,我将开始使用rtmpdump录制它.

我想这是通过运行一个每60秒检查一个流的cron任务来完成的.如果它确定流正在通过,则调用rtmpdump开始记录它.如果没有,那么什么都不做,并在60秒内再次检查.

由于rtmpdump只是在没有流数据的情况下出现错误,所以尝试使用它来监视流似乎不是一个好主意,但也许我错了.

如果我手动逐个进行此操作会很容易,但我正在尝试自动记录流的任务,如果它们可用的话.

有没有人遇到过这样做的方法?也许我可以在命令行(linux)中使用其他一些工具?如果它有帮助,我正在使用Ruby/Rails编写代码

Bjö*_*son 1

也许我误解了你,但为什么不直接在它周围放置一个循环呢?\n如果有一个流,我假设 rtmpdump 不会退出,但只要有一个流就会记录。如果没有流,它就会退出,我们会休眠一段时间,然后重试。

\n\n

rtmpdump 似乎有一个 \xe2\x88\x92\xe2\x88\x92timeout 标志,因此请尝试将其设置为较高的值以减少重试率,不过无论如何,睡觉可能很好。

\n\n

将其放入 record.sh 中,cmd a+x 并运行它

\n\n
while true; do \n  rtmpdump ...\n  sleep 60\ndone\n
Run Code Online (Sandbox Code Playgroud)\n