{"id":15857111,"url":"https://github.com/mamena2020/webrtcbroadcast","last_synced_at":"2026-02-23T21:33:33.029Z","repository":{"id":61833505,"uuid":"553883910","full_name":"Mamena2020/WebRTCBroadCast","owner":"Mamena2020","description":"Simple live streaming web application. you can streaming and watch as consumer. This Web App using WebRTC for media real-time communication, and Socket.io for signaling","archived":false,"fork":false,"pushed_at":"2022-12-06T12:49:35.000Z","size":210,"stargazers_count":8,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-27T04:24:06.583Z","etag":null,"topics":["live-streaming","nodejs","sfu","socket-io","streaming","streaming-application","streaming-video","webrtc"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/Mamena2020.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":"2022-10-18T23:30:15.000Z","updated_at":"2024-10-25T08:00:11.000Z","dependencies_parsed_at":"2023-01-23T07:50:15.567Z","dependency_job_id":null,"html_url":"https://github.com/Mamena2020/WebRTCBroadCast","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mamena2020%2FWebRTCBroadCast","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mamena2020%2FWebRTCBroadCast/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mamena2020%2FWebRTCBroadCast/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mamena2020%2FWebRTCBroadCast/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mamena2020","download_url":"https://codeload.github.com/Mamena2020/WebRTCBroadCast/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243801600,"owners_count":20350105,"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":["live-streaming","nodejs","sfu","socket-io","streaming","streaming-application","streaming-video","webrtc"],"created_at":"2024-10-05T20:20:35.128Z","updated_at":"2026-02-23T21:33:28.007Z","avatar_url":"https://github.com/Mamena2020.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WebRTCBroadCast\nSimple live streaming web application. you can streaming and watch as consumer. This Web App using \u003ca href=\"https://webrtc.org\"\u003eWebRTC\u003c/a\u003e for media real-time communication, and \u003ca href=\"https://socket.io\"\u003eSocket.io\u003c/a\u003e for signaling, also  SFU architecture which features the following data transmission processes between the media server and the endpoints (client).\n\n- Features\n  - Multiple Streaming\n  - Watch a Streaming\n\n- WebRTC (SFU architecture) \n\u003cimg src=\"public/img/sfu.png\" width=\"500\"\u003e\n\n- Clone this repo.\n  - npm update\n\n\n- Secure ip local\n  - for custom ip local (server.js host) other than localhost, then you have to set your local ip (http) as (https). because WebRTC won't work if ip is not secure (http).\n    to secure local ip. open this link on your chrome\n     - chrome://flags/#unsafely-treat-insecure-origin-as-secure\n     - and paste your ip address \n\n- Config\n  - set your host \u0026 port\n     - host \u0026 port\n        - public/config.js\n        - server.js\n        ```\n          const host = \"localhost\";\n          const port = \"3000\"\n        ```\n\n- Start server\n  - node server or nodemon server\n\n- Run.\n  - for broadcaster\n    - http://ip:port\n  - for viewers\n    - http://ip:port/viewer.html\n\n- Monitoring WebRTC Status on browser\n    - chrome://webrtc-internals/\n\n- Stunt Servers\n    - \"stun:stun.l.google.com:19302\"\n    - \"stun:stun.stunprotocol.org\"\n\n\n# References\n  \n  - Code.\n    - original code:\n       - https://github.com/coding-with-chaim/webrtc-one-to-many\n\n    - https://github.com/jamalag/flutter-webrtc-part2/blob/master/lib/main.dart\n    - https://stackoverflow.com/questions/21233828/detecting-that-the-peers-browser-was-closed-in-a-webrtc-videochat\n    - https://stackoverflow.com/questions/23325510/not-able-to-add-remote-ice-candidate-in-webrtc\n  \n  - Issues \n    - https://devscope.io/code/node-webrtc/node-webrtc/issues/713\n\n  - Videos\n    - https://www.youtube.com/watch?v=QgPcswKUnXw\u0026list=PL_YW-znSZ_dIeSBA9YiXwb-FtjOhoo-RS\u0026index=11\u0026ab_channel=AmirEshaq\n    - https://www.youtube.com/watch?v=V9g4MYtCHkY\u0026ab_channel=CodingWithChaim  \n    - https://www.youtube.com/watch?v=GMbdEnK8h3U\u0026t=148s\u0026ab_channel=CodingWithChaim \n    \n  - Articles\n    - https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/connectionState\n    - https://testrtc.com/find-webrtc-active-connection/\n    - https://www.kadekjayak.web.id/stun-turn-server/\n    - https://testrtc.com/webrtc-api-trace/\n    - https://stackoverflow.com/questions/42836729/how-to-fix-unreliable-webrtc-calling\n    - https://www.w3.org/2011/04/webrtc/wiki/images/archive/d/de/20151029000646%21RtpTransceivers_at_TPAC_2015.pdf\n    - https://blog.mozilla.org/webrtc/rtcrtptransceiver-explored/\n\n  - Mediasoup ref ( not implemented yet ) \n    - https://mediasoup.org/\n    - https://stackoverflow.com/questions/70635792/why-is-my-webrtc-peer-to-peer-application-failing-to-work-properly\n  \n  - Socket Stream ( not Implemented yet )\n    - https://github.com/vincentdieltiens/WebSocketFileTransfer\n    - https://stackoverflow.com/questions/56051454/mediastream-pipe-to-nodejs-socket-io-stream-to-google-speech-api-and-stream-back\n    - https://stackoverflow.com/questions/50976084/how-do-i-stream-live-audio-from-the-browser-to-google-cloud-speech-via-socket-io/50976085#50976085\n    \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmamena2020%2Fwebrtcbroadcast","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmamena2020%2Fwebrtcbroadcast","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmamena2020%2Fwebrtcbroadcast/lists"}