{"id":19721373,"url":"https://github.com/meinside/rpi-mjpg-streamer","last_synced_at":"2025-04-29T21:31:21.786Z","repository":{"id":13506303,"uuid":"16197184","full_name":"meinside/rpi-mjpg-streamer","owner":"meinside","description":"Instructions and helper scripts for running mjpg-streamer on Raspberry Pi","archived":false,"fork":false,"pushed_at":"2023-03-05T23:59:30.000Z","size":34,"stargazers_count":103,"open_issues_count":0,"forks_count":31,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-05T19:51:12.457Z","etag":null,"topics":["mjpg-streamer","raspberry-pi"],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/meinside.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-01-24T06:45:12.000Z","updated_at":"2025-01-17T20:48:37.000Z","dependencies_parsed_at":"2023-01-11T18:36:25.118Z","dependency_job_id":null,"html_url":"https://github.com/meinside/rpi-mjpg-streamer","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meinside%2Frpi-mjpg-streamer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meinside%2Frpi-mjpg-streamer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meinside%2Frpi-mjpg-streamer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meinside%2Frpi-mjpg-streamer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/meinside","download_url":"https://codeload.github.com/meinside/rpi-mjpg-streamer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251585809,"owners_count":21613281,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mjpg-streamer","raspberry-pi"],"created_at":"2024-11-11T23:14:07.064Z","updated_at":"2025-04-29T21:31:16.768Z","avatar_url":"https://github.com/meinside.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rpi-mjpg-streamer\n\nInstructions and helper scripts for running mjpg-streamer on Raspberry Pi.\n\n\n## A. Setup mjpg-streamer\n\n### Enable Raspberry Pi Camera module from raspi-config\n\n```bash\n$ sudo raspi-config\n```\n\n### Install necessary packages for mjpg-streamer\n\n```bash\n$ sudo apt-get update\n$ sudo apt-get install build-essential libjpeg-dev imagemagick libv4l-dev git cmake uvcdynctrl\n```\n\n### Build mjpg-streamer\n\n```bash\n$ sudo ln -s /usr/include/linux/videodev2.h /usr/include/linux/videodev.h\n$ git clone https://github.com/jacksonliam/mjpg-streamer\n$ cd mjpg-streamer/mjpg-streamer-experimental\n$ cmake -DCMAKE_INSTALL_PREFIX:PATH=.. .\n$ make install\n```\n\n### Setup video4linux for Raspberry Pi Camera module\n\n```bash\n$ sudo modprobe bcm2835-v4l2\n$ sudo vi /etc/modules\n\n# add following line:\nbcm2835-v4l2\n\n$ sudo vi /boot/config.txt\n\n# add following line if you want to disable RPi camera's LED:\ndisable_camera_led=1\n```\n\n### Add yourself to the video group\n\n```bash\n$ sudo usermod -a -G video $USER\n```\n\n## B. Run mjpg-streamer\n\n### 1. Clone this repository\n\n```bash\n$ git clone https://github.com/meinside/rpi-mjpg-streamer.git\n```\n\n### 2-a. Run mjpg-streamer from the shell directly\n\n```bash\n# copy \u0026 edit run-mjpg-streamer.sh to your environment or needs\n$ cp rpi-mjpg-streamer/run-mjpg-streamer.sh.sample somewhere/run-mjpg-streamer.sh\n$ vi somewhere/run-mjpg-streamer.sh\n\n# then run\n$ somewhere/run-mjpg-streamer.sh\n```\n\n### 2-b. Run mjpg-streamer as a service\n\n#### systemd\n\n```bash\n# copy \u0026 edit systemd/mjpg-streamer.service file,\n$ sudo cp rpi-mjpg-streamer/systemd/mjpg-streamer.service.sample /lib/systemd/system/mjpg-streamer.service\n$ sudo vi /lib/systemd/system/mjpg-streamer.service\n\n# then register as a service\n$ sudo systemctl enable mjpg-streamer.service\n\n# or remove it\n$ sudo systemctl disable mjpg-streamer.service\n\n# and start/stop it\n$ sudo systemctl start mjpg-streamer.service\n$ sudo systemctl stop mjpg-streamer.service\n```\n\n### 3. Or run with docker\n\nWith docker, you don't have to build mjpg-streamer manually.\n\n#### (A) With docker\n\nBuild with essential build arguments, (see the argument names and sample values in [.env](https://github.com/meinside/rpi-mjpg-streamer/blob/master/.env) file)\n\n```bash\n$ docker build -t streamer:latest \\\n\t\t--build-arg PORT=9999 \\\n\t\t--build-arg RESOLUTION=400x300 \\\n\t\t--build-arg FPS=24 \\\n\t\t--build-arg ANGLE=0 \\\n\t\t--build-arg FLIPPED=false \\\n\t\t--build-arg MIRRORED=false \\\n\t\t--build-arg USERNAME=user \\\n\t\t--build-arg PASSWORD=some-password \\\n\t\t.\n```\n\nthen run with:\n\n```bash\n$ docker run -p 9999:9999 --device /dev/video0 -it streamer:latest\n```\n\n#### (B) With docker-compose\n\nBuild with optional build arguments, (see the argument names and default values in [.env](https://github.com/meinside/rpi-mjpg-streamer/blob/master/.env) file)\n\n```bash\n# build with the default values\n$ docker-compose build\n\n# or with custom values\n$ docker-compose build --build-arg PORT=9999 --build-arg USERNAME=user --build-arg PASSWORD=some-password\n```\n\nthen run with:\n\n```bash\n$ docker-compose up -d\n```\n\nIf you set custom port number, you should run with that value:\n\n```bash\n$ PORT=9999 docker-compose up -d\n```\n\n## C. Connect\n\nConnect through the web browser:\n\n![Connected](https://cloud.githubusercontent.com/assets/185988/2740477/3501d5b0-c6d3-11e3-85de-de3ceb302325.png)\n\nMost modern browsers(including mobile browsers like Safari and Chrome) will show the live stream immediately.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeinside%2Frpi-mjpg-streamer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmeinside%2Frpi-mjpg-streamer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeinside%2Frpi-mjpg-streamer/lists"}