python 中的 RTMP 流监控

RTMP stream monitoring in python

我没有使用 python 的经验,但我在网上找到了这个:
https://gist.github.com/sinkers/d647a80fdb180b4cc3a6
假设它适用于当前版本的 ffmpeg (ffprobe),我试着稍微修改一下代码,这样它就不会登录到 Amazon SNS 来发送消息。只需在流中断时打开一个音频文件,使用以下命令(我在该站点上找到它)就可以了:

os.system("start /sound/xyz.mp3")

我试过这个那个,但我似乎无法成功。我安装了 3.x。

我知道这可能很愚蠢,但我需要输入相对或绝对文件位置吗?对于 ffprobe 和声音文件,是 C:\... 还是正确的格式和路径?

如果能帮助解决这个问题,我们将不胜感激。

已编辑问题的更新:

如果你在Windows,你可以这样做:

import os
os.startfile('C:/folder/sound.mp3')

如果您不使用 Windows,则 take a look at this and this

原回答

要启动 ffprobe 你可以这样做:

retcode = os.system("/usr/local/bin/ffprobe rtmp://...")

retcode = os.system("/usr/local/bin/ffprobe /path/to/file")

但是,使用 os.system() 不会帮助您捕获命令的实际输出,因为它只会为您获取 return 代码(例如:如果成功则为 0)。

这就是示例脚本使用 run() 的原因。

如果您想验证 RTMP 流,您还可以查看 rtmpdump