{"id":20156210,"url":"https://github.com/openfun/jibri-pulseaudio","last_synced_at":"2025-09-09T13:35:50.323Z","repository":{"id":46865111,"uuid":"364567414","full_name":"openfun/jibri-pulseaudio","owner":"openfun","description":"🎞 A Jibri docker image using pulseaudio instead of alsa","archived":false,"fork":false,"pushed_at":"2021-09-22T07:25:25.000Z","size":31,"stargazers_count":15,"open_issues_count":0,"forks_count":4,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-03-03T01:44:53.476Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openfun.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-05-05T12:22:12.000Z","updated_at":"2025-02-13T08:59:21.000Z","dependencies_parsed_at":"2022-09-18T00:00:53.238Z","dependency_job_id":null,"html_url":"https://github.com/openfun/jibri-pulseaudio","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/openfun/jibri-pulseaudio","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfun%2Fjibri-pulseaudio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfun%2Fjibri-pulseaudio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfun%2Fjibri-pulseaudio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfun%2Fjibri-pulseaudio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openfun","download_url":"https://codeload.github.com/openfun/jibri-pulseaudio/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfun%2Fjibri-pulseaudio/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274302255,"owners_count":25260161,"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","status":"online","status_checked_at":"2025-09-09T02:00:10.223Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-11-13T23:37:59.568Z","updated_at":"2025-09-09T13:35:50.267Z","avatar_url":"https://github.com/openfun.png","language":"Makefile","readme":"# Jibri-pulseaudio, a Jibri docker image using pulseaudio instead of alsa\n\n## Overview\n\n[Jibri](https://github.com/jitsi/jibri) provides services for recording or\nstreaming a [Jitsi Meet](https://github.com/jitsi/jitsi-meet) conference.\n\nIt works by launching a Chrome instance rendered in a virtual framebuffer and\ncapturing and encoding the output with ffmpeg. The audio is captured with a\nvirtual audio device, which is a Alsa loopback device.\n\nTo use Jibri within a container (with the [official Jibri docker image](https://github.com/jitsi/docker-jitsi-meet/)), it requires to create a loopback device on the host and share it to the container. \n\nThis approach has the following drawbacks:\n - It is not practical to run multiple instances of Jibri on the same host.\n - Some cloud based container platforms does not allow customization of hosts\n   and therefore do not allow to create the required Alsa loopback sound\n   device.\n - It is hard to build a dynamic pool of Jibri containers with auto-scaling\n   features provided by some orchestrators (like\n   [Kubernetes HPA](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/)).\n\nThe purpose of this project is to replace Alsa with Pulseaudio in Jibri, to be\nable to run it within a container without any specific configuration on the\nhost.\n\n## Getting Started\n\nThe following instructions are meant to compile and run the Jibri docker image on your\nworkstation, with a fully functionning jitsi-meet stack.\n\n### Requirements\n\n  - Add the following entry to your `/etc/hosts`: `127.0.0.1\tmeet.jitsi`\n  - docker should be able to bind the port `443` on your workstation\n\n(Improvements are welcome here!)\n\n### Instructions\n\n**Initialize the project**\n - Clone the git repository\n - `make bootstrap`\n\n**Launch the services**\n - `make run`\n\nNote that a volume is mounted outside of the project directory to store persistent data for jitsi services. (By default: `~/.jitsi-meet-cfg`.  It can be customized with the `CONFIG` setting in the `.env` file).\n\n**Start a meeting and record it**\n - Open [https://meet.jitsi/](https://meet.jitsi/) on your browser and accept the certificate if needed\n - Start a recording with the jitsi-meet interface\n\nYou can watch `Jibri`'s logs with `make logs`.\n\nWhen the recording is stopped, you'll find your recordings in `~/.jitsi-meet-cfg/jibri/recordings/`.\n\nYou can customize the Jitsi instance by editing the `.env` file.\n\nYou can list available commands with `make help`.\n\n\n## Credits\n\nThis project benefits from the work of:\n\n - The Jitsi team with their [official Jibri docker image](https://github.com/jitsi/docker-jitsi-meet/).\n - [kpeiruza's jibri docker image](https://hub.docker.com/r/kpeiruza/jibri/) with Pulseaudio support.\n - [emrah's guide](https://community.jitsi.org/t/tip-pulseaudio-support-for-jibri/65780) to use Pulseaudio on the Jitsi community forum.  \n\nMany thanks to them!\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenfun%2Fjibri-pulseaudio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenfun%2Fjibri-pulseaudio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenfun%2Fjibri-pulseaudio/lists"}