cancel
Showing results for 
Search instead for 
Did you mean: 
kiporter
Surveyor II

UDOIT video scan for closed caption

Jump to solution

We are running UDOIT 2.5 on Heroku. When running the UDOIT scan on courses with YouTube videos with Closed Captions that have been edited, UDOIT shows an error "No closed captions for video found".  The videos do have edited captions so there shouldn't be an error. 

While looking at the application log in Heroku, found these warnings.  I don't know if the warnings in this log are related to the above scanning issue of videos with closed caption.


2020-01-06T01:41:59.629617+00:00 app[worker.1]: 
[2020-01-06 01:41:59] udoit.WARNING: E_WARNING: Invalid argument supplied for foreach() {"code":2,"message":"Invalid argument supplied for foreach()","file":"/app/lib/quail/quail/common/services/media/youtube.php","line":58} 
 2020-01-06T01:41:59.629638+00:00 app[worker.1]: 
 2020-01-06T01:41:59.629649+00:00 app[worker.1]: PHP Warning:  Invalid argument supplied for foreach() in /app/lib/quail/quail/common/services/media/youtube.php on line 5

How do we get the UDOIT scanning of YouTube videos to recognize the closed captions have been edited and not generate an error? Any suggestions on what to do next?

Tags (2)
0 Kudos
2 Solutions

Accepted Solutions
tr_jbates
Learner II

I apologize for not seeing this sooner.  Semester startup is always a hectic time!

Thank you so much for posting the excerpt from the logs.  I believe the issue is that your YouTube API key is either invalid or has reached its quota for the day.  Log into the Google API Console to check on your quota, and double-check that the API key is correct in your Heroku settings.

We ran into similar issues while testing some of the new features in UDOIT 2.6.0, so we have added a bit more error checking to the YouTube code so that the user knows what's going on.

Let me know if that helps.  If it doesn't, please send me an example of a video that is getting flagged, and I'll test it out on my end.

View solution in original post

The YouTube video you provided is unlisted, and the YouTube API does not return the captions for unlisted videos (unless the account associated with the API key owns the video).  When UDOIT can't retrieve this information, it puts a warning symbol next to the item with a message stating "Manual verification required.":

Screenshot of UDOIT showing a video with the "Manual verification required" message.

Additionally, when viewing the video, I am only able to see "English (auto-generated)" captions.  Have the staff member double-check that their edited version of the captions is published.

The error you saw when opening UDOIT from Heroku is normal.  The app requires the LTI launch information from Canvas in order to function properly, so it's checking for that information at the beginning.  If you load UDOIT from outside of Canvas, it doesn't receive that launch information, displaying this error.

View solution in original post

3 Replies
tr_jbates
Learner II

I apologize for not seeing this sooner.  Semester startup is always a hectic time!

Thank you so much for posting the excerpt from the logs.  I believe the issue is that your YouTube API key is either invalid or has reached its quota for the day.  Log into the Google API Console to check on your quota, and double-check that the API key is correct in your Heroku settings.

We ran into similar issues while testing some of the new features in UDOIT 2.6.0, so we have added a bit more error checking to the YouTube code so that the user knows what's going on.

Let me know if that helps.  If it doesn't, please send me an example of a video that is getting flagged, and I'll test it out on my end.

View solution in original post

Thanks for the reply Jacob. 

I installed UDOIT 2.6 as a new Heroku app and pointed it to our test instance of Canvas.  Same results where YouTube videos are still reported as no captions found even when captions are on the video.  Here is an example video https://www.youtube.com/watch?v=3HD2aeeX7u8&feature=youtu.be.  If you add this video to one of your courses and scan it with UDOIT, does it pass the scan? This video was created by one of our staff members.

The other thing that is weird is I'm able to scan a course with UDOIT, but when I click the Open App button in Heroku, the response is -

 Missing LTI launch information. Please ensure that your instance of UDOIT is installed to Canvas correctly. Missing: oauth_consumer_key

I don't see a field called oauth_consumer_key in the Canvas Developer Key or in the Heroku config variables, Is it named something else?

How can UDOIT work when called from Canvas but not be able to open the app from within Heroku?

The YouTube video you provided is unlisted, and the YouTube API does not return the captions for unlisted videos (unless the account associated with the API key owns the video).  When UDOIT can't retrieve this information, it puts a warning symbol next to the item with a message stating "Manual verification required.":

Screenshot of UDOIT showing a video with the "Manual verification required" message.

Additionally, when viewing the video, I am only able to see "English (auto-generated)" captions.  Have the staff member double-check that their edited version of the captions is published.

The error you saw when opening UDOIT from Heroku is normal.  The app requires the LTI launch information from Canvas in order to function properly, so it's checking for that information at the beginning.  If you load UDOIT from outside of Canvas, it doesn't receive that launch information, displaying this error.

View solution in original post