Skip to content
This repository has been archived by the owner on Apr 13, 2019. It is now read-only.

What I need for Live Stream and Static Image via http? #26

Open
xefil opened this issue Feb 1, 2018 · 5 comments
Open

What I need for Live Stream and Static Image via http? #26

xefil opened this issue Feb 1, 2018 · 5 comments

Comments

@xefil
Copy link

xefil commented Feb 1, 2018

Hello,

I've a GoPro HERO3 and I would like to obtain the following:

  • URL to get a Live Stream
  • URL to get a Static Image

How can I obtain what above?
Actually I've installed succesfully the goprohero library. I'll test this evening how con connect the board to the GoPro WiFi.

Thanks!

Simon

@joshvillbrandt
Copy link
Owner

Hi, @xefil.

There is a special install section for the Live Stream Image Capture. First make sure you've read through that.

Afterwards, you should be able to use the image() method.

As for the video, this library doesn't expose a video method directly, but you could copy the image() method (source) and let the whole stream pass through instead of taking a single frame. You should also be able to connect to the camera video stream directly from something like VLC. The URL is stored here in the code.

Hope that helps!

@xefil
Copy link
Author

xefil commented Feb 1, 2018

Hello @joshvillbrandt ,

Thanks for the fast answer.

I've read the doc but cannot figure out how to work with.
Well, from a Windows PC I'm able to connect to the GoPro and play the stream via VLC.
So, the GoPro works.
The board on which I would like to see the content is a little ARM board without web interface.
I was able to connect to the GoPro (WiFi) from the board and then i can ping the GoPro.
I've taken a look on the doc, but even with the 'goproctl' command I cannot contact it. In example:

~# goproctl <goproSID> <goproWiFipassword> power off
Traceback (most recent call last):
  File "/usr/local/bin/goproctl", line 23, in <module>
    network = Wireless(args.interface)
AttributeError: 'Namespace' object has no attribute 'interface'

my network:

# ifconfig
enx00e140401eb1 Link encap:Ethernet  HWaddr 00:e1:40:40:1e:b1
          inet addr:10.5.5.108  Bcast:10.5.5.255  Mask:255.255.255.0
          inet6 addr: fe80::2e1:40ff:fe40:1eb1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4 errors:0 dropped:32 overruns:0 frame:0
          TX packets:74 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:5066 (5.0 KB)  TX bytes:65345 (65.3 KB)

eth0      Link encap:Ethernet  HWaddr 02:d1:0b:02:4f:13
          inet addr:192.168.1.52  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::d1:bff:fe02:4f13/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3049 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2027 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:448875 (448.8 KB)  TX bytes:412960 (412.9 KB)
          Interrupt:117 Base address:0x8000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:279 errors:0 dropped:0 overruns:0 frame:0
          TX packets:279 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:62945 (62.9 KB)  TX bytes:62945 (62.9 KB)

The goal, as described, is to obtain two URL to get the content, one for image, one for stream.
For the images, as soon I'm able to get an image from the GoPro, I could copy it with a script on a page that is served via Apache. But I need to get the image.
For the stream, I've no idea how to convert the stream to something via URL... one step at time ;-)

Thanks for your help!

Simon

@joshvillbrandt joshvillbrandt reopened this Feb 1, 2018
@joshvillbrandt
Copy link
Owner

This repo build on the wireless library. Does that arm board match one of the supported environments in the wireless library? (Check out the "Description" section at that link.)

@xefil
Copy link
Author

xefil commented Feb 1, 2018

I'm using NetworkManager and nmcli is there as command:

~# ps -edaf | grep -i netw
root       588     1  0 18:22 ?        00:00:05 /usr/sbin/NetworkManager --no-daemon
root      2276   588  0 18:25 ?        00:00:00 /sbin/dhclient -d -q -sf /usr/lib/NetworkManager/nm-dhcp-helper -pf /var/run/dhclient-enx00e140401eb1.pid -lf /var/lib/NetworkManager/dhclient-e46daf25-0078-4e15-98a6-ab5e5ad3c8e9-enx00e140401eb1.lease -cf /var/lib/NetworkManager/dhclient-enx00e140401eb1.conf enx00e140401eb1
nobody    2287   588  0 18:25 ?        00:00:00 /usr/sbin/dnsmasq --no-resolv --keep-in-foreground --no-hosts --bind-interfaces --pid-file=/var/run/NetworkManager/dnsmasq.pid --listen-address=127.0.1.1 --cache-size=0 --conf-file=/dev/null --proxy-dnssec --enable-dbus=org.freedesktop.NetworkManager.dnsmasq --conf-dir=/etc/NetworkManager/dnsmasq.d
# type -p nmcli
/usr/bin/nmcli

About the permissions, actually I'm running the commands as root, so should be able to do everything.

I'm on a wired onterface as well. Maybe it's only a matter of specifying the network interface to use? In this case enx00e140401eb1 (strange name!)

Ideas?

@xefil
Copy link
Author

xefil commented Feb 2, 2018

Hello @joshvillbrandt ,

I've compiled the whole from github and now I can connect to the gopro via goproctl passing the interface name. Can I get a picture from the camera via the goproctl ?

Thanks, Simon

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants