Repository with tools for creating the Humans of TIKS videos.
The videos can be found here.
-
We use
ffmpegto do all the heavy lifting for us. Make sure that you haveffmpegon your PATH. You can download it from here -
To install the requirements for the tool, install the requirements.
pip install -r requirements.txtThe script ./scripts/process-video.py does all the automation that we need.
Run the script to see some help.
python script/process-video.py --help-
Copy the videos to a sub-directory in the
mediadirectory, and create an empty.ymlconfig file in theprojectsdirectory. For example,media/vkwith the videos, and an emptyprojects/vk.yml. -
Run the
populate-configcommand to start populating the empty template, and also convert videos to low resolution videos. It is easier to work with lower resolution videos, while you are figuring out what to keep and what to remove. Once you are happy with content, you can generate the high resolution videos. -
Start creating the edited video, by watching the recording and selecting clips that you want to keep. See other existing
.ymlfiles to see the format for each clip. It should have a question, and some timings from the video to select/pick.A clip can be made up of multiple segments. Each segment has a start time and an end time. The segments can come from the same video or different videos. Each segment can specify the video that it comes from, using a
videokey. Each segment can also specify acropto specify which part of the original video's frame should be cropped to make this segment. -
Always specify the videos using their high-res names. The processing script automatically chooses the high-res or the low res video based on whether the
--use-originalor--use-low-resflag is passed. -
You can add a crop value to the file or to each clip or segment, to crop the video to a square one. The crop value looks something like
ih:ih:ih/3.2:0. The parameters arewidth:height:width_offset:height_offset.widthandheightdefine the bounding box you are using to crop the video.width_offsetandheight_offset, define where to place the box on the original video.ihandiware height and width of the original video. -
You can use the
process-clipscommand to process and produce a short clip for each specific question. For example, the following command will process the 4th question invk.yml../scripts/process-video.py projects/vk.yml process-clips -n4
Adding the
--with-introflag adds the question/answer video at the beginning of the clip. -
To find the number of a question you want to process, you can use the
print-indexcommand.No. Question & Answer Duration (s) Q time (s) 1 How did you start playing Ultimate? 33.1 4 2 What sports did you play before and how does it compare to Ultimate? 63.9 5 3 How was the experience of cycling from Manali to Leh? 77.6 4 4 What keeps you playing Ultimate? 13.4 4
-
You can specify the background music to use for the video using the
bgmkey. Similarly, you can also specify thecoverimage to use and thecreditsslide for the video. -
To generate the full video from the clips, use the
combine-clipssub-command. For example, the following command will generate the complete video using the configuration specified inaishu.yml../scripts/process-video.py projects/aishu.yml combine-clips
This will generate the video in the aspect ratio required for IGTV too, along with a simple square video.
-
Once you are happy with all the segments and clips and the complete video, you can generated the high-res video using the same two commands as above,
process-clipsandcombine-clips, but with the additional--use-originalflag passed to the commands../scripts/process-video.py --use-original projects/aishu.yml process-clips ./scripts/process-video.py --use-original projects/aishu.yml combine-clips
You can also use the helper script
generate.shto do this../generate.sh aishu --use-original
-
Upload the
IGTV-ALL-music-*video to IGTV and use theIGTV-cover.jpgas the cover image. You can upload theALL-music-*video to YouTube. Use the low-res videos when uploading testing versions to get feedback from the person giving the interview, and the rest of the team. Use the high res videos when uploading for the real audience.
Some ideas and suggestions provided by various people, that we could try to incorporate in future videos. Ideally, our tool should incorporate these features, rather than us adding anything manually.
- Captions on videos may be nice, especially when the audio is noisy.