This repository contains scripts used for my BossmanJack live stream capturing system and associated post processing.
kick_capture/main.py
listens for the "Start Stream" event from Kick and runs the download scriptkick_capture/bmj_dl.bat
runs yt-dlp and auto-restarts it in the event of errorskick_capture/Test-FfmpegDied.ps1
is used by the batch script to check ifffmpeg
encountered an error while capturing and restart the capture if necessary. Note this used to be very frequent, but it seems Kick has resolved the random 500 errors since December.Export-WavFiles.ps1
automates extracting wav audio from the streams for running whispercppNew-WhisperCppTranscription.ps1
automates the transcription processExport-WhisperCsvToTxt.ps1
creates nicely formatted txt files from the CSV files whispercpp generatesWrite-CleanYtDlpMetadata.ps1
cleans the .info.json files generated byyt-dlp
, stripping potentially sensitive informationgrab_kick_vods/grab_kick_vods.py
grabs all Kick VODs for a channel and runs a companion scriptgrab_kick_vods/grab_kick_vod.bat
example batch script for retrieving a VOD if it hasn't already been downloadedrapfame_dl/rapfame_dl.py
mass download tracks from Rap Fame by artist ID
- The PowerShell CSV cmdlets are buggy when dealing with escaped double quoted strings in CSV files. Whispercpp will occassionally emit quoted text and this can lead to slight errors in the txt files.
- PowerShell's JSON cmdlets have a shallow depth by default, which leads to some heavily nested objects in the
yt-dlp
metadata becoming stringified. This is easily fixable by specifying a sufficient depth, but the property affected isn't important (HTTP headers) and I don't want to change the schema of my existing metadata files. - There is no handling of
whispercpp
orffmpeg
errors - The Rap Fame script doesn't support obtaining the artist ID from the page