python - 通过 TCP 查看 h264 流

标签 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 的“开放网络流”和多种选项,但似乎都不起作用。

最佳答案

我使用成功输出到 mplayer

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

然后让 mplayer 通过管道传输输入

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

关于python - 通过 TCP 查看 h264 流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39683734/

相关文章:

python - 单列中的 Pandas 天数

python - 以 Unicode 代码的形式打印字符串

java - 如何测量互联网带宽

android - 安卓直播

python - 如何将单引号服务器响应解析为 python 3 对象?

php - 以编程方式将视频从 php 服务器流式传输到 android

memory - Node.js 在逐位读取大文件时内存不足

node.js - 为什么 fs.createReadStream ... pipe(res) 锁定读取的文件?

android - 我可以将 Vimeo 视频流用于 Android 原生视频 View 而不是 Webview 吗?

python - 在 Python 中获取单个字符作为输入,无需按 Enter(类似于 C++ 中的 getch)