A HTML5 Flash Video (RTMP) Player written in pure JavaScript without Flash. LONG LIVE RTMP ;-)
For those who really miss RTMP in Browser, cause HLS sucks. This will be a part of avideo.
heavily inspired bei bilibi`s FlvPlayer
This project consists of 2 parts.
- Websockify for wrapping TCP in WSS
- WebRTMP Client library
https://bunkertv.org/webrtmp/index.html
- RTMP container with H.264 + AAC / MP3 codec playback
- RTMP over Websocket low latency live stream playback <= 3 sec.
- Compatible with Chrome, FireFox, Safari 10, IE11 and Edge
- Extremely low overhead and hardware accelerated by your browser!
- Use of promises
<script src="dist/webrtmp.js"></script>
<video id="videoElement"></video>
<script>
const videoElement = document.getElementById('videoElement');
const rtmp_player = webrtmpjs.createWebRTMP();
rtmp_player.attachMediaElement(videoElement);
rtmp_player.open(document.location.host, 9001).then(()=>{ // Host, Port of WebRTMP Proxy
rtmp_player.connect("demo").then(()=>{ // Application name
rtmp_player.play("your streanname").then(()=>{ // Stream name
console.log("playing");
})
})
})
</script>
Prerequisites:
apt install websockify
Launch WSS RTMP-Wrapper (Don't forget to get certificates)
websockify -D --cert fullchain.pem --key privkey.pem --ssl-only 9001 127.0.0.1:1935
a lot of error and exception handling