Python:从缓冲区播放视频文件

时间:2014-10-17 16:29:25

标签: python video tcp

我正在开发一个python程序,它通过TCP套接字接收破碎的视频文件块。 接收时,我将数据拉入变量,如:

film = sock.recv(100000)

我目前正在做的是将其写入文件'received.mp4'然后播放。

有没有办法可以直接从film缓冲区播放此视频?

1 个答案:

答案 0 :(得分:3)

当然你可以做到。

我会使用外部播放器,只需将stdin提供给# cmdline = ['vlc', '--demux', 'h264', '-'] #pick a media player # cmdline = ['mplayer', '-fps', '25', '-cache', '1024', '-'] player = subprocess.Popen(cmdline, stdin=subprocess.PIPE) while True: data = sock.recv(1024) if not data: break player.stdin.write(data) ,就像这样:

{{1}}

(摘自http://picamera.readthedocs.org/en/latest/recipes1.html#recording-to-a-network-stream

你也可以使用命名管道并写入,或者使用一些python绑定到你最喜欢的视频播放器。