The video processing pipeline for Blender Conferences. https://conference.blender.org
Go to file
Bastien Montagne 8348db61e2 Commit new 'no sponsor' template to proper file name. 2022-10-27 12:12:01 +02:00
.gitignore Prepare for BCON22 2022-10-03 11:59:09 +02:00
.gitmodules Add youtube-upload as an actual Git submodule 2018-10-23 12:13:31 +02:00
BCON_logo.svg Prepare for BCON22 2022-10-03 11:59:09 +02:00
LICENSE Add LICENSE 2019-10-22 11:02:25 +00:00
README.md Add helper 'concat_vids.sh' to stitch videos together. 2022-10-21 16:41:24 +02:00
concat_vids.sh Add helper 'concat_vids.sh' to stitch videos together. 2022-10-21 16:41:24 +02:00
gen_cards.py Update/fix `gen_cards` curl command to fetch presentations.json. 2022-10-21 17:02:51 +02:00
gen_vids.sh gen_vids: tweak name of log file to always appear first in dir list. 2022-10-21 20:01:20 +02:00
install_deps.sh Added 'install_deps.sh' to install dependencies on fresh Ubuntu 2019-10-22 16:26:03 +02:00
poetry.lock Prepare for BCON22 2022-10-03 11:59:09 +02:00
pyproject.toml Prepare for BCON22 2022-10-03 11:59:09 +02:00
silence-24.wav Added last-minute stuff 2016-10-27 19:13:29 +02:00
slide_template.svg Commit new 'no sponsor' template to proper file name. 2022-10-27 12:12:01 +02:00
theatre_bg.jpg Prepare for BCON22 2022-10-03 11:59:09 +02:00
to_shared.sh Prepare for BCON22 2022-10-03 11:59:09 +02:00
upload_vid.py Comment about liveBroadcastContent flag 2022-10-26 16:46:47 +02:00
zip.sh Prepare for BCON22 2022-10-03 11:59:09 +02:00

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 or 20NN 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 the YOUTUBE_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.