GoPro as Webcam in Signal

Hello! :slight_smile:

I would like to use my GoPro 12 as a webcam in Signal. gopro-webcam seems to work and put the GoPro in webcam mode, but I cannot use the generated feed in Signal. It is not shown in the dropdown menus within Signal nor Cheese.

How do I fix the link so I can use it?

Thank you for your help!

Cheers
Dexic

How do you know it works? Can you post some output?

It shows in the terminal and on the camera display itself.

Here is what I can offer:

[ds@bluechip ~]$ sudo gopro webcam -a -r 1080 -f linear
[sudo] Passwort für ds: 
Running GoPro Webcam Util for Linux [0.0.3]

       Launch Options     
==========================
 * Non-interactive:  0
 * Autostart:        1
 * Preview:          0
 * Resolution:       1080p
 * FOV:              linear
==========================

/usr/bin/gopro: Zeile 37: ufw: Kommando nicht gefunden.
Using your firewall can cause issues with ffmpeg.
v4l2loopback is not loaded!
v4l2loopback was successfully loaded.
Please plug in your GoPro and switch it on. If it booted successfully (Charger icon on screen), hit Return


Guessing the GoPro's device name...
I can only make an uneducated guess wrt the name of the interface that the GoPro exposes.
For me the name of the interface is 'enxf64854ee7472'. This script will try to discover the device
that was added *last*, as you just plugged in the camera, hence the interface added last should be the one we're looking for.

Discovered: enp0s20f0u1u2u1.
Using enp0s20f0u1u2u1 to discover the GOPRO_IP.
Found 172.27.163.54
To control the GoPro, we need to contact another interface (GOPRO_IP ending with .51).. Adapting internally..
Now using this GOPRO_IP internally: 172.27.163.51
{ "status": 2, "error": 0 }
{ "status": 2, "error": 0 }
Sucessfully started the GoPro Webcam mode. (The icon on the Camera should have changed)
Starting ffmpeg..
ffmpeg version n6.1 Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 13.2.1 (GCC) 20230801
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libjxl --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librav1e --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpl --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-opencl --enable-opengl --enable-shared --enable-version3 --enable-vulkan
  libavutil      58. 29.100 / 58. 29.100
  libavcodec     60. 31.102 / 60. 31.102
  libavformat    60. 16.100 / 60. 16.100
  libavdevice    60.  3.100 / 60.  3.100
  libavfilter     9. 12.100 /  9. 12.100
  libswscale      7.  5.100 /  7.  5.100
  libswresample   4. 12.100 /  4. 12.100
  libpostproc    57.  3.100 / 57.  3.100

So, how do I get this thing to work with other apps?

https://github.com/NewoIsTaken/gopro_as_webcam_on_linux check the readme, you can start a preview, to make sure it really works. As far as I can tell you can reach the camera through an ip address, not sure how to connect to that with these apps.
google this v4l2loopback cheese maybe it’s a resolution problem. I think you should be able to access v4l2 devices with these apps, but I don’t really use webcams.

maybe this if it’s a resolution issue: