Jump to content

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 SSL Admins for the exact ports used as it wont be disclosed here.  
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>


=== <u>Requirements</u> ===
== 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!
 


# Server Side.  
Once this is done, you can just hit start streaming in OBS :).
## VM with (spec here)
## nginx with config (link here)
# Broadcasting Side
## OBS studio
## DSLR Camera and Mini USB cable
## gstreamer drivers
##
student
24

edits