通过TCP查看h264流

时间:2016-09-25 05:33:03

标签: python stream video-streaming h.264

我有一个基于wifi的小型FPV相机用于无人机。我设法使用python来下载和保存h264文件。

TCP_IP = '193.168.0.1'
TCP_PORT = 6200
BUFFER_SIZE = 2056

f = open('stream.h264', 'wb')
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((TCP_IP,TCP_PORT))
while True:
    data = sock.recv(BUFFER_SIZE)
    f.write(data)
    print("Writing")
sock.close()
f.close()

我现在试图做的一段时间是播放流。我找到了这个流,我可以下载并保存,但现在我想现场打开它。 我尝试过使用VLC的开放式网络流'有多种选择,但似乎都没有。

2 个答案:

答案 0 :(得分:0)

我使用

成功输出到mplayer

data = sock.recv(BUFFER_SIZE) sys.stdout.buffer.write(data)

然后让mplayer管道输入

python cam.py - | mplayer -fps 20 -nosound -vc ffh264 -noidx -mc 0 -

答案 1 :(得分:0)

这是一种简单的方法,是的:发送H.264 NALU流(你在每个nal单元之前加上0,0,0,1前缀,它没问题。)

如果您想要更酷的东西,那么您可以添加打包到RTP并通过多播发送。编码和易于阅读将非常简单。