I’m running Ubuntu 18.04.
1. Install v4l2loopback:
sudo apt-get install v4l2loopback-dkms
2. modprobe it:
sudo modprobe v4l2loopback devices=1 max_buffers=2 exclusive_caps=1 card_label="VirtualCam"
3. Plug in the GoPro with the latest firmware (tested with 2.01). I read that you need a USB3 cable so that’s what I used.
4. GoPro will come up as a network interface. For me its IP was:
172.20.179.51
You can nmap to find it:
nmap 172.20.179.1-254
5. Start an ffmpeg stream (note: I could only make ffmpeg work when the GoPro was stopped first):
ffmpeg -fflags nobuffer -f:v mpegts -probesize 8192 -i udp://0.0.0.0:8554 -f mpegts -vf format=yuv420p -f v4l2 /dev/video10
Your /dev/video device might be different for your v4l2loopback device.
6. Point your browser at 172.20.179.51/gp/gpWebcam/START or 172.20.179.51/gp/gpWebcam/START?res=720
You should see the GoPro switch into webcam mode on the front and back screens. If all went well, you’ll have a webcam called “VirtualCam” that will contain the stream.
7. Cycle the GoPro by going to: 172.20.179.51/gp/gpWebcam/STOP
Sadly, the latency isn’t very good (I’d guess around 300ms), so I’m not sure it’s all that useful. I tried the Windows beta with my camera and I watched a YouTube video of the official app on Mac, the latency seemed about the same in both cases.
Link:
Reddit post with GoPro details
10/1/20