ClassTranscribe is an open-source, web-based platform that leverages crowdsourcing to address the problem of accurate, reliable and fast transcriptions of college lectures. Completed transcriptions provide search functionality that augments existing lecture recordings and enable enhanced educational features including closed captioning. Read the ClassTranscribe paper here - https://www.slate2015.org/files/submissions/Ren15-CAN.pdf
- Install Docker on your machine using one of the following OS specific tutorials: linux, mac or windows.
- Pull down the ClassTranscribe container by running
docker pull obmelvin/class_transcribe:v4. - If you are contributing to an existing ClassTranscribe instance, ask the admin for the redis and email credentials. Otherwise, you'll need run your own redis instance (tutorial here) and set up a gmail account.
- Run the ClassTranscribe docker image locally by running
docker run -e "REDIS_PASS=<pass>" -e "REDIS_HOST=<host>" -e "MAILER_ID=<email>" -e "MAILER_PASS=<pass>" -p 80:80 -a stdout -a stdin -i -t obmelvin/class_transcribe:v4 /bin/bash. - Launch the server as a background process within the container
nohup sudo -E node server.js >> public/server.log &. (Control-C to get out of command, server will remain running). - Launch the transcription aligner as a background process
nohup sudo -E node second_pass.js >> public/second_pass.log &. (Control-C to get out of command, transcription aligner will remain running). - To reconnect to the container, run
sudo docker exec -i -t <docker_ps_id> bash. Usedocker psto find<docker_ps_id>.
- Download lecture videos for a course, place in a directory.
- Rename videos to follow format Lecture_
<lecture_index>.<any video file format (wmv/m4a/etc)>. - Copy convert.sh script to directory with videos
cp scripts/convert.sh <path_to_directory_with_videos>. - Run convert.sh
<path_to_directory_with_videos>/convert.sh. This will transcode all the videos and may take a while. - Split videos into 4-6 minute chunks by running `node scripts/splitRunner.js <path_to_directory_with_videos>.
- Upload videos to S3 (May need to install s3cmd utility)
s3cmd put --acl-public -r ./ s3://<s3_bucket_name>/<class_name>/. - Initialize transcription tasks in redis queue by running
node scripts/taskInitializer.js <path_to_directory_with_videos> <class_name>. - Send an email to your students. Below is an example email template:
Dear
<class_name>students,As discussed in lecture, we will be transcribing the focus groups for
<class_name>.Completed transcriptions will enable you to search through the entire semesters' lecture videos and skip to the exact segment where a segment was covered (very useful when studying for exams!). As a quick demo, you can search through the entire UIUC CS241 2015 Spring semester here: http://classtranscribe.com. Try searching for "Buffer Overflow" or "Segmentation Fault"! Once progress has been made on the backlog of lectures the homepage will be updated to search <class_name>.
<insert motivation (ideally Extra Credit) and policies>
Below are the steps to get started
Read this tutorial on how to use ClassTranscribe: http://tinyurl.com/classtranscribetutorial
To begin a transcription task (~15 min) go to
http://classtranscribe.com/queue/<class_name>. You will revisit this link in the future to get another task.Visit
http://classtranscribe.com/progress/<class_name>to view the progress that you and your classmates have made!You can view and search finished transcriptions at
http://classtranscribe.com/<class_name>If you have any questions or concerns regarding the transcription process, please don't hesitate to email
<admin_email_address>.Thanks,
<professor_name>
- Have the latest version of transcriptions in your local repository by running
git pull origin master. - Run
scripts/videoGenerator.js <class_name>to generate a list of videos. Create/Modifyjavascripts/data/videos/<classname>.jsaccordingly. - Run
scripts/captionGenerator.js <class_name>to generate a list of captions. Create/Modifyjavascripts/data/captions/<classname>.jsaccordingly. - If it's the first time uploading transcriptions, modify the
exampleTermsandcaptionsMappingconfiguration inserver.jsto add example terms and mappings to the video and caption files accordingly. - Restart the server.
