Comments (12)
Yes just as long as it outputs a stats page in the same format as the 1.7 one in NOALBS, you could also try using the built-in NMS, then you don't need any nginx at all.
from nginx-obs-automatic-low-bitrate-switching.
So I figured I'd give NMS a try and you actually just solved a problem we've been going nuts over - first, whenever we'd connect OBS to our nginx rtmp server, it would take a while for the feed to show up on OBS running on that server as an input source - with NMS, it starts up near instantly! Also, we were having issues with nginx where it would sometimes give us a grey screen instead of the feed, and sometimes it would just fail such that we'd have to stop the source OBS and then restart the feed on the server OBS as well - with this setup, it loads/unloads the feed much more effortlessly. Cool - I'm definitely gonna play with this some more :)
Thanks!!
Mike
from nginx-obs-automatic-low-bitrate-switching.
Also use Media source instead of VLC Source, change the the settings to this:
But with your rtmp url etc..
from nginx-obs-automatic-low-bitrate-switching.
Ok, so is that a recent change? I could swear this wasn't there before, but I could very well be mistaken. It seemed like all the documentation/posts were recommending to install VLC and then use a VLC media source for rtmp sources.
Btw, this NMS server - is this essentially the same thing as Nginx with rtmp? In other words, is this a production-quality rtmp server? I've never worked with node.js stuff before and all the guilds recommend using Nginx so that's what we used... but I'm open to try new stuff :)
Thanks so much for your help! This NOALBS tool is realy cool!
from nginx-obs-automatic-low-bitrate-switching.
Yeah I believe it changed starting v26, Node-Media-Server is very production ready and can be used and relied on professionally, my tutorial video says to use VLC and VLC source etc.. as the Media Source wasn't as reliable. But now it is by far the best way to go.
from nginx-obs-automatic-low-bitrate-switching.
Very cool! Ok, well, I guess I'll be doing some more reading on NMS. Thanks!!
from nginx-obs-automatic-low-bitrate-switching.
So is there any documentation anywhere on what directives can be used in config.json? What I'd like to do is set up multiple applications, some for ingest into our server, and some to push to multiple locations (i.e. push to two different Twitch accounts). I looked everywhere but I can't seem to figoure out the correct syntax to accomplish this. This what I use for Nginx:
rtmp {
server {
listen 1935;
chunk_size 4096;
# Input ingest that feeds into OBS
# --------------------------
application live {
live on;
}
# Splitter ingest that comes from OBS
# --------------------------------
application splitter {
live on;
push rtmp://live-sfo.twitch.tv/app/[stream key1];
push rtmp://live-sfo.twitch.tv/app/[stream key2];
}
}
}
from nginx-obs-automatic-low-bitrate-switching.
That doesn't go in the config.json
for noalbs, that goes in the nginx nginx.conf
file.
Try following this: RTMP Multistreaming
Let me know how it goes.
from nginx-obs-automatic-low-bitrate-switching.
Sorry - my message was so unclear it's horrible!! Lemme try this again:
What would be the comparible directives that I would use for NMS to achive the same results as the nginx.conf example I have in my previous message. I looked on the NMS github page and I couldn't find any listings of all the directives similar to what is availble for the nginx rtmp module.
from nginx-obs-automatic-low-bitrate-switching.
Okay so NMS makes this a bit tricky, because the relay directive just adds the key you're streaming to, to the end of the rtmp url for the relay, example config:
"rtmp": {
"application": "live",
"key": "cam1"
},
"nodeMediaServer": {
"rtmp": {
"port": 20000,
"chunk_size": 60000,
"gop_cache": true,
"ping": 30,
"ping_timeout": 60
},
"http": {
"port": 8000,
"mediaroot": "./html",
"allow_origin": "*"
},
"relay": {
"ffmpeg": "C:/ffmpeg/bin/ffmpeg.exe",
"tasks": [
{
"app": "live",
"mode": "push",
"edge": "rtmp://ord02.contribute.live-video.net/app/example_stream_key"
}
]
}
},
And I stream to /live/cam1, it tries to push the relay to rtmp://ord02.contribute.live-video.net/app/example_stream_key/cam1
the only way I can get around this is to use example_stream_key
as my key, so I was able to get it to work like this:
"rtmp": {
"application": "live",
"key": "example_stream_key"
},
"nodeMediaServer": {
"rtmp": {
"port": 20000,
"chunk_size": 60000,
"gop_cache": true,
"ping": 30,
"ping_timeout": 60
},
"http": {
"port": 8000,
"mediaroot": "./html",
"allow_origin": "*"
},
"relay": {
"ffmpeg": "C:/ffmpeg/bin/ffmpeg.exe",
"tasks": [
{
"app": "live",
"mode": "push",
"edge": "rtmp://ord02.contribute.live-video.net/app"
}
]
}
},
then whatever I was using to stream via RTMP I would stream to /live/example_stream_key
and then it would stream to twitch and I would use that example_stream_key
in OBS as well to pull in the video feed as a source in a scene.
I am sure there is a way around this and I'm looking at the code now to see if there is a work around or maybe I just missed something.. either way here is a solution.. a shitty solution.. but still a solution =/
P.S. - You need to have FFMPEG somewhere and make sure the FFMPEG option in the relay directive is pointing to the correct place.
from nginx-obs-automatic-low-bitrate-switching.
That is a weird quirk! I'll have to play with it tomorrow when I get a free moment to get a better feel for the behavior. Is there a list of all the various directives and associated options (i.e. relay, rtmp, nodeMediaServer, etc), or are you just digging through the code? I do a decent amount of programming with Python, but I haven't done anything with node so I'm not really sure where to even look... I might have to start playing with it.
So I posted a somewhat simple example - my ultimate goal is to have multiple ingest options so that multiple DJs can connect into my rtmp server using different rtmp ingests (i.e. rtmp://server/live/dj1, rtmp://server/live/dj2, rtmp://server/live/dj3, etc) so that will get interesting as the Twitch ingest keys are entirely different than the inbound feeds (were this limitation prove to be the only way to accomplish this).
If it helps, I'm happy to post something to the NMS github as well as this is kinda unrelated to NOALBS, but I'm super-appreciative for your help!!
from nginx-obs-automatic-low-bitrate-switching.
If it helps, I'm happy to post something to the NMS github as well as this is kinda unrelated to NOALBS
Go for it, I'll keep an eye out for it.
And no problem.. I was super curious if NMS had the ability to do this as well =)
I was looking through this: https://www.nodemedia.cn/doc/web/#/5?page_id=11
And this: https://hub.docker.com/r/illuspas/node-media-server
Yeah this is not even in NOALBS scope, mainly because NOALBS can only monitor one stream key..
from nginx-obs-automatic-low-bitrate-switching.
Related Issues (20)
- No auto switcher chat notification from 2.7.2 HOT 5
- enableAutoStopStreamOnHostOrRaid stopped working HOT 3
- nginx stats page occasionally not reachable - causes instant switch to offline scene HOT 4
- Noalbs hangs if websocket-connection is unexpected interrupted
- v2.7.3 - bot not posting scene name when switching scene HOT 1
- (Request)Custom bot scene change message HOT 5
- (Request) Provide localhost API endpoint returning stream statistics
- (Request) Add log error messaging when switcher scenes do not exist HOT 1
- (Request) YouTube chat channel control
- kick.com
- Unable to display Chinese interface HOT 2
- Adding support for MediaMTX HOT 3
- NOALBS does not work with obs-websocket-4.9.1-compat HOT 1
- kiloview p2 bonding server, when device is off NOALBS stay in LIVE scene
- Add support for Kick HOT 1
- hey im having trouble with the .env on mac its not there only config and launch HOT 1
- Question about new !collection command HOT 1
- Every command work but "!zw" no. HOT 1
- Noob - Twitch is failing HOT 2
- ERROR noalbs::chat::twitch: Twitch authentication failed HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nginx-obs-automatic-low-bitrate-switching.