FOSSMeet Video Team: Difference between revisions
OBS Client side
(Updated details about Nginx server) |
(OBS Client side) |
||
Line 4: | Line 4: | ||
The live streaming server was setup using nginx (with an rtmp module). Please use this [https://madhav.madhuvans.in/blog/nginx-rtmp/ link] to get an insight of the config files involved and brief explanation of concepts behind it. | The live streaming server was setup using nginx (with an rtmp module). Please use this [https://madhav.madhuvans.in/blog/nginx-rtmp/ link] to get an insight of the config files involved and brief explanation of concepts behind it. | ||
We used a VM in SSL with 6 Cores and 6 GB of RAM, however even with around 10-15 concurrent consumers, the server was not under heavy load (<10% thats how amazing nginx is). We didn't configure to serve multiple resolutions and bitrates, so maybe the reason for less load was that. The VM needs a port apart from '''https''' open to the internet to accept rtmp traffic. Please consult | We used a VM in SSL with 6 Cores and 6 GB of RAM, however even with around 10-15 concurrent consumers, the server was not under heavy load (<10% thats how amazing nginx is). We didn't configure to serve multiple resolutions and bitrates, so maybe the reason for less load was that. The VM needs a port apart from '''https''' open to the internet to accept rtmp traffic. | ||
Please consult Software Systems Lab Admins for the exact ports used as it wont be disclosed here. We also had Software System Lab's internet facing proxy and the SSL/TLS connection was terminated over there. This config was run in the VM inside a docker container. ( We had issues with using this config on nginx outside docker, and we just stuck with the parent docker container of the template). | |||
<pre> | <pre> | ||
Line 100: | Line 102: | ||
</pre> | </pre> | ||
=== | == Broadcast Side == | ||
===== Requirements ===== | |||
# OBS studio | |||
# DSLR Camera and Mini USB cable | |||
# gstreamer drivers | |||
Any RTMP client can be used to push to the server. We used OBS Studio to capture the video stream. | |||
Problems faced | |||
* We had trouble with DSLR input and this could have been mitigated if we tested this a day before. The problem was that we thought DSLR video input could be taken as plug and play but it wasn't the case in GNU/Linux. We ended up using Windows with proprietary drivers from Canon. We didn't know much about gstreamer and the run time heat prevented us from testing it. | |||
* We didn't have an audio input line from the Audio team, and the wire they provided made static. Please put down audio input to laptop via USB/AUX as a requirement from the Audio team. We had to use the DSLR's mic as input, it was OK but not the best. | |||
[[File:OBS Client config.png|thumb|390x390px|Stream key setup in OBS Studio/Streaming settings tab.]] | |||
However assuming DSLR input and an audio input is ready in OBS, head over to settings/Streaming. Here set the upstream link as '''rtmp://domain>:<custom_port>/app_name''' in the nginx config (our '''app_name''' was '''hls''' and '''domain''' was live.fosscell.org, check '''rtmp block''' in nginx config above). You can choose to omit ''':custom_port''' if you are using 1935 (default). We didn't setup authentication in our nginx server, that could be explored by the next years team! | |||
Once this is done, you can just hit start streaming in OBS :). | |||