One of the things we quite do not understand if how edx-val is populated.
If I look in the Django Admin section edxval not all courses are present and for those who are the duration is always 0,0.
From what I could discover, the video ID from Studio seems to be in direct relation with transcripts uploaded for the videos, which would explain why some videos without transcripts are not present in this table.
So, can someone please explain how does edxval works and how we can get the estimated times from each video?
I have confirmed by using MW Metadata that the videos definitely have a duration in their metadata.
Is it because the Client Video ID is considered “external video” under admin/edxval/video/ ?
Is there a management command to run in order to populate the duration?
By the way, and before you ask, I can clearly see the activities estimates when I do not add a video, so I know it is not a question of republishing the course.
If there is any missing data (like no video duration), we don't provide any estimates at all for the course.
We'd rather provide no estimate than a misleading estimate.
Does anyone have an example of a course where the video duration estimates are working?
and none of them have estimates when I look at the course contents.
There are “esimated” in course-v1:GoogleCloud+GCCF1x+3T2022 but I believe this is because they forced it in their section titles and not because the Learning MFE estimates are turned on.
Can anyone confirm if the video duration estimates do work in Open edX ?
Hi @sambapete!
Looks like I’m stumbling in the same stone. Did you have any progress since then? I couldn’t find any part in the code that updates the video information in edx-val.
Video information is collected by the edx-val module, but I haven’t found any place where it is fulfilled automatically.
Edx-val is involved mainly by two tables: Video and CourseVideo. Both can be edited in Django admin.
Video is not populated when a new video is uploaded (shouldn’t it?). But a record is created when you upload a transcript. Its PK is edx-video-id. It is generated by edx-val and only called when a transcript is uploaded or updated.
Adding a translation will create a Video object but not a CourseVideo object, because it is created as an external video not linked to any course. But you can create it manually in Django admin.
So, to work around, for each video in a course:
Check if it already has an edx_video_id assigned (see the staff debug info in the LMS).
If it does not have an edx_video_id, create one manually in Django admin > Edxval > Video.
Set manually the video duration in seconds
Assign it to your course id there in the same page
Once finished with all videos, publish the course and in a few seconds all units should show the estimated effort in the course outline.
Questions are… are we missing something? Is it documented somewhere? Is it work-in-progress? What is the roadmap for this feature?
It would be great if someone in the core team comes and clarifies the status of the feature.
@volodymyr.chekyrta and I discussed something very similar to this today as it relates to Mobile video download file size estimation / duration.
Ensuring that edx-val is broadly adopted / turned on by default, OR having more reliable access to video file size seems like a metadata gap potentially?