You should be able to get the programs from the following: Finding URLs and in particular URLs to KTH Play: Chip sandbox
You could do a regular expression match against "/media_objects/", rather than doing the find with a fixed string the in the filtering function (
unique_KTH_Play_URLs(set_of_urls)
)
You can get the body of the Syllabus when doing a GET of /api/v1/courses
by including “syllabus_body". Indeed, if you include videos on assignment pages or other pages you would also have to walk those too. (When I finish my comments on a dissertation proposal perhaps I can look at adding both the Syllabus and Assignment pages to the program.)
Probably the way to do this for all courses at a university would be to actually walk the underlying database where the content is actually stored, rather that do this via the REST API. However, I have no experience in this area (as I do not have raw database access for the university's instances of Canvas).
You get also get the information about what videos are actually being watched from the logs of the Kaltura server. This will not tell you about all of the videos that are linked, but only those actually viewed. However it would be interesting to know the ratio and to know which videos are linked but not viewed. Kaltura has an analytics API, see https://corp.kaltura.com/Products/Features/Video-Analytics . However, I have no experience with it. So far I have been content with going to the user web portal for our local Kaltura and looking at the number of times each video has been watched. Clearly, I'm not making enough use of the data that is available - which should be corrected at some later date (as I have videos for all of my lectures).