Kotlin scripts to help with generating/uploading videos.
You need kotlin in your PATH:
curl -s "https://get.sdkman.io" | bash
source ~/.sdkman/bin/sdkman-init.sh
sdk install kotlin
You also need ImageMagick:
brew install imagemagick
And ffmpeg:
brew install ffmpeg
Test the script on a single video with ./generate_video.main.kts generate.
Once everything is ok, download a CSV file containing the start and end time (this might require some tweaking of the script) and run in batch mode
./generate_video.main.kts batch --in-dir ~/Movies/AM24 --intro-dir inputs/animated_speaker_cards --infos-csv inputs/data.csv --out-dir out --skip-existing
./generate_video.main.kts batch --in-dir ~/Downloads/Captation2022/ --intro-dir ~/git/tmpAndroidMakersVisuals/INTRO --sponsor-path ~/Downloads/Captation2022/sponsors.png --infos-csv ~/Downloads/Captation2022/data.csv --out-dir out --skip-existing
There is no script to do this at the moment. It requires manually uploading and adding the youtube url to the spreadsheet
You can update the metadata with youtube.main.kts. It requires a valid access token with Youtube Data API v3 scope. The process to get one is bit convoluted. Follow the instruction given when running the script:
./youtube.main.kts update --mapping-csv ~/Downloads/Captation2022/data.csv --metadata-json ~/Downloads/Captation2022/youtube-input.json --thumbnails ~/git/tmpAndroidMakersVisuals/THUMBNAIL --only IDH-6371,YLE-5245,SGC-3820
../../git/video-tools/kscripts/generate_video.main.kts generate --sponsors endscreen.mp4 --intro card.mp4 --start-sec 0 --end-sec $[ 2* 60 + 4 ] --out-dir out --video-id reno --video date.mp4