如何知道特定视频文件 (.mp4) 是否忙?
How to know whether a particular video file (.mp4) is busy or not?
我有一个在 Wowza 的帮助下实现的媒体服务器应用程序(在 Linux,Centos 上)。我的本地目录中存储了一些 mp4 文件。每当任何客户请求时,我都会流式传输这些文件。在某个时间点,所有这些文件都需要从本地目录中删除,通过 bash/python 脚本。在删除之前,我需要确保没有客户端正在访问视频文件。我如何知道当前是否正在流式传输特定视频文件?
我尝试了以下命令,但没有成功。
1) fuser xyz.mp4
2) lsof | grep xyz.mp4
如果您知道任何其他选择,请提出建议。
这不是 OS 平台解决方案,而是在您的 Wowza 软件中实现内置 HTTPProviders。如果查询以下URL:
http://localhost:8086/connectioncounts?flat
它应该 return 一个 XML 输出,列出当前正在播放的流名称。例如:
<WowzaStreamingEngine>
<Stream vhostName="_defaultVHost_" applicationName="vod" appInstanceName="_definst_" streamName="sample.mp4" sessionsFlash="0" sessionsCupertino="3" sessionsSanJose="0" sessionsSmooth="0" sessionsRTSP="0" sessionsMPEGDash="0" sessionsTotal="3"/>
</WowzaStreamingEngine>
以上输出显示当前正在播放 sample.mp4。 ?flat 选项简化了输出。然后您只需要解析流名称。
我有一个在 Wowza 的帮助下实现的媒体服务器应用程序(在 Linux,Centos 上)。我的本地目录中存储了一些 mp4 文件。每当任何客户请求时,我都会流式传输这些文件。在某个时间点,所有这些文件都需要从本地目录中删除,通过 bash/python 脚本。在删除之前,我需要确保没有客户端正在访问视频文件。我如何知道当前是否正在流式传输特定视频文件?
我尝试了以下命令,但没有成功。
1) fuser xyz.mp4
2) lsof | grep xyz.mp4
如果您知道任何其他选择,请提出建议。
这不是 OS 平台解决方案,而是在您的 Wowza 软件中实现内置 HTTPProviders。如果查询以下URL:
http://localhost:8086/connectioncounts?flat
它应该 return 一个 XML 输出,列出当前正在播放的流名称。例如:
<WowzaStreamingEngine>
<Stream vhostName="_defaultVHost_" applicationName="vod" appInstanceName="_definst_" streamName="sample.mp4" sessionsFlash="0" sessionsCupertino="3" sessionsSanJose="0" sessionsSmooth="0" sessionsRTSP="0" sessionsMPEGDash="0" sessionsTotal="3"/>
</WowzaStreamingEngine>
以上输出显示当前正在播放 sample.mp4。 ?flat 选项简化了输出。然后您只需要解析流名称。