{"id":13908709,"url":"https://github.com/Eyevinn/whip","last_synced_at":"2025-07-18T07:32:21.332Z","repository":{"id":37435643,"uuid":"467961902","full_name":"Eyevinn/whip","owner":"Eyevinn","description":"Client and Server modules for WebRTC HTTP Ingestion Protocol (WHIP)","archived":false,"fork":false,"pushed_at":"2024-03-17T14:53:24.000Z","size":3593,"stargazers_count":78,"open_issues_count":14,"forks_count":15,"subscribers_count":7,"default_branch":"main","last_synced_at":"2024-04-14T12:07:29.521Z","etag":null,"topics":["library"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Eyevinn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-03-09T14:30:47.000Z","updated_at":"2024-04-16T04:46:35.902Z","dependencies_parsed_at":"2024-04-16T04:46:13.682Z","dependency_job_id":"7b9a411e-e88d-4513-b121-55956bc27eea","html_url":"https://github.com/Eyevinn/whip","commit_stats":{"total_commits":211,"total_committers":6,"mean_commits":"35.166666666666664","dds":0.1563981042654028,"last_synced_commit":"dd22f497b71c3fd3fcb32c412e3cdfd72bc284c7"},"previous_names":[],"tags_count":111,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eyevinn%2Fwhip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eyevinn%2Fwhip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eyevinn%2Fwhip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eyevinn%2Fwhip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Eyevinn","download_url":"https://codeload.github.com/Eyevinn/whip/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226260602,"owners_count":17596495,"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":["library"],"created_at":"2024-08-06T23:02:56.241Z","updated_at":"2024-11-25T17:32:01.249Z","avatar_url":"https://github.com/Eyevinn.png","language":"TypeScript","funding_links":[],"categories":["HarmonyOS"],"sub_categories":["Windows Manager"],"readme":"# WebRTC-HTTP ingestion protocol\n\n![Screenshot](screenshot.png)\n\nLive demo at [web.whip.eyevinn.technology](https://web.whip.eyevinn.technology)\n\nClient and Server modules for WebRTC HTTP Ingestion Protocol (WHIP)\n\n| Module | Description |\n| ------ | ----------- |\n| [@eyevinn/whip-endpoint](https://www.npmjs.com/package/@eyevinn/whip-endpoint) | Server endpoint for providing WHIP resources |\n| [@eyevinn/whip-web-client](https://www.npmjs.com/package/@eyevinn/whip-web-client) | Client Javascript SDK for browser based WHIP client (WebRTC producer) |\n\n## Getting started\n\nThis will setup a WHIP endpoint, a demo ingest client and an WHEP based egress endpoint to be able to test end-to-end.\n\nInstall all dependencies\n\n```\nnpm install\n```\n\nRun development environment which will launch a demo / test page at http://localhost:1234 and a WHIP endpoint at `http://localhost:8000/api/v2/whip/sfu-broadcaster`\n\n```\nnpm run dev\n```\n\nStart media server and WHEP egress endoint as docker containers\n\n```\ndocker-compose -f docker-compose-sfu.yml up\n```\n\nThe WHEP egress endpoint is then available at `http://localhost:8001/whep/channel/\u003cchannelId\u003e`. The `\u003cchannelId\u003e` is the one provided as a query parameter to the WHIP endpoint, e.g. `http://localhost:8000/api/v2/whip/sfu-broadcaster?channelId=\u003cchannelId\u003e`. You can test WHEP playback with the Eyevinn WebRTC player available online at https://webrtc.player.eyevinn.technology/\n\n### With TLS termination\n\n```\nNODE_ENV=development \\ \nTLS_TERMINATION_ENABLED=true \\\nWHIP_ENDPOINT_USE_HTTPS=true \\\nnpm run dev\n```\n\n### Develop against demo backend\n\n```\nNODE_ENV=production npm run dev\n```\n\nTo fetch ICE config from remote\n\n```\nAPI_KEY=\u003csecret\u003e ICE_CONFIG_REMOTE=1 NODE_ENV=production npm run dev\n```\n\n## License (Apache-2.0)\n\n```\nCopyright 2022 Eyevinn Technology AB\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```\n\n## Support\n\nJoin our [community on Slack](http://slack.streamingtech.se) where you can post any questions regarding any of our open source projects. Eyevinn's consulting business can also offer you:\n\n- Further development of this component\n- Customization and integration of this component into your platform\n- Support and maintenance agreement\n\nContact [sales@eyevinn.se](mailto:sales@eyevinn.se) if you are interested.\n\n## About Eyevinn Technology\n\n[Eyevinn Technology](https://www.eyevinntechnology.se) is an independent consultant firm specialized in video and streaming. Independent in a way that we are not commercially tied to any platform or technology vendor. As our way to innovate and push the industry forward we develop proof-of-concepts and tools. The things we learn and the code we write we share with the industry in [blogs](https://dev.to/video) and by open sourcing the code we have written.\n\nWant to know more about Eyevinn and how it is to work here. Contact us at work@eyevinn.se!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEyevinn%2Fwhip","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FEyevinn%2Fwhip","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEyevinn%2Fwhip/lists"}