The video processing pipeline for Blender Conferences.
https://conference.blender.org
Bastien Montagne 8348db61e2 | ||
---|---|---|
.gitignore | ||
.gitmodules | ||
BCON_logo.svg | ||
LICENSE | ||
README.md | ||
concat_vids.sh | ||
gen_cards.py | ||
gen_vids.sh | ||
install_deps.sh | ||
poetry.lock | ||
pyproject.toml | ||
silence-24.wav | ||
slide_template.svg | ||
theatre_bg.jpg | ||
to_shared.sh | ||
upload_vid.py | ||
zip.sh |
README.md
Blender Conference Video Processing
In this document, N
indicates any decimal digit. 20NN
thus indicates 'a four-digit year',
whereas bcNN
indicates bc
followed by a two-digit year.
Preparation of a new machine
apt-get install ffmpeg python3.7 python3-pip git vlc mplayer curl inkscape
pip3 install poetry --user
- Make sure
$PATH
contains$HOME/.local/bin
git clone git@gitlab.com:blender-institute/conference-video-processing.git
git submodule init; git submodule update
poetry install
Preparation for a new Conference
- Update the files mentioning
bcNN
or20NN
to the current year. At least include:to_shared.sh
upload_vid.py
zip.sh
- Create a YouTube playlist named
Blender Conference 20NN
(with the current year, of course). - Update
upload_vid.py
and place the playlist ID in theYOUTUBE_PLAYLIST_ID
variable. - Delete any previously existing
presentations.json
and other generated media (cards
,upload-ready-vids
). - Make a directory
source-vids
that will contain the source videos. If it exists already, clean out any video from last year. - Run
poetry run ./gen_cards.py
to generate the title cards. - Get proper OAuth credentials for uploading to YouTube (there is a chance that
last year's credentials have expired by now):
- Go to the Google console.
- If the YouTube Uploader credentials don't exist any more, create them (Create credentials → OAuth client ID → Other → Name: youtube-upload → Create → OK)
- Download JSON: Under the section "OAuth 2.0 client IDs".
- Save the file to
client_secret.json
in the current directory.
- Create a test video called
upload-ready-vids/{talk ID}-something.mkv
- Run
./upload_vid.py {talk_id}
and follow the steps to properly go through the final authentication steps.
During the Conference
- Copy MOV files into
source-vids
. We expect one file per talk. -- If several files are generated instead, use./concat_vids.sh {destination_video} {source_video_1} {source_video_2} ...
command to stitch them together first. - Determine the start and end timestamps (using [[HH:]MM:]SS format) in the input video (content before the start, and after the end, will be discarded).
- Run
./gen_vids.sh source-vids/CaptureNNNN.mov {talk ID} {input time [[HH:]MM:]SS} {output time [[HH:]MM:]SS}
- Run
poetry run ./upload_vid.py {talk ID}
to upload the video as unlisted to YouTube. - Review the video; once deemed OK, set to Public and add to the 'Blender Conference 20NN' playlist.