2011-11-03 461 views
10

我需要製作一個流式傳輸多媒體的應用程序。目前我的應用程序正在從網絡攝像頭(使用OpenCV)獲取圖像幀並將其發送給客戶端。它也使用pymedia模塊發送音頻。問題是到達客戶端的圖像和音頻數據包都不同步。使用Python流式傳輸音頻和視頻

所以我以下的問題:

  1. 是否有任何的Python模塊,實時多媒體流?
  2. 我可以使音頻和圖像幀以某種方式與客戶端同步嗎?

PS。 pymedia自2006年以來一直沒有開發,並且不工作。

+0

您是否找到了答案? –

回答

2

您可以使用的GStreamer的Python模塊。我的意思是上面提到的gst-python。使用rtmp協議來同步客戶端/服務器視頻。上次我使用gst-python時,不支持rtmp。當時,我的解決方案是限制緩衝區大小。當緩衝區變滿時,最老的幀將被丟棄。

0

你需要的是一個多媒體流的命令行應用程序,應該比Python模塊更容易找到。然後,您的Python應用程序將調用使用subprocess.Popen()的流媒體應用,喜歡的東西:

from subprocess import Popen, PIPE 

cmd = "c:\Program Files\appdir\streamer.exe" 
subprocess.Popen(cmd, stdout=PIPE, stderr=PIPE).communicate())