All Projects → Lillifee → raspiCam

Lillifee / raspiCam

Licence: other
RaspiCam, a simple web application to stream, take pictures or record videos from your raspberry pi camera.

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to raspiCam

live-stream-media-source-extensions
Live stream h264 encoded mp4 video on media source extensions using ffmpeg, node.js, socket.io, and express. Works in chrome, firefox, safari, and android. Not iOS compatible. Work has moved to mse-live-player repo =>
Stars: ✭ 24 (-44.19%)
Mutual labels:  h264, live
RtmpPublishKit
rtmp publish kit for android , encode with mediacodec
Stars: ✭ 106 (+146.51%)
Mutual labels:  h264, live
Desktoplivestreaming
DesktopLiveStreaming
Stars: ✭ 138 (+220.93%)
Mutual labels:  h264, live
ShareScreenServer
share android screen live on udp
Stars: ✭ 21 (-51.16%)
Mutual labels:  h264, live
Nginx Http Flv Module
Media streaming server based on nginx-rtmp-module. In addtion to the features nginx-rtmp-module provides, HTTP-FLV, GOP cache and VHOST (one IP for multi domain names) are supported now.
Stars: ✭ 2,063 (+4697.67%)
Mutual labels:  h264, live
Swiftffmpeg
A Swift wrapper for the FFmpeg API
Stars: ✭ 243 (+465.12%)
Mutual labels:  h264
fevh264
baseline h.264 encoder
Stars: ✭ 18 (-58.14%)
Mutual labels:  h264
Flvplayer
🍭 FlvPlayer.js is a JavaScript player for decode flv to the canvas
Stars: ✭ 210 (+388.37%)
Mutual labels:  h264
Media Stream Library Js
JavaScript library to handle media streams on the command line (Node.js) and in the browser.
Stars: ✭ 192 (+346.51%)
Mutual labels:  h264
MMM-NFL
National Football League Module for MagicMirror²
Stars: ✭ 22 (-48.84%)
Mutual labels:  live
VideoCodecKit
iOS macOS 编解码库 脱离ffmpeg等外部依赖 支持H.264 H.265裸流播放 硬件编解码 rtmp推流等
Stars: ✭ 78 (+81.4%)
Mutual labels:  h264
myaas
Fresh Mysql instances for your developers in seconds
Stars: ✭ 26 (-39.53%)
Mutual labels:  live
epsAndroidPlayer
易居PGC直播Saas平台Android播放器SDK,Android平台原生播放器,性能高,画质好,直播延迟最低可达1秒。支持HLS,RTMP等流媒体协议,支持H264,AAC音视频编码技术。可灵活设置画幅,显示方向。
Stars: ✭ 13 (-69.77%)
Mutual labels:  h264
inke trick
No description or website provided.
Stars: ✭ 40 (-6.98%)
Mutual labels:  live
Jmuxer
jMuxer - a simple javascript mp4 muxer that works in both browser and node environment.
Stars: ✭ 222 (+416.28%)
Mutual labels:  h264
HupuLive
🏀 虎扑篮球直播命令行版
Stars: ✭ 70 (+62.79%)
Mutual labels:  live
Obs Ios Camera Source
Use your iPhone camera as a video source in OBS Studio and stream high quality video from your iPhone's camera over USB
Stars: ✭ 199 (+362.79%)
Mutual labels:  h264
uci
Ultra Compact Image (UCI)
Stars: ✭ 79 (+83.72%)
Mutual labels:  h264
LaravelForLive
视频直播(Laravel)
Stars: ✭ 19 (-55.81%)
Mutual labels:  live
crosswalk-webrtc
Android H5 demo for crosswalk WebView simple use, and add WebRTC & h264 support.
Stars: ✭ 26 (-39.53%)
Mutual labels:  h264

📷 RaspiCam

RaspiCam is a react application to stream, take pictures or record videos from your raspberry pi camera over a web interface.

  • Simple: a mobile-first designed user interface to provide a flawless user experience on the smartphone.
  • Lightweight: raspiCam uses the build-in libcamera-still and libcamera-vid to stream, capture and record videos.

Usecases

  • Monitoring camera
  • Timelapse photography
  • Video recorder
  • Camera to go with trigger (GPIO button or smartphone)
  • Use it as a tool to find the best camera settings for your project.
    • Adjust the settings without manually start and stop the libcamera-vid or libcamera-still.
    • Copy the result from the terminal and use it for your project.
  • MJPEG stream
    • for external applications like octoprint (not tested)
    • alternative for devices without media source extension
    • http://ip_address:8000/api/stream/mjpeg

Hardware

I'm using a Raspberry PI Zero W with a Raspberry PI HQ camera.

You can find the 3d printing files on https://www.prusaprinters.org/prints/48519-raspberry-pi-zero-webcam-hq-camera

picture

If you prefer a Raspberry PI4: https://www.prusaprinters.org/prints/61556-raspberry-pi4-hq-camera-aluminium-mix

Screenshots

picture

picture

picture

Installation

Raspberry PI OS

From version >1.2.0, raspiCam support the libcamera apps of the new Raspberry Pi OS. If you use an older version with raspistill and raspivid, please check version 1.2.0 in the release section.

If your raspberry is already up and running, you can skip this section and continue with the "Install Node.js" section.

Install the latest Raspberry Pi OS Lite with the Raspberry PI imager. Feel free to use the desktop version, but it's not necessary for the application.

Usefull links:

Update

After the installation, make sure your system is up to date:

sudo apt update
sudo apt upgrade

Install Node.js

Raspberry PI 4

Enable the NodeSource repository by running the following command in your terminal:

curl -sL https://deb.nodesource.com/setup_18.x | sudo bash -
sudo apt install nodejs

Raspberry PI Zero W

The latest versions of node doesn't provide a armv61 version. The last LTS version i could find was v10.24.0.

curl -o node-v10.24.0-linux-armv6l.tar.gz https://nodejs.org/download/release/v10.24.0/node-v10.24.0-linux-armv6l.tar.gz
tar -xzf node-v10.24.0-linux-armv6l.tar.gz
sudo cp -r node-v10.24.0-linux-armv6l/* /usr/local/

sudo reboot

To run the latest version on the PI zero you have to build epoll for node10.

npm install epoll

and copy the epoll.node from ./node_modules/build/Release/epoll.node to the raspiCam folder.

Check the node installation

To verify the installation, run the following command to print the installed node version.

node --version

Install RaspiCam

Dependencies

exiv2 is used to extract the thumbnails from the photos.

sudo apt install exiv2

RaspiCam

Download the latest release and extract it to a new raspiCam folder.

mkdir raspiCam && cd raspiCam
wget https://github.com/Lillifee/raspiCam/releases/latest/download/raspiCam.tar.gz
tar -xvzf raspiCam.tar.gz
Alternative: Clone the repository and build it Clone the repository and build the package:
```
git clone https://github.com/Lillifee/raspiCam.git

cd raspiCam/

npm install
npm run build
```
The bundled package should appear in the **build** folder.

Run RaspiCam

Change to the raspiCam or build folder and start the server:

node server.js

As soon the server is up and running, the following message appear:

[server] server listening on 8000

Open the browser and navigate to: http://__ip_address__:8000

Run RaspiCam as a service

To automatically start the RaspiCam on startup, you can run the RaspiCam as a service. Check the raspicam.service in the systemd folder in the repository and adapt it to your needs.

Copy the raspicam.service file to the systemd:

sudo cp raspicam.service /etc/systemd/system

Enable and start the raspicam service:

sudo systemctl enable raspicam.service
sudo systemctl start raspicam.service

If you encounter problems (e.g.: the server doesn't start), check the logs:

journalctl -u raspicam

Or stop and disable the service:

sudo systemctl disable raspicam.service
sudo systemctl stop raspicam.service

GPIO

RaspiCam supports triggering an image/video using a GPIO pin.

Not all GPIO pins are suitable to use as a capture trigger. I would suggest starting with a GPIO pin without additional usage like GPIO 17, 27 22, etc.

picture

Tipps

You can also check the following article to run the raspiCam headless. It includes a step by step instruction for:

  • PM2 - Autostart the process
  • NGINX - Reverse proxy to run raspiCam on port 80

Credits

Troubleshooting

Slow live stream

  • Check the WIFI connection
  • Close the web developer tools
  • Increase the quality compensation in the settings

Found a bug? Don't hesitate to create a new issue.

Please add your running setting to the ticket. You can find the latest command sent to raspiCam in the terminal output:

HINT If you found the right settings for your project, you can simple copy the command from there.

picture

Screenshots

picture

picture

picture

picture

picture

picture

picture

Theme

picture

picture

picture

Roadmap and ideas

Settings

  • Search settings
  • Setting explanation

Gallery

  • group timelapse photos
  • download multiple items (zip)

Keywords

jmuxer web application raspberry hq camera software react live player node.js raspberry pi stream h264 monitoring timelapse video recording capture libcamera-vid libcamera-still libcamera-app bullseye raspicam

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].