Pion WebRTC - A pure Go implementation of the WebRTC API

  •        351

Pion is the Modern Stack for Web Real-Time Communication. It implements the WebRTC API. Spend more time building and less time learning a new API. Its feature include PeerConnection API support for DataChannels, Send/Receive audio and video, Renegotiation. It provides API with direct RTP/RTCP access, API also allows developer to pass their own packetizer, Opus, PCM, H264, VP8 and VP9 packetizer, Sender/Receiver Reports, Easy integration with x264, libvpx, GStreamer and ffmpeg and lot more.

https://pion.ly/
https://github.com/pion/webrtc

Tags
Implementation
License
Platform

   




Related Projects

webrtc - A pure Golang implementation of the WebRTC Native API

  •    Go

See DESIGN.md for an overview of features and future goals. Check out the example applications to help you along your Pion WebRTC journey.

mediasoup - Cutting Edge WebRTC Video Conferencing

  •    Javascript

mediasoup provides cutting edge WebRTC video conferencing. It is a Selective Forwarding Unit (SFU) which supports both WebRTC and plain RTP input and output. It is a Node.js module/Rust crate in server side and tiny JavaScript and C++ libraries in client side.

starrtc-android-demo - 🚀starRTC,即时通讯(IM)系统,免费IM系统(含单聊,群聊,聊天室,文件传输),免费一对一视频聊天,VOIP,语音对讲(回音消除),直播连麦,视频直播,RTSP拉流,RTMP推流,webRTC服务端,在线教育,白板,小班课,在线会议,视频会议,视频监控,局域网直连(无需服务器),兼容webRTC, 支持webRTC加速,P2P高清传输,安卓、iOS、web互通,支持门禁对讲,可视对讲,电视盒子,树莓派,海思,全志,任天堂switch,云游戏,OTT设备,物联网平台,C语言自研方案,支持二次开发成类微信,类映客等APP,✨万水千山总是情,来个star行不行✨,更多示例请访问:

  •    

🚀starRTC,即时通讯(IM)系统,免费IM系统(含单聊,群聊,聊天室,文件传输),免费一对一视频聊天,VOIP,语音对讲(回音消除),直播连麦,视频直播,RTSP拉流,RTMP推流,webRTC服务端,在线教育,白板,小班课,在线会议,视频会议,视频监控,局域网直连(无需服务器),兼容webRTC, 支持webRTC加速,P2P高清传输,安卓、iOS、web互通,支持门禁对讲,可视对讲,电视盒子,树莓派,海思,全志,任天堂switch,云游戏,OTT设备,物联网平台,C语言自研方案,支持二次开发成类微信,类映客等APP,✨万水千山总是情,来个star行不行✨,更多示例请访问:

Ant Media Server - Streaming engine software that provides adaptive, ultra low latency streaming by using WebRTC technology

  •    Java

Ant Media Server is designed to provide live video streaming technology infrastructure with ultra-low latency(WebRTC) and low-latency(HLS, CMAF available in v2.2+). It can be used to enable streaming any type of live or on demand video to any devices including mobiles, PCs or IPTV boxes.


Kurento - Media Server responsible for media transmission, processing, loading and recording

  •    C++

Kurento Media Server is Kurento's core element. It is responsible for media transmission, processing, loading and recording. It is implemented in low level technologies based on GStreamer to optimize the resource consumption. It supports Networked streaming protocols, including HTTP, RTP and WebRTC, Group communications (MCUs and SFUs functionality) supporting both media mixing and media routing/dispatching.

RecordRTC.js - WebRTC JavaScript Library for Audio+Video+Screen+Canvas (2D+3D animation) Recording

  •    Javasript

RecordRTC is WebRTC JavaScript library for audio/video as well as screen activity recording. It supports Chrome, Firefox, Opera, Android, and Microsoft Edge. Platforms: Linux, Mac and Windows.

amazon-kinesis-video-streams-webrtc-sdk-c - Amazon Kinesis Video Streams Webrtc SDK is for developers to install and customize realtime communication between devices and enable secure streaming of video, audio to Kinesis Video Streams

  •    C

Create a build directory in the newly checked out repository, and execute CMake from it. mkdir -p amazon-kinesis-video-streams-webrtc-sdk-c/build; cd amazon-kinesis-video-streams-webrtc-sdk-c/build; cmake ..

SRS (Simple Realtime Server)- Simple, high efficiency and realtime video server, supports RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181.

  •    C++

SRS (Simple Realtime Server) is a simple, high efficiency and realtime video server, supports RTMP/WebRTC/HLS/HTTP-FLV/SRT. SRS is industrial-strength live streaming cluster, for the best conceptual integrity and the simplest implementation. SRS provides variety of inputs, for example, Push RTMP to SRS, Push RTSP/UDP/FLV to SRS, Pull Stream to SRS. SRS can transform the RTMP to other protocols or deliveries, for example, RTMP Transcode, Snapshot, Forward to Other Servers, Transmux to HTTP-FLV, Transmux to HLS, Transmux to HDS, Transmux SRT, DVR to FLV/MP4. SRS canbe used in CDN for large stream clusters, for example, RTMP Cluster、 OriginCluster, VHOST, Reload, HTTP-FLV Cluster.

webtty - Share a terminal session over WebRTC

  •    Go

There are a handful of bugs to fix, but everything works pretty well at the moment. Please open an issue if you find a bug. Or, install directly with Go. WebTTY requires go version 1.9 or higher.

janus-webrtc-gateway-docker - Perfect Docker Image for Media Streaming Expert User ( https://github

  •    Dockerfile

This is a docker image for Janus Webrtc Gateway. Janus Gateway is still under active development phase. So, as the official docs says, some minor modification of the middleware library versions happens frequently. I try to deal with such a chage as much as I can. If you need any request about this repo, free to contact me. About the details of setup for this docker image, you should read the official docs https://janus.conf.meetecho.com/index.html carefully. I think that janus is better for webinar(web seminar), and jitsi is better for web conference system. The scalability of the current Jitsi Video Bridge(20181007) is poor because of having no local recording file(I'm not sure of this..). https://www.youtube.com/watch?v=OHHoqKCjJ0E Jitsi last-n + VP8 simulcasting has the very good performance for web conference https://jitsi.org/wp-content/uploads/2016/12/nossdav2015lastn.pdf For the video format, janus recording is per video streaming, jitsi is for mixed video conference by using chrome headlesss + ffmpeg(alsa, libxcb). From these points, janus is suitable for webinar, jitsi is for web conference. Of course, both WebRTC SFU are amazing work!! I'm using both.

webrtc-sdk - WebRTC Simple Calling API + Mobile SDK - A simplified approach to RTCPeerConnection for mobile and web video calling apps

  •    Javascript

WebRTC SDK Upgraded! ES6, new camera control and 100x less code than v1. At PubNub we believe simplicity is essential for our SDK usability. We've taken a simplified approach to WebRTC Peer Connections by creating and easy-to-use SDK for developers. The ideas of simplicity should span all platforms and devices too and that's why we also support Android WebRTC mobile calling with compatibility for iOS native Objective-C based WebRTC SDK. This simple developer WebRTC SDK is powered by PubNub Data Stream Network.

spreed-webrtc - WebRTC audio/video call and conferencing server.

  •    Javascript

Spreed WebRTC implements a WebRTC audio/video call and conferencing server and web client. The latest source of Spreed WebRTC can be found on GitHub. If you are a user, just wanting a secure and private alternative for online communication make sure to check out the Spreedbox, providing a ready to use hardware with Spreed WebRTC included.

holla - An abstraction over P2P video/voice/data connections using WebRTC

  •    Javascript

Pipes a WebRTC video stream to a video element. el can be a string (id), jquery element, or dom node.

LiveKit - Open source, distributed video/audio rooms over WebRTC

  •    Go

LiveKit is an open source project that provides scalable, multi-user conferencing over WebRTC. It's designed to give you everything you need to build real time video/audio capabilities in your applications. It is horizontally scalable WebRTC Selective Forwarding Unit (SFU). It supports advanced features like speaker detection, simulcast, selective subscription, and moderation APIs.

aiortc - WebRTC and ORTC implementation for Python using asyncio

  •    Python

aiortc is a library for Web Real-Time Communication (WebRTC) and Object Real-Time Communication (ORTC) in Python. It is built on top of asyncio, Python's standard asynchronous I/O framework. To learn more about aiortc please read the documentation.

webrtc-streamer - WebRTC streamer for V4L2 capture devices and RTSP sources

  •    C++

This is a try to stream video sources through WebRTC using simple mechanism. It embeds a HTTP server that implements API and serve a simple HTML page that use them through AJAX.

hlsjs-p2p-engine - A free hls

  •    Javascript

All domain names that are not bound in the management system (https://oms.cdnbye.com) will stop providing P2P services. Please bind your domain names in time to avoid being affected. Put the quick-start.html in your web page, run it. Wait for a few seconds,then open the same page from another browser. Now you have a direct P2P connection between two browsers without plugin! The first web peer will serve as a seed, if no one else in the same channel.

webtorrent-hybrid - WebTorrent (with WebRTC support in Node.js)

  •    Javascript

In node.js, the webtorrent package only connects to normal TCP/UDP peers, not WebRTC peers. If you want to connect to all types of peers, including WebRTC peers, from node.js, you need to use this package (webtorrent-hybrid). Previous versions (0.x) of this package used wrtc, a WebRTC implementation via native extensions, the current one is based on electron-webrtc (which in turn uses electron-prebuilt) for better compatibility. It creates a hidden Electron process (which is based on Chromium, so WebRTC support is great!) and communicates with that process to enable WebRTC in Node.js. This adds a lot of overhead, so we are looking forward to using a pure JavaScript implementation, like perhaps Node-RTCPeerConnection when it's ready.

libjitsi - Advanced Java media library for secure real-time audio/video communication.

  •    Java

libjitsi is an advanced Java media library for secure real-time audio/video communication. It allows applications to capture, playback, stream, encode/decode and encrypt audio and video flows. It also allows for advanced features such as audio mixing, handling multiple streams, participation in audio and video conferences. Originally libjitsi was part of the Jitsi client source code but we decided to spin it off so that other projects can also use it. libjitsi is distributed under the terms of the Apache license.






We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.