{"id":6318,"date":"2021-07-23T12:31:24","date_gmt":"2021-07-23T17:01:24","guid":{"rendered":"https:\/\/www.apps4rent.com\/blog\/?p=6318"},"modified":"2023-05-17T14:12:42","modified_gmt":"2023-05-17T18:42:42","slug":"rtmp-server-with-nginx-for-obs-streaming","status":"publish","type":"post","link":"https:\/\/www.apps4rent.com\/blog\/rtmp-server-with-nginx-for-obs-streaming\/","title":{"rendered":"How to Set Up RTMP Server with NGINX for OBS Streaming?"},"content":{"rendered":"<p>Many streamers use platforms such as Twitch.tv to deliver their video content. While these platforms offer sufficient features for most regular streamers, tech-savvy professionals often require additional capabilities, such as more control over streams, the ability to provide other users to stream to them, or stream to multiple platforms. These scenarios involve the use of an RTMP server. Many streamers have switched to private RTMP servers for streaming, instead of common services such as YouTube that hold content behind advertisements. In this article, we will explore how to set up an RTMP server with NGINX for OBS streaming.<\/p>\n<h2 style=\"font-size: 24px;\">What Are the System Requirements for Setting Up NGINX RTMP Server?<\/h2>\n<p>NGINX is an open-source software that was designed as a web server, and now supports other applications such as reverse proxying, caching, load balancing, and media streaming, among others. The NGINX RTMP module can be used with the NGINX web server along with other open-source applications such as OBS for live streaming using HLS and RTMP protocols. Here are the system requirements for setting up the NGINX RTMP server for live streaming.<\/p>\n<ul>\n<li style=\"margin-bottom: 10px;\">Users need a server box or a VPS (virtual private server) with sufficient bandwidth. The bandwidth requirement can be estimated by multiplying the size of the stream by the sum of the estimated number of viewers and uploaders.<\/li>\n<li style=\"margin-bottom: 10px;\">While NGINX is designed for Ubuntu OS, users can opt for the widely used Windows Server operating system with command modifications.<\/li>\n<li style=\"margin-bottom: 10px;\">Although RTMP is light on system resources and can be supported on a system with as little as 2GB RAM, it is recommended to use a virtual machine with 4GB RAM, a 20GB hard drive, and an equivalent of Intel i7 processor core to support live streaming.<\/li>\n<\/ul>\n<h2 style=\"font-size: 24px;\">How to Use NGINX RTMP Server for OBS Streaming?<\/h2>\n<p>While the exact procedure to set up NGINX can vary depending on the operating system, here is an overview of the process involved in setting up an RTMP Server with NGINX for <span style=\"color: #007fac;\"><a style=\"color: #007fac;\" href=\"https:\/\/www.apps4rent.com\/obs-open-broadcaster-software-streaming-hosting\/\">OBS streaming<\/a><\/span>.<\/p>\n<ul>\n<li style=\"margin-bottom: 10px;\">Login to the server as a root user using the secure shell protocol (SSH).<\/li>\n<li style=\"margin-bottom: 10px;\">Install NGINX and the RTMP module on the server.<\/li>\n<li style=\"margin-bottom: 10px;\">Configure NGINX to use the RTMP module This will allow users to forward the RTMP stream to other places.<\/li>\n<li style=\"margin-bottom: 10px;\">Install OBS on the machine, and select Screen Capture by clicking on the + under Source when the application launches.<\/li>\n<li style=\"margin-bottom: 10px;\">Provide the IP address of the streaming server and the Stream Key.<\/li>\n<li style=\"margin-bottom: 10px;\">Use the stream key used earlier in OBS in the preferred platform or application to view the stream.<\/li>\n<\/ul>\n<h3 style=\"font-size: 23px;\">Apps4Rent Can Help with Cloud Hosting for Live Streaming Server<\/h3>\n<p>While setting up an RTMP server is possible on even a basic machine such as a Raspberry Pi, there could be dynamic IP issues with residential hosting. Additionally, there could be bandwidth issues when several streamers stream to the server. These challenges can be mitigated with dedicated OBS hosting.<\/p>\n<p><strong>As a Citrix and Microsoft Partner,<\/strong> Apps4Rent can host OBS and NGINX RTMP servers in the cloud on virtual machines in our top-tier SSAE-16 level datacenters or Azure. Contact our OBS solution architects, available 24\/7 via phone, chat, and email for assistance.<\/p>\n<style>.buttonp {margin-bottom: 30px;margin-top: 35px;padding: 15px 20px;font-size: 20px !important;background: #375181;font-family: sans-serif;color: #fff;border: #9dbfff 2px solid;box-shadow: none;font-weight: bold;width:auto;}#ddexitpopwrapper.open .ddexitpop {display: block;}@media only screen and (min-width:99px) and (max-width:767px){#ddexitpopwrapper.open .ddexitpop {display: none;}}<\/style>\r\n<link rel=\"stylesheet\" type=\"text\/css\" href=\"https:\/\/www.apps4rent.com\/blog\/wp-content\/themes\/apps4rentoffice\/popup\/new-ddexitpop.css\"\/>\r\n<script src=\"https:\/\/www.o365cloudexperts.com\/blog\/wp-content\/themes\/apps4rentoffice\/popup\/ddexitpop.js\"><\/script>\r\n<div id=\"ddexitpop11\" class=\"ddexitpop custom-exit\" style=\"margin-top: 10%;z-index:1000;box-shadow: #00000085 -20px -5px 1200px 1000px;max-width:540px;height:auto; max-height:800px; width:473px;background:#edf6fd\">\r\n<div>\r\n<div id=\"oldp\" class=\"col-md-12\" style=\"height:300px\">\r\n<div style=\"margin-right: -15px;\"><span style=\"cursor: pointer;position: relative; top: 1px;left: 0px;float: right;font-family: Arial;font-size: 17px;background-color: #d1d1d1;color: #4c4c4c; padding-left: 10px;padding-right: 10px;text-decoration: none;right: -40px;\" onclick=\"myFunction()\">X<\/span><\/div>\r\n<p style=\"padding-top: 30px;color: #375181;margin-bottom: 10px;text-align: center;line-height: 60px;font-size: 45px;font-weight: 600;\">Want to live stream with OBS?<\/p>\r\n<button class=\"buttonp\" onclick=\"openForm()\" value=\"SUBMIT REQUEST\" type=\"button\">SUBMIT REQUEST<\/button>\r\n\r\n<\/div>\r\n<\/div>\r\n<div class=\"chat-popup\" id=\"myForm\" style=\"top: 10%;left: 35%; right: 35%;bottom:auto;background: #edf6fd;width:350px;\">\r\n<div style=\"margin-right: -15px;\"><span style=\"cursor: pointer;position: relative; top: -20px;left: 6px;float: right;font-family: Arial;font-size: 17px;background-color: #d1d1d1;color: #4c4c4c; padding-left: 10px;padding-right: 10px;text-decoration: none;right: -40px;\" onclick=\"myFunction()\">X<\/span><\/div>\r\n\t<p>\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f7667-o1\" lang=\"en-US\" dir=\"ltr\" data-wpcf7-id=\"7667\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/blog\/wp-json\/wp\/v2\/posts\/6318#wpcf7-f7667-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Contact form\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"7667\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.5\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"en_US\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f7667-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/><input type=\"hidden\" name=\"_wpcf7cf_hidden_group_fields\" value=\"[]\" \/><input type=\"hidden\" name=\"_wpcf7cf_hidden_groups\" value=\"[]\" \/><input type=\"hidden\" name=\"_wpcf7cf_visible_groups\" value=\"[]\" \/><input type=\"hidden\" name=\"_wpcf7cf_repeaters\" value=\"[]\" \/><input type=\"hidden\" name=\"_wpcf7cf_steps\" value=\"{}\" \/><input type=\"hidden\" name=\"_wpcf7cf_options\" value=\"{&quot;form_id&quot;:7667,&quot;conditions&quot;:[{&quot;then_field&quot;:&quot;apoint&quot;,&quot;and_rules&quot;:[{&quot;if_field&quot;:&quot;meeting&quot;,&quot;operator&quot;:&quot;equals&quot;,&quot;if_value&quot;:&quot;Yes&quot;}]}],&quot;settings&quot;:{&quot;animation&quot;:&quot;yes&quot;,&quot;animation_intime&quot;:200,&quot;animation_outtime&quot;:200,&quot;conditions_ui&quot;:&quot;normal&quot;,&quot;notice_dismissed&quot;:false,&quot;notice_dismissed_rollback-cf7-5.9.5&quot;:true}}\" \/>\n<\/fieldset>\n<style>.wpcf7 form .wpcf7-response-output{margin: 0.5em 0.5em 0.5em;}.first{width:60px;color: #2A363F;text-align: left;}.wpcf7-list-item-label{text-align: left;font-size: 20px 'Roboto';font-weight:400;font-style: normal;}.inputf{font: 16px 'Roboto !important';font-weight: normal;font-style: normal;line-height: 25px;color: #2A363F;padding: 5px 10px;font-size: 16px;border: #9d9fa0 1px solid !important;margin-bottom:20px !important;box-sizing: border-box;border-radius: 3px !important;width: 100%;}\n.cf7-style div.wpcf7-response-output{width:fit-content;margin: 0px;padding: 5px !important;}.button4 {padding: 15px 20px;font-size: 18px !important;background: #375181;font-family: sans-serif;color: #fff;border: #9dbfff 2px solid;box-shadow: none;font-weight: bold;margin-bottom:0px !important;width: 100% !important;}.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output{width: max-content;margin: 0px;}\n<\/style>\n<style>@media only screen and (min-width:99px) and (max-width:767px){#content{margin-left:0px auto;}.sec {width:100% !important;float: none !important;}.html input[type=\"button\"], input[type=\"reset\"], input[type=\"submit\"]{font-size:16px !important;}}\n<\/style>\n<div style=\"padding-left: 15px;padding-right: 15px;padding-top: 15px;padding-bottom: 0px;\">\n\t<div style=\"float: left;width: 100%;margin-right: 15px;\" class=\"sec\">\n\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"Name\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required inputf\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Name*\" value=\"\" type=\"text\" name=\"Name\" \/><\/span>\n\t\t<\/p>\n\t<\/div>\n\t<div style=\"float: left;width: 100%;margin-right: 15px;\" class=\"sec\">\n\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"contact\"><input size=\"40\" maxlength=\"10\" minlength=\"6\" class=\"wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel inputf\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Contact Number*\" value=\"\" type=\"tel\" name=\"contact\" \/><\/span>\n\t\t<\/p>\n\t<\/div>\n\t<div style=\"float: left;width: 100%;\" class=\"sec\">\n\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"email\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email inputf\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Email ID*\" value=\"\" type=\"email\" name=\"email\" \/><\/span>\n\t\t<\/p>\n\t\t<p style=\"font-size: 16px;font-family: 'Roboto';font-weight:400;font-style: normal;color: #757575;text-align: left;margin-bottom: 10px;\">Schedule a meeting?\n\t\t<\/p>\n\t\t<p style=\"font-size: 16px;font-family: 'Roboto'; color:#757575;text-align:left;\"><span class=\"wpcf7-form-control-wrap\" data-name=\"meeting\"><span class=\"wpcf7-form-control wpcf7-checkbox wpcf7-validates-as-required wpcf7-exclusive-checkbox meeting\"><span class=\"wpcf7-list-item first\"><label><input type=\"checkbox\" name=\"meeting\" value=\"Yes\" \/><span class=\"wpcf7-list-item-label\">Yes<\/span><\/label><\/span><span class=\"wpcf7-list-item last\"><label><input type=\"checkbox\" name=\"meeting\" value=\"No\" \/><span class=\"wpcf7-list-item-label\">No<\/span><\/label><\/span><\/span><\/span>\n\t\t<\/p>\n\t\t<div data-id=\"apoint\" data-orig_data_id=\"apoint\"  class=\"\" data-class=\"wpcf7cf_group\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"time\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text inputf\" aria-invalid=\"false\" placeholder=\"Preferred Callback Time*\" value=\"\" type=\"text\" name=\"time\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div style=\"float: left;width: 100%;\" class=\"sec\">\n\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"msg\"><textarea cols=\"40\" rows=\"3\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea inputf\" aria-invalid=\"false\" placeholder=\"Message\" name=\"msg\"><\/textarea><\/span>\n\t\t<\/p>\n\t<\/div>\n\t<div>\n\t\t<p><input class=\"wpcf7-form-control wpcf7-submit has-spinner button4\" id=\"myForm\" type=\"submit\" value=\"SUBMIT REQUEST\" \/>\n\t\t<\/p>\n\t<\/div>\n<\/div><p style=\"display: none !important;\" class=\"akismet-fields-container\" data-prefix=\"_wpcf7_ak_\"><label>&#916;<textarea name=\"_wpcf7_ak_hp_textarea\" cols=\"45\" rows=\"8\" maxlength=\"100\"><\/textarea><\/label><input type=\"hidden\" id=\"ak_js_1\" name=\"_wpcf7_ak_js\" value=\"107\"\/><script>document.getElementById( \"ak_js_1\" ).setAttribute( \"value\", ( new Date() ).getTime() );<\/script><\/p><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n<\/p>\r\n\r\n<\/div>\r\n<\/div>\r\n<script>jQuery(function(){ddexitpop.init({contentsource: ['id', 'ddexitpop11'],fxclass: 'random',hideaftershow: true,displayfreq: 'always',onddexitpop: function($popup){console.log('Exit Pop Animation Class Name: ' + ddexitpop.settings.fxclass)}})})<\/script>\r\n<script>function myFunction(){document.getElementById(\"ddexitpop11\").style.display = \"none\";}<\/script>\r\n<script>function openForm() {document.getElementById(\"myForm\").style.display = \"block\";document.getElementById(\"oldp\").style.display = \"none\";}<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Many streamers use platforms such as Twitch.tv to deliver their video content. While these platforms offer sufficient features for most regular streamers, tech-savvy professionals often require additional capabilities, such as more control over streams, the ability to provide other users to stream to them, or stream to multiple platforms. These scenarios involve the use of [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[529],"tags":[],"class_list":["post-6318","post","type-post","status-publish","format-standard","hentry","category-obs"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.apps4rent.com\/blog\/wp-json\/wp\/v2\/posts\/6318","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.apps4rent.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.apps4rent.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.apps4rent.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.apps4rent.com\/blog\/wp-json\/wp\/v2\/comments?post=6318"}],"version-history":[{"count":4,"href":"https:\/\/www.apps4rent.com\/blog\/wp-json\/wp\/v2\/posts\/6318\/revisions"}],"predecessor-version":[{"id":7827,"href":"https:\/\/www.apps4rent.com\/blog\/wp-json\/wp\/v2\/posts\/6318\/revisions\/7827"}],"wp:attachment":[{"href":"https:\/\/www.apps4rent.com\/blog\/wp-json\/wp\/v2\/media?parent=6318"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.apps4rent.com\/blog\/wp-json\/wp\/v2\/categories?post=6318"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.apps4rent.com\/blog\/wp-json\/wp\/v2\/tags?post=6318"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}