繁体   English   中英

通过TCP查看h264流

[英]Viewing h264 stream over TCP

我有一个基于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的“开放网络流”与多种选项结合使用,但它们似乎都不起作用。

我成功使用输出到mplayer

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

然后让mplayer管道输入

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

这是一个简单的方法,可以:发送H.264 NALU流(在每个nal单元之前放置0,0,0,1前缀,可以)。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM