All Projects → notedit → Rtmp To Webrtc

notedit / Rtmp To Webrtc

rtmp to webrtc

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Rtmp To Webrtc

Awesome Live Stream
Webrtc && Nginx && DASH && Quic 学习资料收集,持续更新中
Stars: ✭ 290 (+72.62%)
Mutual labels:  webrtc, rtmp
Janus Webrtc Gateway Docker
Perfect Docker Image for Media Streaming Expert User ( https://github.com/meetecho/janus-gateway )
Stars: ✭ 582 (+246.43%)
Mutual labels:  webrtc, rtmp
Monibuca
🧩 Monibuca is a Modularized, Extensible framework for building Streaming Server
Stars: ✭ 307 (+82.74%)
Mutual labels:  webrtc, rtmp
yangwebrtc
Webrtc SDK for C++
Stars: ✭ 257 (+52.98%)
Mutual labels:  rtmp, webrtc
Rtmp Ts Dash Webrtc
👾 音视频解决方案 Audio and video solutions(AV1)
Stars: ✭ 129 (-23.21%)
Mutual labels:  webrtc, rtmp
Zlmediakit
WebRTC/RTSP/RTMP/HTTP/HLS/HTTP-FLV/WebSocket-FLV/HTTP-TS/HTTP-fMP4/WebSocket-TS/WebSocket-fMP4/GB28181 server and client framework based on C++11
Stars: ✭ 5,248 (+3023.81%)
Mutual labels:  rtmp, webrtc
Anyrtc Rtmp Opensource
RTMP 推流器,RTMP(HLS)秒开播放器,跨平台(Win,IOS,Android)开源代码
Stars: ✭ 3,871 (+2204.17%)
Mutual labels:  webrtc, rtmp
Dockerfiles
Optimized media, analytics and graphics software stack images. Use the dockerfile(s) in your project or as a recipe book for bare metal installation.
Stars: ✭ 98 (-41.67%)
Mutual labels:  rtmp, webrtc
Rtp Streamer
rtp record and rtp streamer
Stars: ✭ 60 (-64.29%)
Mutual labels:  webrtc, rtmp
Analysisavp
音视频学习,相关文件格式/协议分析。h264 nalu aac adts flv
Stars: ✭ 38 (-77.38%)
Mutual labels:  webrtc, rtmp
Media Server Go
WebRTC media server for go
Stars: ✭ 362 (+115.48%)
Mutual labels:  webrtc, rtmp
Media Server Go Demo
webrtc media server go demo
Stars: ✭ 140 (-16.67%)
Mutual labels:  webrtc, rtmp
Ovenmediaengine
OvenMediaEngine (OME) is a streaming engine for real-time live broadcasting with sub-second latency.
Stars: ✭ 760 (+352.38%)
Mutual labels:  webrtc, rtmp
Html5 Dash Hls Rtmp
🌻 HTML5播放器、M3U8直播/点播、RTMP直播、低延迟、推流/播流地址鉴权
Stars: ✭ 1,805 (+974.4%)
Mutual labels:  webrtc, rtmp
Srs
SRS is a simple, high efficiency and realtime video server, supports RTMP, WebRTC, HLS, HTTP-FLV, SRT and GB28181.
Stars: ✭ 16,734 (+9860.71%)
Mutual labels:  webrtc, rtmp
P2pt
Simple WebRTC Peer 2 Peer connections using WebTorrent trackers as the signalling server. Use WebTorrent trackers for any kind of WebRTC app ! 🔥 Make WebRTC apps fast & easy ! 🚀⭐
Stars: ✭ 159 (-5.36%)
Mutual labels:  webrtc
Roomler
Roomler - Multi-party Video Conferencing & Team Collaboration Tool using WebRTC (Janus Gateway)
Stars: ✭ 160 (-4.76%)
Mutual labels:  webrtc
Nextrtc Signaling Server
NextRTC is simple WebRTC signaling server written in java. It provides signal exchange and easy to integrate API
Stars: ✭ 158 (-5.95%)
Mutual labels:  webrtc
P2p Cdn Sdk Javascript
Free p2p cdn github javascript sdk to reduce video streaming costs of live and on demand video using webrtc by upto 90% and improve scalability by 6x - 🚀 Vadootv 🚀
Stars: ✭ 158 (-5.95%)
Mutual labels:  webrtc
React Native Webrtc Janus Gateway
Video conference system for mobile application. Base technology is react-native-webrtc + Janus Webrtc Gateway
Stars: ✭ 164 (-2.38%)
Mutual labels:  webrtc

rtmp-to-webrtc

基于RTMP-CDN和WebRTC的低延迟(500ms以内)直播系统

观看效果

https://rtmp-to-webrtc.dot.cc

demo 部署在个人测试服务器上, 带宽有限, 如果挂了请通知我.

如何工作

  • RTMP推流到CDN上, 需要进行编码参数和gop的参数调优
  • 边缘节点部署webrtc服务器
  • 用户访问一路视频流的时候, 边缘节点webrtc服务器去CDN进行拉流
  • 把rtmp流转封装为rtp, 喂给webrtc服务器

RTMP推流脚本

推流部分使用ffmpeg

ffmpeg -f lavfi -re -i color=black:s=640x480:r=15 -filter:v "drawtext=text='%{localtime\:%T}':fontcolor=white:fontsize=80:x=20:y=20" \
-vcodec libx264 -tune zerolatency -preset ultrafast  -bsf:v h264_mp4toannexb  -g 15 -keyint_min 15 -profile:v baseline -level 3.0   \
-pix_fmt yuv420p -r 15 -f flv rtmp://39.106.248.166/live/live

RTMP转封装RTP

此部分使用了gstreamer, 只所以用gstreamer是因为发现ffmpeg的转出来的rtp包, 有一定概率webrtc会解析失败, 还未找到具体原因

gst-launch-1.0 -v  rtmpsrc location=rtmp://localhost/live/{stream} ! flvdemux ! h264parse ! \
rtph264pay config-interval=-1 pt={pt} !  udpsink host=127.0.0.1 port={port}

一些数据

服务端部署在阿里云上, 延迟在1000毫秒内, gstreamer的转封装引入了300ms-500ms延迟(目测, 还没验证). 优化后整体延迟可以在500ms以内.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].