我最近买了一个 Go Pro Hero 3。它工作正常,但是当我尝试流式传输实时视频/音频时,它时不时地出现故障。最初我只是使用 vlc 打开 m3u8 文件,但是当出现故障时,我下载了 android 应用程序并尝试通过它进行流式传输。在应用程序上稍微好一点。我使用了wireshark,我认为它的原因是它的传输/缓冲速度不够快。试图通过 wget 在循环中获取所有内容,它在它之前通过了 3 个循环:赶上(可能,但我不这么认为......虽然我可能会仔细检查)或落后并因此超时/挂起。图像也有延迟,但我可以忍受。我曾尝试降低分辨率/帧速率,但我不确定它是否真的在做任何事情,因为我无法分辨出任何区别。我认为这可能只是在 go pro 上录制的设置。无论哪种方式,它都没有奏效。本质上,我正在寻找任何可能的方法来消除这种“故障”我目前的计划是尝试在 python 中编写一些东西来通过 UDP 获取文件(没有 TCP 开销)。
生病只是添加一些更多的细节/症状:
Go Pro 使用 Apple m3u8 流媒体格式。在任何时候,文件夹中都有 16 个 .ts 文件。(每个 26 Kb)这些在循环中被覆盖(循环缓冲区)
当我在 vlc 上流式传输时:
大约 1 秒的延迟 - 大约 0.5 秒的流正常,停止稍短一点,然后重复。我认为正在发生的是它试图传输的文件被覆盖,导致它超时。
通过安卓应用程序:
更少的延迟和更短的“超时”,但仍然存在
我想编写一个 python 脚本来尝试获取连续图像。这些文件足够小,它们应该适合单个 UDP 数据包(我认为...... 65Kb ish 对吗?)
我可以在笔记本电脑上的 wifi 设置方面进行任何更改以改进它吗?即一些如何致力于它?
谢谢,斯蒂芬