YT Deprecation Knowledge Transfer


YouTube deprecation feature is behind a course waffle flag `videos.deprecate_youtube` – example usage. The feature's implementation details can be iterated through Youtube Deprecation.

There is one dependency that is keeping YT deprecation from full rollout, it is HLS re-encoding for courses whose videos are missing HLS profile – stats and approach EDUCATOR-3744 - Getting issue details... STATUS is currently tracking this work to date.

Running and Monitoring re-encoding/backfill job

Re-encoding job can be configured through Django Admin:




Provide the course IDs to re-encode videos, check commit to true and press save and run the management command as seen below. If you just wants to see number of videos that will be re-encoded (i.e. dry run the management command), you can leave commit unchecked.

re-encode management command
python edx-video-pipeline/manage.py re_encode_videos_missing_hls --settings=VEDA.settings.production

Logs are in place which can be iterated through management command implementation for monitoring.

As you can see in the above image, course IDs were needed to configure, these candidate course IDs can be retrieved from  EDUCATOR-3744 - Getting issue details... STATUS  – link and can be parsed into space separated format via following code snippet:

Parse Course IDs
def get_course_ids(limit, offset):
    course_ids = []
    with open('courses.txt', 'r') as courses_file:
        raw_courses = courses_file.read().split('|')
        for raw_course in raw_courses:
            course_id = raw_course.strip()
            if course_id:
                course_ids.append(course_id)
    course_ids = sorted(course_ids)[offset: offset+limit]
    return ' '.join(course_ids)


Thank you.