nginx-rtmp-module
hls.js
Our great sponsors
nginx-rtmp-module | hls.js | |
---|---|---|
31 | 26 | |
13,084 | 14,175 | |
- | 1.6% | |
0.0 | 9.9 | |
22 days ago | 1 day ago | |
C | TypeScript | |
BSD 2-clause "Simplified" License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
nginx-rtmp-module
-
Modifying source code of NGINX RTMP module to maintain connection to output stream while switching between input streams
Regarding the first solution, I've looked through some of the source code for the NGINX RTMP Module, and I believe the code I would need to modify lives in the ngx_rtmp_cmd_module.c file: https://github.com/arut/nginx-rtmp-module/blob/master/ngx_rtmp_cmd_module.c
- How can I develop a real time video streaming service with Django?
-
How to securely show web cam live stream 24/7 on website?
You could look at setting up the RTMP module on nginx and securing it with lets encrypt - https://github.com/arut/nginx-rtmp-module
-
We made KVRR vrc first radio station using jukeboxes placed across different worlds
foobar2000 -> OBS -> nginx server running nginx-rtmp-module
- Adding WebRTC support to OBS using Rust
-
Ask HN: FFmpeg real-time desktop streaming
If stuck for a server I've used this in the past. nginx with an RTMP module.
Also linking a config file I commented. Unsure if it'll still work and you can definitely simplify it for OP's needs. It was a proof of concept for a streaming service I was thinking up before realising how much money I don't have, haha
https://github.com/arut/nginx-rtmp-module
https://gist.github.com/cohan/7f676d3f561be62d0550785c015f00...
-
Quick question on recording through an encoder
If you can only output something like RTMP, then your options are a bit more limited. Set up an RTMP server somewhere (e.g. https://github.com/arut/nginx-rtmp-module), and connect with another client that will soak up the RTMP into a file - I think ffmpeg should be able to do that, but I've had the most luck with GStreamer. Again, avoid transcoding it on the way into a file, both ffmpeg and GStreamer can be set up to never touch the encoded media (just copy/pass it along).
-
RTMP with nginx and OBS on Ubuntu
Are you using the rtmp nginx module?
-
Criando seu próprio servidor de stream usando NGINX- RTMP
FROM buildpack-deps:stretch ENV NGINX_VERSION nginx-1.18.0 ENV NGINX_RTMP_MODULE_VERSION 1.2.1 RUN apt-get update && \ apt-get install -y ca-certificates openssl libssl-dev && \ rm -rf /var/lib/apt/lists/* RUN mkdir -p /tmp/build/nginx && \ cd /tmp/build/nginx && \ wget -O ${NGINX_VERSION}.tar.gz https://nginx.org/download/${NGINX_VERSION}.tar.gz && \ tar -zxf ${NGINX_VERSION}.tar.gz RUN mkdir -p /tmp/build/nginx-rtmp-module && \ cd /tmp/build/nginx-rtmp-module && \ wget -O nginx-rtmp-module-${NGINX_RTMP_MODULE_VERSION}.tar.gz https://github.com/arut/nginx-rtmp-module/archive/v${NGINX_RTMP_MODULE_VERSION}.tar.gz && \ tar -zxf nginx-rtmp-module-${NGINX_RTMP_MODULE_VERSION}.tar.gz && \ cd nginx-rtmp-module-${NGINX_RTMP_MODULE_VERSION} RUN cd /tmp/build/nginx/${NGINX_VERSION} && \ ./configure \ --sbin-path=/usr/local/sbin/nginx \ --conf-path=/etc/nginx/nginx.conf \ --error-log-path=/var/log/nginx/error.log \ --pid-path=/var/run/nginx/nginx.pid \ --lock-path=/var/lock/nginx/nginx.lock \ --http-log-path=/var/log/nginx/access.log \ --http-client-body-temp-path=/tmp/nginx-client-body \ --with-http_ssl_module \ --with-threads \ --with-ipv6 \ --add-module=/tmp/build/nginx-rtmp-module/nginx-rtmp-module-${NGINX_RTMP_MODULE_VERSION} && \ make -j $(getconf _NPROCESSORS_ONLN) && \ make install && \ mkdir /var/lock/nginx && \ rm -rf /tmp/build RUN ln -sf /dev/stdout /var/log/nginx/access.log && \ ln -sf /dev/stderr /var/log/nginx/error.log COPY nginx.conf /etc/nginx/nginx.conf EXPOSE 1935 CMD ["nginx", "-g", "daemon off;"]
-
Streaming to Multiple Platforms Simultaneously
But, if it's something you want to do, and want to do it inexpensively you want to use Nginx-RTMP - http://nginx-rtmp.blogspot.com/ - this is a free version of AntMedia Server without the $70 per month fee.
hls.js
-
Show HN: Caltrans CCTV
Good point; there's only a single server handling all the requests so things can be a bit slow depending on the time of day. And there are browser limits to the number of concurrent connections.
Apple browsers with native HLS support are better than those without as well. Other browsers need to load everything via https://github.com/video-dev/hls.js/ which slows things down.
- Hls.js – JavaScript Library for HTTP Live Streaming
-
Video Player just doesn't work
Another user using Ubuntu + Firefox just reported this issue recently. You're likely running into this issue - the streaming library we use requires a codec that some browsers have bundled, but Firefox is not one of them. It expects the OS to provide it, and it sounds like yours is not.
-
Can't get HLS.js to work with Jellyfin for certain media.
I'm trying to build a simple web player for Jellyfin, for another project I'm working on that will embed a clipper. I am using HLS.js to load HLS streams, which seems to work really well for movies, but not at all for shows.
- Ajutor realizarea unui live streaming website
-
Shaka Player for media playback - implementation, use cases, pros and cons
If you mean hls.js https://github.com/video-dev/hls.js/, I prefer Shaka because it can play both HLS and DASH, adding tons of stuff on top of it
-
Adding WebRTC support to OBS using Rust
I don't know the answer to the WebRTC part, but as long as you have a server with not-outrageously-priced outbound bandwidth, you can install an open source RTMP server like SRS[1], and stream to that RTMP server from OBS. It's really easy, configure the RTMP server & stream key, then "Start Streaming" which is right next to "Start Recording". You can then hand your friends a link, and they can play it in any media player with RTMP/HLS/FLV stream support, or you can add a simple web UI with e.g. hls.js[2] (very easy to write, there might even be prepackaged solutions) so that they truly don't need to download anything.
[1] https://github.com/ossrs/srs
[2] https://github.com/video-dev/hls.js/
-
How could I create live stream with AV1
I think HLS.js solved the same issue for H264.
-
How do you play m3u8 files?
hls.js
-
Guide: Simple video host.
https://github.com/video-dev/hls.js/ <--download the release.zip, unpack it, extract dist/hls.js and dist/hls.js.map you can discard the rest. Near as I can tell these do not contain any external HTTP calls, IE: it's fully self-contained.
What are some alternatives?
srt - Secure, Reliable, Transport
video.js - Video.js - open source HTML5 video player
rtsp-simple-server - Also known as rtsp-simple-server. ready-to-use RTSP / RTMP / LL-HLS / WebRTC server and proxy that allows to read, publish and proxy video and audio streams. [Moved to: https://github.com/aler9/mediamtx]
react-player - A React component for playing a variety of URLs, including file paths, YouTube, Facebook, Twitch, SoundCloud, Streamable, Vimeo, Wistia and DailyMotion
docker-nginx-rtmp - 🐋 A Dockerfile for nginx-rtmp-module + FFmpeg from source with basic settings for streaming HLS. Built on Alpine Linux.
Plyr - A simple HTML5, YouTube and Vimeo player
YouPHPTube - Create Your Own Broadcast Network With AVideo Platform Open-Source. OAVP OVP
flv.js - HTML5 FLV Player
PeerTube - ActivityPub-federated video streaming platform using P2P directly in your web browser
rtsp-stream - Out of box solution for RTSP - HLS live stream transcoding. Makes RTSP easy to play in browsers.
Project-Lightspeed - A self contained OBS -> FTL -> WebRTC live streaming server. Comprised of 3 parts once configured anyone can achieve sub-second OBS to the browser livestreaming
ffmpeg.js - Port of FFmpeg with Emscripten