我有点晚了,但我已经创建了功能强大的线程化VidGear视频处理python库,它现在提供了NetGear API,它专门用于通过ZmQ消息传递系统在网络上的互连系统之间同步传输视频帧。为了方便起见,这里有一个最简单的例子:
A、 服务器端:(最低限度的例子)
打开您喜欢的终端并执行以下python代码:
注意:在服务器端按键盘上的[Ctrl+c],您可以随时在服务器端和客户端结束流媒体传输!# import libraries
from vidgear.gears import VideoGear
from vidgear.gears import NetGear
stream = VideoGear(source='test.mp4').start() #Open any video stream
server = NetGear() #Define netgear server with default settings
# infinite loop until [Ctrl+C] is pressed
while True:
try:
frame = stream.read()
# read frames
# check if frame is None
if frame is None:
#if True break the infinite loop
break
# do something with frame here
# send frame to server
server.send(frame)
except KeyboardInterrupt:
#break the infinite loop
break
# safely close video stream
stream.stop()
# safely close server
writer.close()
B、 客户端:(最低限度的例子)
然后打开同一系统上的另一个终端,执行以下python代码并查看输出:
^{pr2}$
注意:NetGear目前只支持两种ZeroMQ消息传递模式:即zmq.PAIR和{},支持的协议是:'tcp', 'upd', 'pgm', 'inproc', 'ipc'