Additional YouTube settings for Interactive Video

One of my clients is looking to add subtitles/closed captions for videos in multiple languages. We will probably use YouTube to host the videos, and YouTube has a pretty robust way of handling multilingual subtitles and captions. In addition, the default YouTube player includes buttons to turn captions on/off and allows you to select the language via the settings button. 

When viewing a YouTube video using H5P's interactive video player, however, the only setting available is video quality. Would it be possible to also incorporate the CC and language settings into the H5P player, too (at least for when YouTube videos are used)? I may be interested in sponsoring such work if it is possible. 

Supporter votes Members of the Supporter Network can vote for feature requests. When the supporter network has generated sufficient funding for the top voted feature request it will normally be implemented and released. More about the H5P Supporter Network
falcon's picture

The YouTube API seems to be supporting captions, so yes, it is possible to get these YouTube captions to show up in H5P as well. I don't know if they will work and behave exactly the same though. We can look more into it and provide you with an estimate if you're interested?

Actually, it turns out we can't use YouTube for this project and we are looking at Vimeo Pro instead. Would it be possible to get an estimate on adding captioning/language selection features added that would work with Vimeo videos? 

falcon's picture

You're uploading the captioning to Vimeo and want to use those via H5P? Or could you upload the captioning to H5P instead?

Could you be more specific regarding the language selection features?

I think we would actually be fine with doing the captioning either in Vimeo or directly in H5P, as long as a standard caption file format is used (the client has been discussing SRT files, but I think other standard formats would be fine, too) and multiple languages are supported. By "language selection" I just mean the ability to select the language of the captions (since they want to provide captions/subtitles in multiple languages). So, basically, what I need is this:


<li>Support for captions/subtitles on H5P Interactive Videos (with the caption files imported either in Vimeo or directly in H5P)</li>

<li>The ability for the end user to turn captions on/off from the H5P video player interface</li>

<li>The ability for the end user to select the language of the captions from the H5P video player interface</li>


 Let me know if you need any additional clarification or information about our needs. Thanks!

Incidentally, the allowed HTML tags for the "simple-html" text format on these forums never seem to work for me (as you can see in my message above!).

falcon's picture

If you use the wysiwyg editor you have to use it's corresponding buttons. If you type in the tags the wysigyg editor replaces them with special chars for you... Don't know why the system doesn't just hide those guides when the wysiwyg is enabled...

falcon's picture

Sending you the estimates soon.

falcon's picture

Ok, thanks for the clarifications. The most experience Interactive Video developer is sick today. Will estimate this once he is back.

roman's picture

Hi falcon, I hope you are still following this thread as I could not find a way to contact you directly :)

My organization is looking to swithc a lot of our elearning development work to utilize H5P and one of the biggest setbacks currently is that our videos (YouTube) have to have an option to show the captions. Just like the original post. I am wondering if we can connect on this, and get a development estimate from you on this as well.

Looking forward to hearing from you.

Thanks, Roman

falcon's picture

Hi Roman,

I think this would help many in the community. In order to discuss the costs of funding this you might send an e-mail to [email protected] and I'll get back you you on e-mail.


Yes, please send me an estimate! Also, I've played around with this a bit, and it appears that if a YouTube video has captions (and a user has captions turned on for YT videos), then they seem to appear in an Interactive Video just as they normally do on YouTube. The functionality I need is the ability to turn the captions on/off and switch the language via the H5P interface. Thanks.

otacke's picture

I played with the YouTube API a little bit. Just have a look at my preliminary results. Are these the droids you're looking for?

fnoks's picture

Great, otacke :) It seems to work great with my limited testing!

That's great. I need to have subtitels in my youtube videos. I'm using Moodle integration, and is it possible to implement it in Moodle? If yes, can you provide some information how to implement it.

Thank you

otacke's picture

Unfortunately, my solution seems to have trouble with Youtube's API lately, but I know for a fact that a different solution is on it's way. However, it may still take some time.

Awesome! That's perfect. Thanks! H5P team, can we get this into the next release?

fnoks's picture

I hard to say right now when this will be released. First of all, we need a pull request, and then we can plan it into a release. But it certainly is a good addition :)

otacke's picture

In a nutshell: Currently I am pretty busy and I probably won't get around to create a pull request before the end of next week.

There are still some minor issues that I want to check. For example, right now loading the captions module from YouTube and setting the language use a best effort approach - which seems to be enough, but I know this might cause trouble. Really tiny: putting the "no captions" option on top of the list. Otherwise it would practically be hidden if you have a lots of supported languages like some of the TED conference videos. I also want to have a look at the idea that I mentioned in my blog post. Right now, you will have to start a video before you're able to select a language or to select the video quality. That's a YouTube sublety. You could autostart the video in order to collect information about the available languages and quality options, stop the video, and then jump back to the start. This will probably only take a fraction of a second, but it might be visible and a little annoying.

Also, there's a question open for debate related to the icons: Is the way it's working now still feasible, that is showing all the icons on large displays, but move some of them to a separate popup menu on small displays? The latter option might as well be the default for all display sizes. Changing the icons might be in place as well: YouTube displays a message saying to click on a cog symbol for accessing the advanced video options - although I am not quite sure if focussing on YouTube would be the right way to go. Anyway, H5P uses the three dots button (ellipsis-v) as the equivalent for the advanced options, and H5P uses the cog for the quality settings. So, the cog might replace the three dots for advanced options, and a different symbol might be used for the quality settings, e.g. cogs (which would be close to the present one), or possibly diamond (reminds me of high quality), sliders (might work, but could as well be any other option), or something completely different. What do yo - all the users of H5P - think about these questions?

fnoks's picture

That's a YouTube sublety. You could autostart the video in order to collect information about the available languages and quality options, stop the video, and then jump back to the start. This will probably only take a fraction of a second, but it might be visible and a little annoying. 

I would not recommend this, since:

  • This is at least not possible on iPad, since it is not possible to play the video without a user click
  • I think we should try to lower the complexity in IV, instead of the opposite. 

I'll leave the rest of the questions to the actual H5P-users :)

otacke's picture

Thanks for the hint! I didn't know that you have to actively start a video on the iPad.

otacke's picture

Well, there was no feedback on the open issues, so I guess it should be fine as is for now. I created a pull request, but I am willing to change details later, too.

tim's picture

An issue has been created to review the pull request:

Hopefully it wil pass all the tests and be merged soon. 

otacke's picture

I also hope that it'll pass all tests, but I guess it's normal that some modifications might still be necessary.

Could there be another setting for the H5P.Video library that sets the cc_load_policy to 1 as an option for YouTube videos? This would show the captions by default (if checked).

For the H5P.InteractiveVideo library, could there be a CC button like the YouTube embed has? It looks like the Interactive Video has controls=0 to hide the YouTube controls so the H5P controls can handle things. A CC button would be able to toggle closed captions (from YouTube) on/off using

player.loadModule("captions"); // turn on closed captions


player.unloadModule("captions"); // turn off closed captions

It looks like the InteractiveVideo is doing a lot, so I wanted to see if there is a better way of doing this or if the H5P core group is working on this feature. It looks like the pull request by otacke was closed by him because YouTube removed the features that he was using. (sad)

icc's picture

This is a great suggestion, but it must be implemented in a way so that it takes into account the different sources that can be used by Interactive Video. I've seen this requested earlier, so hopefully, this is something that will be added by someone soon.

Thank you for sharing your thoughts.

Hi, you are doing a perfect job but it's very important to have subtitles for e-learning projects. Any help for a custom button to implement the nmillin's suggestion?

player.loadModule("captions"); // turn on closed captions
icc's picture

There is a Pull Request, but no one has reviewed it yet. Progress can be monitored here: HFP-281


Please put this on hold. It seems that YouTube changed some things in their API, and now captions don't work anymore.

I guess that YouTube finally purged some unofficial features that have not been documented. Their DataAPI would be the proper way to go.

TLDR; back to the drawing board.

icc's picture

Ah, thank you for sharing!