Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

...

...

...

...

...

...

...

...

...

Build and Configure a Sandbox

  1. Start a sandbox building. In the options, you should see the following:

...

Update the branches and check the boxes. If you're planning on actually encoding videos, you'll need video_pipeline and video_encode_worker, however if you're just testing API endpoints, video_pipeline is sufficient.

Configure edX Studio

In studio>advanced settings, scroll to the bottom to find the "Video Upload Credentials" dialogue.

...

Code Block
{
    "course_video_upload_token": "xxxxshared_course_token"
}


If you haven't, create an edxapp superuser (The provided example sets 'staff' as a superuser, which is fine).:

Code Block
languagebash
linenumberstrue
sudo su -s /bin/bash edxapp
cd
/edx/bin/python.edxapp /edx/bin/manage.edxapp lms manage_user staff staff@example.com --staff --superuser --settings=aws
exit # deactivate env

...


Code Block
languagebash
linenumberstrue
# Activate Frontend Env.
sudo su veda -s /bin/bash;
source ~/veda_env;
cd /edx/app/veda/veda;
# Run mgmt command
python manage.py createsuperuser # follow prompts


Check and configure VAL access

Log in to the django admin (usually ${YOUR_SANDBOX_URL}/admin). Go to Oauth2 > Clients. There should be an extant client with a suffix like 'api/val/v0'. Click through.

...

This should be FK-associated with a user, click the magnifying glass icon and associate this with the 'veda_service_user' user. (PK=8 as of this writing, but that may change)

Running

You should now be able to upload a video file (here's a sample) and have it process.

You might need to get a snack, this can be slow. Eventually it should resolve to look like this:

Debugging

VEDA Frontend, Pipeline Worker, and Encode Worker are each separate environments. You will need to activate the required env to change the code and do other things.

...

Code Block
languagebash
sudo /edx/bin/supervisorctl
# then, for example
tail -f veda_encode_worker stderr # for veda_encode_worker errlog

Execute the tail command for other processes to see their logs