Introduction: Lyrics Overlay on OBS Studio Using OpenLP
In this instructables, I will show you how to have lyrics and Bible verses display over your video on a livestream using two free open source softwares.
Step 1: Have OBS Studio & OpenLP Installed
OBS studio is a free live streaming software that will allow you to stream to platforms like Facebook Live and Youtube. OpenLP is a free church presentation software to display Bible verses, song lyrics, pictures, and other content.
OBS Studio download: https://obsproject.com/
OpenLP download: https://openlp.org/#downloads
Step 2: Create a Transparent Theme in OpenLP
In OpenLP there is a Theme Wizard to design backgrounds for your text. You want to find the "Theme Manager" and click the small button on the left. When you hover over it, it will say "Create New Theme". When you click the button you'll see a pop window that says "Welcome to the Theme Wizard" and then you'll want to click "next".
Step 3: Setup Background
The next part of making the theme is to go to where it says "background style". When you click here a drop down menu will show you several options, and you'll want to select "transparent".
Step 4: Format You Fonts & Colors
The next window will bring you to options to where you can adjust your font types, colors, and sizes. I recommended using bold text and keeping the color white if your video background is going to be a darker color.
Step 5: Text Formatting Details
I would change the settings here to make "Horizontal Align" = center and "Vertical Align" = middle.
Step 6: Output Area Locations
This is the most important part as it will determine the location of where your box of text will display on the screen.
Important Note: This is configured for a display of 1920x1080. The pixels location are put in for this. If your display is bigger or smaller you'll have to adjust the dimensions.
To have the text shown at the bottom center of the screen I set the following dimensions:
X position = 560px
Y position = 850px
Width = 800px
Height = 200px
To make sure my text box was "centered", I had to do a little math.
A 1920x1080 display or 1080p display means it's a rectangle with a width (X axis) of 1920px and a height (Y axis ) of 1080px.
The center of the width is 1920 divided by 2 so 960. My text box's width is 800 and half of that is 400. To make sure the box is perfectly center I take 960-400 which equals 560, and that how I obtained that number above. If you are using a different type of display just find out the resolution an example would be a 720p display so that would be 1280x720, and calculate to center using my above steps.
Step 7: Give Your Theme a Name
The last step is to give your theme a name & you're all done making your transparent theme.
Step 8: Configure Remote Access in OpenLP
On the top right of OpenLP you'll see "Settings".
Select Settings then "Configure OpenLP"
When the window pops up, you should see "Remote" as the last option in the list.
You must make sure the IP address listed there is the same as the computer you are using to run OpenLP. This IP number will change if you are using WifFi and not ethernet so be sure to double check this between uses. On Windows you can run a command prompt by selecting the windows button and typing cmd. Type: ipconfig in the command line and you want to us the IPv4 Address.
Copy the "Live view URL" link.
Tip: This is also where you can download the iOS or Android app to control the lyrics from your phone. It works quite well.
Step 9: OBS Studio Setup
When you open OBS Studio you want to click the "+" plus sign symbol at the bottom left of the "Sources" window. You'll be displayed a list of options, and you'll want to select "Browser".
Give it a name and press ok.
In the URL box paste the link you copied from OpenLP.
In the width put 1920, and the height put 1080. (For a 1080p display, also make sure you OBS settings is for a 1080p display).
Step 10: You're Done!
The browser window will pop up on your video source. Make sure you have a Bible verse or lyric on live view in OpenLP so you'll see it in OBS. Make sure to drag the browser window so it fills your preview screen. To test if it works change the song or verse in OpenLP and watch to see if it changes in OBS.
I hope this helps you all. I discovered this in my attempt to find an affordable solution for my church to use as a result of the coronavirus.
Hope you all continue to proclaim the Gospel of Jesus Christ through any means necessary.
God Bless!
17 Comments
Tip 2 years ago on Step 8
Thanks for the post - I followed this and it helped me a lot. Our next church worship session - led from our living room - will now have lyrics!. :-)
A few remarks:
1. Step 8: IP address "connected to" means the IP of the computer where you are running OpenLP:
2. Running OBS on another laptop, I had to do the following:
- set the wifi property 'Private' on both laptops (ot at least the one running OpenLP)
- Add Windows (Windows 10) defender firewall exception (Allow app) for OpenLP.
Reply 1 year ago
Yes. Or if you have OpenLP on a Linux computer then, on the Linux machine, you'll need to either disable the firewall (not recommended at all unless you know what you're doing) or add the rule that allows traffic into port 4316.
Some Debian varieties like Ubuntu and Linux Mint use UFW (Uncomplicated Firewall) which is a front-end for netfilter/iptables (you can perform a web search on it's usage). UFW has a graphic user interface (GUI) component but I personally find it easier to use the command line in a terminal window, 1 caveat being rules that are added in terminal on the commandline will be global to all profiles shown in the UFW GUI (GUFW) and aren't editable in GUFW; and rules created in GUFW aren't viewable in the terminal via the ufw command.
If you just need to get this to work using the GUI (GUFW) is fine though and better if you don't know what you're doing. It also allows you to easily delete a rule in case you create a wrong rule and allows you to select different profiles, especially if the computer OpenLP is on is a laptop and used to connect to different style networks (Public, Office, and Home being the defaults). This isn't a problem if the computer OpenLP is running on, whether it's a desktop or laptop, never moves to another network.
Here I'm just showing the terminal command-line version of UFW which, again, will set the rules as global which isn't a problem if the computer isn't ever connected to a different style network.
A simple command to allow traffic into port 4316 restricting access only to locally networked devices using UFW is something like this: <br><br>sudo ufw allow from 192.168.0.0/24 to any port 4316 comment "OpenLP to OBS"<br><br>Where "sudo" must be used when issuing commands to UFW since UFW is owned by "root"; "192.168.0.0/24" (this can change depending on what base addressing you use although most use the default of 192.168.0.x; check your local network settings) is all the computers/devices on your network (.0 specifies the base address; /24 specifies the range which in this case is 192.168.0.0 to 192.168.0.255) is allowed but other IP addresses, especially addresses external to your network, are not; default port to use is 4316 as shown in OpenLP's configuration settings; and the comment is optional but recommended to help you to remember what it's for and for others to see what it's for without having to ask or dig for the information. When you perform a "sudo ufw status" the comments will show next to each firewall rule they describe. The comment is also whatever you want it to be.<br><br>Once you've added the rule you can test it by opening a web browser on another computer on the same local network then, for example, going to:<br><br><a href="http://192.168.1.24:4316">http://192.168.1.24:4316</a><br><br>which, if the rule was added correctly, will show the OpenLP Remote webpage. If it doesn't you may need to restart the UFW service on the Linux machine and refresh the webpage on the other locally networked computer. If it still doesn't work then something is probably wrong with the rule you created.<br><br>Other distros may use other firewall software so you'll need to search and find which one your distro uses then go from there accordingly.<br>
Question 2 years ago on Step 10
Thanks for this! I have done all of this but the only way to get the song lyrics to change in OBS is to go live in OpenLP which causes it to go fullscreen and therefore I can't see it in OBS without first exiting fullscreen. I then have to do this every time I need to change the lyrics. I'm sure I'm missing an essential part out but can't figure out what! I'm using a MacBook but I believe both programs work the same on Windows and Mac OSX.
Answer 2 years ago
Yes I had this problem too. You need to go to settings, configure, and general and make sure "Display if a single screen" is NOT checked off.
Reply 2 years ago
hola, yo tambien hice todo y en el OBS se ve bien pero cuando empieza a funcionar el OPENLP en la pantalla secundaria ya el OBS no vuelve
2 years ago
Love the instructions. They were very, very, helpful! Thank you
2 years ago
Thanks for this idea. I wanted a background behind my lyrics, so I used background-color: rgba(0,0,0,.8); in the OBS CSS and cropped the browser source.
Reply 2 years ago
Oops- found a better way: custom formatting tag in OpenLP: div style="background-color: rgba(0,0,0,0.8); display: inline-block;"
Only downside is that I have to put that around every single verse.
Tip 2 years ago
Great tutorial! For linux users the source "Browser" is likely not to be listed. I followed these instructions to install the required plugin: https://better-coding.com/solved-obs-studio-missing-browser-source-in-ubuntu-linux/
2 years ago
Can someone help me with Step 8? When I open settings and go to Configure Open LP, the option for 'Remote' doesn't show up at the bottom. Any help would be very much appreciated :)
Reply 2 years ago
Yes I think this is because when you first install OpenLP you have to ability to select whether to turn on remote access. I’m not sure how to enable it after the fact. But if you uninstall it and then install it again you should see that option during the setup.
Reply 2 years ago
Thank you both so much!
Reply 2 years ago
You can activate Remote from Settings/Manage plugins
2 years ago
This was just what I need. We use both OBS and OpenLP. My problem is, though, that the background is not transparent. It is black. I have been unable to make it transparent. I have tried two different computers for running the OpenLP, and I get the same on both. Any help?
Best Answer 2 years ago
I figured it out myself. I was running OpenLP 2.4.0. I upgraded to 2.4.6, and it now works. Thanks for your hard work in figuring this out, and for posting in on Instructables.
Answer 2 years ago
Yes you need to make sure when you create your theme you choose transparent as the background type and be sure to be using the URL for live view and not stage view.
Tip 2 years ago on Step 10
You need to have the lyrics go live in order to see the verse or lyrics on OBS. If you notice going live on OpenLP blocks your screen then you need to go to settings, configure, and general and make sure "Display if a single screen" is NOT checked off.