Note: The forums are currently unable to send e-mails. This is being worked on, but until it is fixed, you will be unable to post to the forums. Please contact us in IRC to enable your account for posting.

Adding a YouTube Plugin

Hi wonderful people, 

I've been trying to work out a better way to use OpenLP to show YouTube clips, that doesn't violate their terms of service (as with downloading clips) but also avoids waiting for buffering and ads (as with iframe in a custom slide), all the while keeping in OpenLP (as with loading and pre-buffering a clip in a web browser).

I have knocked together a sample idea in HTML/JS, but I'm a hobby programmer and not very familiar with python yet and was wondering if anyone could give me a helpful starting place for building plugins? The wiki page is out of date, and while I'll continue to read through the source code for ideas, a rundown of the structure would be super helpful.

Happy to show the source files for the HTML mock-up if anyone is interested (skipping ads not guaranteed, but for now it is)




  • Hi Michael,

    It would be interesting to see what you've come up with. YouTube, has been a bit of a hot request, but one with so many different issues, as you've hinted at!

    If you're keen on pursuing this, first you should check out and then come and have a chat with us guys on IRC. Also the mailing list is available for deeper discussions.

    As for developing a YouTube plugin, the custom plugin probably follows close to what you want to do, so I suggests using that as a starting point.
  • Hi Phill,

    Thanks for your reply. The code is now on GitHub at
    Let me know if you have any questions. I'll keep you updated on how things are progressing.

  • I don't think skipping ads is allowed by YouTube's terms and conditions. Their strict Ts&Cs is the main reason we have not developed a YouTube plugin yet.
  • What I've done is made it so that it is still able to play the ad, but just silently in the background while it buffers. The only time it won't work is if the video buffers faster than the player can reach the ad, which only seems to happen in longer videos ~20 min+. Still working on a fix for that
  • Actually, just read a bit deeper into the Required Minimum Functionality which has the section below:

    "Autoplay and scripted playbacks

    This section covers automatic playbacks. It applies to YouTube embedded players that either use the autoplay player parameter or programmatically initiate automatic playback using the YouTube IFrame Player API service, the YouTube Android Player API service, or another YouTube API service.

    • Embedded players that automatically play a video should initiate playback immediately when the page loads or as soon as the embedded player is fully visible. However, an API Client must not initiate an automatic playback until the player is visible and more than half of the player is visible on the page or screen.
    • A page or screen must not have more than one YouTube player that automatically plays content simultaneously."

    So I guess this option is out too :( I had read the terms of service and developer policies but skipped this on thinking that as long as it played the video in their player that would be enough. But alas, I was mistaken.
  • edited November 2017
    It has to be possible to do that. VLC supports playing youtube videos and I've never seen ads. Speaking of VLC, can't we just use it? It is already a supported backend, so it shouldn't be too much trouble...

    My other option would be to somehow integrate youtube-dl. 
  • I have a youtube red subscription for our church. This way we can play youtube videos without adds. Could the plugin login to a red account and then there would be no adds?
Sign In or Register to comment.