Time estimates and edx-val

Hello everyone,

Since we recently moved from Native Koa to Tutor Nutmeg, we had the pleasure of discovering the time estimates that were introduced as part of the Learning Micro-frontend Now Default in Maple - Open edX

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?

Thank you very much.

1 Like

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.

I am basing my hypothesis on

where it is stated that

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?

I was curious, so I tried 2 courses that started today on edx.org


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.

Hi @Andres.Aulasneo

I haven’t found anything. And as you can see nobody answered me except you.

1 Like

I’ve been investigating a bit and this is what I’ve found:

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?

Volodymyr found this line that uses val to “getvideoinfo” for our use case as a reference in case it helps: edx-platform/xmodule/video_block/video_block.py at b706e600a0afc66f985762e06bf6348bc685fb0a · openedx/edx-platform · GitHub

There may be other gaps in video metadata besides the items highlighted in this thread, so +1 to continued discovery / input from core team members.