I don't think it's a great idea to name an unofficial project "GoPro-Py", GoPro is a trademark.
Also, the code mixes notation. Most Python code use snake_case because it's encouraged in PEP8, this code use both snake_case and camelCase (take_photo(X), getStatusRaw()).
There's twitter-python, pytesla, DisneyDisp, github.com/scottjbarr/nasdaq, pyfacebook, etc etc. It seems to be accepted practice to use trademarks in names for projects connecting or related to them. But a statement emphasising the unoffical nature would probably be a good idea just in case.
Yes, I did mix cases, take_photo() and shoot_video() are quick access commands that's why they're in different case. GitHub states it's an unofficial API in the title as well.
> GitHub states it's an unofficial API in the title as well.
The ReadMe headline only says GoPro, nothing about unofficial. It looks like it is official, especially with the product pics in the readme. I wouldn't be surprised if GoPro will ask you to remove the repo, or rename it.
First line after title:
Unofficial GoPro API Library for Python - connect to GoPro cameras via WiFi.
If it was official, the repo should be under @gopro not my username. I have worked with GoPro cameras and published a lot on my GitHub and I had no problems with them.
The whole PEP8 thing sounds pedantic, but will help people use the library in the long run. Using different cases for certain methods isn't really a convention in Python, and tripped me up a bit, too.
Knowing that 9 years ago I learned python as my first language despite at the time, it wasnt taken very seriously outside single use and a beginner language.
Maybe its just me, but I'm seeing the tech world settle down on a few programming languages and standards. Python, Javascript, PHP, (from the other topic RSS, JSON).
I see quite an opposite. There are new languages to replace some old, but old stay. And one could say that JavaScript today is almost different language than ES6 was.
By new coll languages I mean Go or Rust. Java and C# are still prominent in business sphere. And I can see push of functional languages as well, such as F#, but that is not so big pressure.
What I also see is big fracturing in ecosystems. When I started developing, I used .NET. I could make WinForm application for Windows and WebForm for Web.
Now there is MVC, Razor Pages, Single page apps (where you have to choose from many JavaScript frameworks). For Desktop app you can write WinForms, WPF, but Electron with .Net seems to be also popular now.
It seems no two companies are using same stack anymore. For me it's becoming quite overwhelming.
Depends on discipline I think. I see Python in operations and data analysis a lot more than I did even 5 years ago. I’m all for the change because I like Python but I do miss my old friend Perl.
I started at this company because of my experience with Perl and Oracle. Now everything I do is Python and Postgres. I’m totally ok with that.
I found this the other day, wondering if my knockoff sports cam's protocol (which I reverse engineered) was compatible with GoPro's. It seems that the GoPro protocol is different, but my suspicion is that the protocol has changed, and the SoC that my camera is using was compatible with an earlier one.
APEMAN A80 (or something like that). It uses a Novatek SoC, which I figured was a clone of the Amba, which as I understand it GoPro used to use, but no longer does. Did I get it right? The device does have real-time streaming capabilities that I used but I didn't investigate the protocol.
All of my device's services are on 192.168.1.254. The app CamKing which speaks the protocol has a string in it that references rtsp:// but I've never tried. I have a blog post on the device in the queue, waiting for a time-lapse video to finish...
We’ve been using this at work. It was a nice starting point for us. Thanks!
A couple of comments:
1. We want to take a bunch of snapshots. We found that taking a picture also saved it to sdcard. And the more pictures on the card, the slower it performed. We ended up writing code to erase the picture we just took after offloading it.
2. We learned that we can’t connec the GoPro to computers USB for power while running this as the camera changes to a different mode. However, a stand alone usb charger worked well while using this. That might be nice to add to the reader.
I just got my first GoPro last week. This is perfect timing! I’m still figuring out their ecosystem of apps but I’m sure I will encounter some limitation that this project will help solve.
Also, the code mixes notation. Most Python code use snake_case because it's encouraged in PEP8, this code use both snake_case and camelCase (take_photo(X), getStatusRaw()).