VikeLabs / lecshare

A React application with typescript implementation: Making lectures more accessible for students with auditory, visual, or learning impairments; and Improving learning outcomes for students in lecture-based courses.
https://vikelabs.github.io/lecshare/
GNU General Public License v3.0
5 stars 3 forks source link

Integrate transcription / audio encode job with lecture upload. #74

Open aomi opened 4 years ago

aomi commented 4 years ago

When an audio lecture is uploaded, nothing is done to trigger the subsequent transcription and audio encoding process. Integrate these so when a new audio lecture is uploaded, these processes are run.

After discussion, it was determined that having an intermediate S3 bucket would be ideal. This would be like

intermeditate.s3bucketexample.com/vikelabs/vike101/a00/resources/audio.flac

Then the files made by the trigger of the above file could perhaps result in two objects like: production.s3bucketexample.com/vikelabs/vike101/a00/resources/audio.ogg production.s3bucketexample.com/vikelabs/vike101/a00/resources/audio.json Where the first is the encoded, ready for distribution audio and the latter is the transcription json file.

malcolmseyd commented 4 years ago

The function has been integrated and the tests pass. The last step is to deploy and test it in on Lambda. See VikeLabs/lecshare-api#19 for the pull request.

malcolmseyd commented 4 years ago

All features were implemented. An intermediate bucket is used for transcriptions because you cannot control the output directory. Files are not deleted from the intermediate bucket. You can see the squashed commit here: VikeLabs/lecshare-api@ba04f03