Python 3.x python中的RTMP流监控

Python 3.x python中的RTMP流监控,python-3.x,ffmpeg,stream,rtmp,ffprobe,Python 3.x,Ffmpeg,Stream,Rtmp,Ffprobe,我没有使用python的经验,但我在网上发现了这一点: 假设它与当前版本的ffmpeg(ffprobe)一起工作,我试着稍微修改一下代码,这样它就不会登录到Amazon SNS来发送消息。只要在流停止时打开一个音频文件,使用以下命令(我在这个网站上找到)就可以了: 操作系统(“启动/声音/xyz.mp3”) 我试着这样那样做,但似乎没有成功。我已经安装了3.x 我知道这可能很愚蠢,但我需要输入相对或绝对文件位置吗?对于ffprobe和声音文件,是否为C:\。。。或者正确的格式和路径是什么 如能

我没有使用python的经验,但我在网上发现了这一点:

假设它与当前版本的ffmpeg(ffprobe)一起工作,我试着稍微修改一下代码,这样它就不会登录到Amazon SNS来发送消息。只要在流停止时打开一个音频文件,使用以下命令(我在这个网站上找到)就可以了:

操作系统(“启动/声音/xyz.mp3”)

我试着这样那样做,但似乎没有成功。我已经安装了3.x

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


如能帮助解决此问题,我们将不胜感激

已编辑问题的更新:

如果您在Windows上,则可以执行以下操作:

import os
os.startfile('C:/folder/sound.mp3')
如果您不使用Windows,则和

原始答案

要启动
ffprobe
,您可以执行以下操作:

import os
os.startfile('C:/folder/sound.mp3')
retcode=os.system(“/usr/local/bin/ffprobertmp://...”

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

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

这就是为什么示例脚本使用
run()


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

您的问题不是很清楚。您想探测RTMP流、文件还是打开文件?也许你可以换个说法。嗨!这是一个我想监控的实时流。如果我理解正确,脚本将在给定的时间间隔检查流是否可用。流的格式如下:_rtmp://123.123.123.123:1935/live/xyz.stream 及_http://123.123.123.123:1935/live/xyz.stream/playlist.m3u8 如果流变得不可用,则应开始播放音频文件。这就是我想说的。我已经看过rtmpdump了,但是由于我非常缺乏经验,我不能用它做很多事情,我不知道如何写任何东西来提醒我,如果流量下降。这就是为什么我想在我原来的帖子中修改脚本。我只需要它在流离线时播放警报。即使我删除“from boto import boto”并在循环中的else之后添加声音文件打开命令,它也不起作用。我使用的是Windows 7 64位版本。我在一个空白的.py文件中运行了这个命令,它运行得很好。但是,如果我只是将其添加到循环的else分支中,就会出现错误。谢谢你的帮助,顺便说一下,我感觉我越来越近了,但是我不能写一个全新的东西,我只知道C++中一些非常基本的东西。这个错误与你的代码无关。很可能您正在使用Python3.x执行脚本,而该文件是为Python2.x编写的。有关相关错误,请参阅。或者尝试使用Python 2.x。非常感谢您的帮助和耐心!如果我只设置了http://....m3u8 用于监视的流。如果我将rtmp设置为1,它通常会得到一些头错误,并触发警报,即使流看起来很好。我测试禁用wifi连接,因此它显然丢失了数据流。我会让它继续运行,看看它是否能在真正的停机时工作。再次感谢!我懂了。如果文本中有“错误”,我希望通过删除触发警报的代码部分来解决这个问题。如果流丢失,它会记录一些不同的内容,并且仍然会触发警报,因此现在一切正常,它似乎工作正常,没有错误和假警报。