GoProStream
GoProStream copied to clipboard
Latest version of GoPro Hero 4 Black Doesn't Work With Your Method On Windows
As the title suggests: Latest version of GoPro Hero 4 Black Doesn't Work With Your Method. I've followed the scripts and even tried to run the keepalive script manually while issuing the restart command using other players like VLC (besides FFPlay) -- nothing.
Just tested with HERO4 Black - FW Version 5.00 which is the latest firmware version according to the app and it works.
I am going to need a log or a screenshot. Make sure you have ffplay accessible as ffplay
command. I tested this on Arch Linux,
I'm trying to run this on Windows 10 (lol I know). I installed FFMPEG for Windows and Python 3 for Windows and I wasn't able to get this to work. I didn't see anything in the code, that ought not to work on Windows.. any idea what could be going on? I modified the save path to be Windows friendly and when I run it FFPLAY runs but then a GUI window wont pop open and no result appears to be happening on the FFPLAY output in the command prompt.
Any help would be appreciated.
I only changed the path but I included my script just in case:
I have attached a screenshot of my executing your script. As I said previously, FFPLAY will appear to run but a GUI window never appears and I don't see any input or updates in the command prompt that I would expect to see when FFPLAY is running appropriately
.
there may be an issue with firewall
I disabled the firewall completely for my test and that had no effect. :( I confirmed Python was working with another script and that FFPLAY would work on a local media file -- everything worked. I also tried this with a Ubuntu VM and mapped my host wifi to the guest. Was able to see GoPro IP but running your script had the same effect as what happened above.
Any idea what could be going on here?
No idea, I'll fire up a windows VM later this afternoon to check.
See these maybe it helps:
https://github.com/streamlink/streamlink/issues/487
http://stackoverflow.com/questions/16523746/ffmpeg-hangs-when-run-in-background
https://ffmpeg.zeranoe.com/forum/viewtopic.php?t=832
Maybe try restreaming it to a local URL? https://github.com/KonradIT/gopro-py-api/blob/master/goprocam/GoProCamera.py#L597
Hey @dantheman213 please test the following on Windows 10:
See if you can get a stream by first pairing your camera with the mobile app Capture to get a live preview and then start the script on your computer. Both computer and phone need to be connected to GoPro Wifi.
I actually tested this idea already during my initial testing and wasn't able to get the stream running. :(
wow, this is a FFmpeg problem then. I have a Windows 10 VM now, I'll see what I can do.
@dantheman23 this is definitely a windows problem..
First pic: the GoPro stream
Second pic: some random udp I just made up
related: https://support.microsoft.com/en-us/help/883831/a-client-may-not-be-able-to-connect-to-multicast-streams-or-to-other-user-datagram-protocol-streams-through-windows-firewall-by-using-windows-media-player
disabled firewall both private and public, allowed UDP 8554 to come in. I don't know, maybe I'll try VLC or other media player tomorrow (maybe this mpc-hc can help)
Right? How weird is it! I'm glad that you were able to replicate my problem.
I completely disabled the firewall and tried -- nothing. Then I fired up my Ubuntu 16.10 virtual machine and mapped the Wifi as a secondary network card in the VM.. connected to the GoPro WiFi network and still nothing inside the VM either. :(
Side frustration: So lame.. this was a $500 camera.. there are action cameras for half that on Amazon that make it EASY to stream wirelessly rather than lock you out.. sigh.
I tried VLC btw and wasn't able to get it work either. I'm wondering if the issue is on the kernel level or something since the MS article you linked seems to indicate it might be on the OS level. But if you do get it to work I'm more then happy to perfect your method and submit a patch to your code base for other Windows users who want to unlock their GoPro's abilities.
Does not work with nodejs api
Would using Wireshark on Windows and comparing the traffic with the traffic from a Ubuntu session help at all?
Sounds like it's on the OS or network level.
Yes that can help
I'm not familiar with it -- it was a suggestion for someone who has spent more time on this than I.
@dantheman213 possible solution
Had the same problem on Mac OSX El capitan. GoPro hero 4 black Version 5.00 seems not to stream. Has anyone found a solution?
What are your flags @AlbertoLanaro ?
@KonradIT I solved the problem. By looking at UDP traffic in wireshark I noticed that the camera does not stream if it is in the "settings" section. Thank you anyway
I was able to display the stream on windows 7 with the following command:
ffplay -fflags nobuffer -f:v mpegts -probesize 8192 udp://@10.5.5.9:8554
The @10.5.5.9 part did the trick. Without it won't work on windows.
thanks to @dirk68-fu pointer to use @
I can actually see some results now ... but the image is corrupted / glitchy and the terminal shows all these errors:
using the exact command: ffplay -fflags nobuffer -f:v mpegts -probesize 8192 udp://@10.5.5.9:8554
[h264 @ 000001757fc8dec0] top block unavailable for requested intra mode -1
[h264 @ 000001757fc8dec0] error while decoding MB 15 0, bytestream 6436
[h264 @ 000001757fc8dec0] concealing 300 DC, 300 AC, 300 MV errors in I frame
[mpegts @ 000001757a05b9c0] Packet corrupt (stream = 0, dts = 1009008).
[mpegts @ 000001757a05b9c0] Packet corrupt (stream = 0, dts = 1036035).
[h264 @ 000001757fc8e7c0] left block unavailable for requested intra4x4 mode -1
[h264 @ 000001757fc8e7c0] error while decoding MB 0 3, bytestream 9904
[h264 @ 000001757fc8e7c0] concealing 289 DC, 289 AC, 289 MV errors in I frame
[mpegts @ 000001757a05b9c0] Packet corrupt (stream = 0, dts = 1117116).
[mpegts @ 000001757a05b9c0] Packet corrupt (stream = 0, dts = 1141140).
[mpegts @ 000001757a05b9c0] Packet corrupt (stream = 0, dts = 1177176).
[h264 @ 000001757a0c7380] mmco: unref short failureq= 0B f=0/5
[h264 @ 000001757a0c7380] illegal short term buffer state detected
[h264 @ 000001757a0c7380] left block unavailable for requested intra4x4 mode -1
[h264 @ 000001757a0c7380] error while decoding MB 0 6, bytestream 1026
[h264 @ 000001757a0c7380] concealing 229 DC, 229 AC, 229 MV errors in I frame
[mpegts @ 000001757a05b9c0] Packet corrupt (stream = 0, dts = 1201200).
[mpegts @ 000001757a05b9c0] Packet corrupt (stream = 0, dts = 1234233).
[h264 @ 000001757fc8e7c0] left block unavailable for requested intra4x4 mode -1
[h264 @ 000001757fc8e7c0] error while decoding MB 0 2, bytestream 8574
[h264 @ 000001757fc8e7c0] concealing 300 DC, 300 AC, 300 MV errors in I frame
[mpegts @ 000001757a05b9c0] Packet corrupt (stream = 0, dts = 1294293).
[mpegts @ 000001757a05b9c0] Packet corrupt (stream = 0, dts = 1321320).
[h264 @ 000001757a0c6c00] top block unavailable for requested intra mode
[h264 @ 000001757a0c6c00] error while decoding MB 17 0, bytestream 1244
[h264 @ 000001757a0c6c00] concealing 300 DC, 300 AC, 300 MV errors in I frame
[mpegts @ 000001757a05b9c0] Packet corrupt (stream = 0, dts = 1330329).
[mpegts @ 000001757a05b9c0] Packet corrupt (stream = 0, dts = 1351350).
[mpegts @ 000001757a05b9c0] Packet corrupt (stream = 0, dts = 1369368).
[h264 @ 000001757a09e740] error while decoding MB 19 12, bytestream -8
[h264 @ 000001757a09e740] concealing 90 DC, 90 AC, 90 MV errors in P frame
[mpegts @ 000001757a05b9c0] Packet corrupt (stream = 0, dts = 1372371).
[h264 @ 000001757fc8dec0] error while decoding MB 15 0, bytestream -10
[h264 @ 000001757fc8dec0] concealing 300 DC, 300 AC, 300 MV errors in I frame
[mpegts @ 000001757a05b9c0] Packet corrupt (stream = 0, dts = 1387386).
[mpegts @ 000001757a05b9c0] Packet corrupt (stream = 0, dts = 1408407).
[mpegts @ 000001757a05b9c0] Packet corrupt (stream = 0, dts = 1426425).
[mpegts @ 000001757a05b9c0] Packet corrupt (stream = 0, dts = 1465464).
[mpegts @ 000001757a05b9c0] Packet corrupt (stream = 0, dts = 1498497).
[h264 @ 000001757fc8dec0] top block unavailable for requested intra mode -1
[h264 @ 000001757fc8dec0] error while decoding MB 16 0, bytestream 7718
[h264 @ 000001757fc8dec0] concealing 300 DC, 300 AC, 300 MV errors in I frame
[h264 @ 000001757fc8e340] error while decoding MB 19 14, bytestream -6
[h264 @ 000001757fc8e340] concealing 50 DC, 50 AC, 50 MV errors in P frame
[mpegts @ 000001757a05b9c0] Packet corrupt (stream = 0, dts = 1507506).
[mpegts @ 000001757a05b9c0] Packet corrupt (stream = 0, dts = 1555554).
[mpegts @ 000001757a05b9c0] Packet corrupt (stream = 0, dts = 1633632).
[h264 @ 000001757a0c6c00] mmco: unref short failure
[h264 @ 000001757a0c6c00] illegal short term buffer state detected
[h264 @ 000001757a0c6c00] error while decoding MB 17 0, bytestream -54
[h264 @ 000001757a0c6c00] concealing 300 DC, 300 AC, 300 MV errors in I frame
[mpegts @ 000001757a05b9c0] Packet corrupt (stream = 0, dts = 1648647).
[mpegts @ 000001757a05b9c0] Packet corrupt (stream = 0, dts = 1759758).
[mpegts @ 000001757a05b9c0] Packet corrupt (stream = 0, dts = 1801800).
[h264 @ 000001757a09e740] cabac decode of qscale diff failed at 1 10
[h264 @ 000001757a09e740] error while decoding MB 1 10, bytestream 6376
[h264 @ 000001757a09e740] concealing 148 DC, 148 AC, 148 MV errors in P frame
[mpegts @ 000001757a05b9c0] Packet corrupt (stream = 0, dts = 1864863).
[h264 @ 000001757fc8dec0] left block unavailable for requested intra4x4 mode -1
[h264 @ 000001757fc8dec0] error while decoding MB 0 7, bytestream 7540
[h264 @ 000001757fc8dec0] concealing 209 DC, 209 AC, 209 MV errors in I frame
[mpegts @ 000001757a05b9c0] Packet corrupt (stream = 0, dts = 1879878).
[mpegts @ 000001757a05b9c0] Packet corrupt (stream = 0, dts = 1921920).
[h264 @ 000001757a0c5d40] error while decoding MB 4 5, bytestream -56
[h264 @ 000001757a0c5d40] concealing 245 DC, 245 AC, 245 MV errors in I frame
[mpegts @ 000001757a05b9c0] Packet corrupt (stream = 0, dts = 1945944).
@ahmadnassri Did you end up getting this to run smoothly?
I'm currently running a GoPro Hero 5 Session. Followed all the steps and I get a feed that looks exactly like yours. I'm in video mode, 720p in-camera - running only 240p in OBS and 1mbps Can you assist @KonradIT ? I'm a complete noob and very new to Python and FFmpeg - not sure what I'm doing wrong... Is there anyway of me sharing logs or something that might be able to identify the problem?
I'm using Windows 10 (I read somewhere that apparently this can't be used with Windows 10 .. but I think it may have been updated since? Not sure.
Any help would be greatly appreciated. Cheers :D
I have made no further progress unfortunately @tkthesquid7
I have exactly the same problem with Raspberry Pi on linux. View works fine via GoPro app GoPro Session 4