我需要制作一个流式传输实时多媒体的应用程序。目前,我的应用程序正在从网络摄像头获取图像帧(使用 OpenCV)并将其发送到客户端。它还使用 pymedia 模块发送音频。问题是到达客户端的图像和音频数据包不同步。
所以我有以下问题:
PS。 pymedia 自 2006 年以来一直没有开发并且无法运行。
您可以尝试gst-python模块。
请参阅 gstPython 文档了解更多详细信息。
您可以使用gstreamer的python模块。我的意思是上面提到的gst-python。使用rtmp协议同步客户端/服务器视频。上次我使用gst-python时,不支持rtmp。当时,我的解决方案是限制缓冲区大小。当缓冲区已满时,最旧的帧将被丢弃。
您需要的是一个执行多媒体流的命令行应用程序,它应该比 Python 模块更容易找到。然后,您的 Python 应用程序将使用 subprocess.Popen() 调用流应用程序,如下所示:
from subprocess import Popen, PIPE
cmd = "c:\Program Files\appdir\streamer.exe"
subprocess.Popen(cmd, stdout=PIPE, stderr=PIPE).communicate())
观看此 YouTube 视频,我发现它很有帮助:https://www.youtube.com/watch?v=AZIa9RwL7ao