Go Pro Hero 3 - Streaming video over wifi

da_steve101 picture da_steve101 · Aug 14, 2013 · Viewed 9k times · Source

I recently acquired a Go Pro Hero 3. Its working fine but when i attempt to stream live video/audio it gitches every now and then. Initially i just used vlc to open the m3u8 file, however when that was glitchy i downloaded the android app and attempted to stream over that. It was a little better on the app. I used wireshark and i think the cause of it is its simply not transferring/buffering fast enough. Tried just to get everything with wget in loop, it got through 3 loops before it either: caught up (possible but i dont think so ... though i may double check that) or fell behind and hence timed out/hung. There is also delay in the image, but i can live with that. I have tried lowering the resolution/frame rate but im not sure if it is actually doing anything as i can't tell any difference. I think it may be just the settings for recording on the go pro. Either way, it didn't work. Essentially i am looking for any possible methods for removing this 'glitchiness' My current plan is to attempt writing something in python to get the files over UDP (no TCP overhead).

Ill just add a few more details/symptoms:

The Go Pro is using the Apple m3u8 streaming format. At anyone time there are 16 .ts files in the folder. (26 Kb each) These get overwritten in a loop (circular buffer)

When i stream on vlc:

Approx 1s delay - streams fine for ~0.5s, stops for a little less than that, then repeats. What i think is happening is the file its trying to transfer gets overwritten which causes it to timeout.

Over the android App:

Less delay and shorter 'timeouts' but still there

I want to write a python script to try get a continuous image. The files are small enough that they should fit in a single UDP packet (i think ... 65Kb ish right?)

Is there anything i could change in terms of wifi setting on my laptop to improve it too? Ie some how dedicate it to that?

Thanks, Stephen

Answer

Chris GW Green picture Chris GW Green · Nov 22, 2013

I've been working on creating a GoPro API recently for Node.js and found the device very glitchy too. Its much more stable after installing the latest gopro firmware (3.0.0).

As for streaming, I couldnt get around the wifi latency and went for a record and copy approach.