Raspberry Pi Networked Camera Software

Figured I’d start my own thread to keep the Twitch thread less cluttered.

I put together a project, picam, to use a Raspberry Pi with webcams or UVC hdmi capture devices like the CamLink and turn them into RTSP streams capable of sending the video and audio over the network. You can download an sd card image and flash it and configure the Pi using a web interface.

6 Likes

Some notes to help folks getting started.

After visiting the configuration page, click on the devices link to see what devices the Pi can see and edit the ones you want to use. Make sure you use a unique endpoint name for each one. After editing a device config you need to save the config and restart the stream service on the Pi by going to the admin page and clicking the ‘write config’ button, followed by clicking the ‘restart picam service’ button. Restarting the service will kill all feeds currently running.

Not all configurations are valid for each camera some common ones:

C920 Video
Type: C920
Encoding: h264 or mjpeg
Framerate: 30 or less
Resolution: Pretty much all of them

C922 Video
Type: C922
Encoding: mjpeg (no h264)
Framerate: 60 or less
Resolution: Any, but only 1280x720 for 60fps

Brio Video
Type: BRIO
Encoding: mjpeg (no h264)
Framerate: 60 or less
Resolution: Any, but only 1920x1080 or 1280x720 for 60fps
*1080@60 also requires plugging into a USB 3.0 port

C920/C922 Audio
Audio Rate: 32000 only
Type: C920

Brio Audio
Audio Rate: Any (but probably 48000)
Type: BRIO

The lower the exposure absolute setting, the faster the framerate can get to. On the Brio it should be at 200 or less for full 60fps, use the gain control to brighten up the image if necessary.

On the homepage you can click the any of the devices to open a realtime edit option for the webcam controls. These do not get persisted so if you like a setting you’ll need to edit the configuration in the devices page and then write the config/restart the service for the next time.

I’m going to try and make a tutorial video tonight if I can figure out how to do that.

1 Like

Grrrrr. Stupid time syncing. Looks like I mistakenly added the ntp package when I didn’t need to and it can cause the system to fall out of sync with the time inducing some latency. I’m going to put together a new build tonight and work on and update to disable one or the other time service and that makes a big difference in the low latency ability.

New version 2.1.0 pushed for download. Should fix clock sync issue and allow for stable latency in the stream for those syncing to clocks. If you’ve noticed excessive latency it might be a good idea to try this build.