This page contains tips and tricks geared for users with moderate technical proficiency đ§.
Are the privacy and security concerns of installing a system-wide VPN preventing you from SSHing or FTPing into a server?
Do you have the almost-primordial spine-tingling sense that Respondus is still looking through you through your webcam 2 years after you uninstalled it after graduating from high school?
Although you might not need to FTP or SSH into a server behind GlobalConnect VPN for this class, you might need to in the future. This is bad news if youâre a little paranoid about student surveillance.1
Thankfully, Palo Alto provides Windows, Mac, and Linux clients, so all you need to do is set up a small Linux virtual machine in virt-manager
or something, and now you donât have to worry about surveillance when the virtual machine isnât running, and you donât need to route your entire systemâs traffic through a third party just to SSH or FTP into a server!
Unfortunately, you may discover than the Linux client is¸ academically speaking, garbage that doesnât work.
Thankfully, there is an open source and better GlobalConnect client for Linux that actually works: https://github.com/yuezk/GlobalProtect-openconnect
You can plug it into your VMâs init system to start on boot, maybe even automate some of the login process, and thatâs that!2
Some people are very good lecturers, others⌠not so much. Regardless, thereâs not many people you can listen to above 1.5x speed without losing some understanding.
Your professors are human, and humans can leave pauses in their sentences, silently struggle to switch the Zoom screen share every time they share their screen, get way too close or way too far from the microphone, et cetera.
So while you can download videos and speed them up, it really doesnât solve some of the fundamental issues making lectures difficult-to-parse or way-too-long.
Here is an example/template of ffmpeg
to apply moderate and slow speech normalization to a video clip:
ffmpeg -v quiet -i "$DOWNLOAD_FILE" -filter:a "speechnorm=e=6.25:r=0.00001:l=1" "$NORMALIZED_FILE"
Here is a tool to automatically trim silent portions of a video: @WyattBlue/auto-editor (just install it into a Python virtual environment), and here is how to apply it:
${HOME}/Scripts/venv/bin/auto-editor "$NORMALIZED_FILE" --output "${NAME}.mp4" --ffmpeg-location "/usr/bin/ffmpeg" --no-open
If you need to download a download-protected Kaltura video3 to do all of this, youâre going to want to use yt-dlp, it should be on your package manager.
Hereâs how to download a Kaltura video:
yt-dlp "$URL" --output "$DOWNLOAD_FILE"
Alternatively, you could just chain all of these commands together into a small Bash scriptâ
#!/usr/bin/env bash
cd "$(dirname "$0")" || exit
URL=$1
NAME=$2
DOWNLOAD_FILE="downloads/$NAME.mp4"
NORMALIZED_FILE="downloads/$NAME-norm.mp4"
# Download video
if [ ! -f "$DOWNLOAD_FILE" ]; then
echo "Downloading ${NAME}..."
mkdir -p "downloads"
yt-dlp "$URL" --output "$DOWNLOAD_FILE"
fi
# Apply moderate and slow speech normalization (https://ffmpeg.org/ffmpeg-all.html#Examples-73)
if [ ! -f "$NORMALIZED_FILE" ]; then
echo "Normalizing ${NAME}..."
ffmpeg -v quiet -i "$DOWNLOAD_FILE" -filter:a "speechnorm=e=6.25:r=0.00001:l=1" "$NORMALIZED_FILE"
fi
# Apply auto-editor
echo "Applying auto-editor to ${NAME}..."
${HOME}/Scripts/venv/bin/auto-editor "$NORMALIZED_FILE" --output "${NAME}.mp4" --ffmpeg-location "/usr/bin/ffmpeg" --no-open
âAnd then run it like so: ./download.sh "https://cdnapi.kaltura.com/p/BLAHBLAHBLAH" "Lecture 06"
.
Or, you could do it in batch and in parallel:
#!/usr/bin/env bash
cd "$(dirname "$0")" || exit
./download.sh "https://cdnapi.kaltura.com/p/BLAHBLAHBLAH" "Lecture 01 - Introduction" &
./download.sh "https://cdnapi.kaltura.com/p/BLAHBLAHBLAH" "Lecture 02 - History" &
./download.sh "https://cdnapi.kaltura.com/p/BLAHBLAHBLAH" "Lecture 03 - Philosophy" &
./download.sh "https://cdnapi.kaltura.com/p/BLAHBLAHBLAH" "Lecture 04 - OS" &
./download.sh "https://cdnapi.kaltura.com/p/BLAHBLAHBLAH" "Lecture 05 - Commands" &
./download.sh "https://cdnapi.kaltura.com/p/BLAHBLAHBLAH" "Lecture 06 - Files" &
./download.sh "https://cdnapi.kaltura.com/p/BLAHBLAHBLAH" "Lecture 06 - Vi and Emacs Editors I" &
./download.sh "https://cdnapi.kaltura.com/p/BLAHBLAHBLAH" "Lecture 07 - Vi and Emacs Editors II" &
./download.sh "https://cdnapi.kaltura.com/p/BLAHBLAHBLAH" "Lecture 08 - Pipes and Filters" &
./download.sh "https://cdnapi.kaltura.com/p/BLAHBLAHBLAH" "Lecture 09 - Regular Expressions" &
./download.sh "https://cdnapi.kaltura.com/p/BLAHBLAHBLAH" "Lecture 10 - Grep" &
./download.sh "https://cdnapi.kaltura.com/p/BLAHBLAHBLAH" "Lecture 11 - Sed" &
./download.sh "https://cdnapi.kaltura.com/p/BLAHBLAHBLAH" "Lecture 12 - Awk" &
wait
Bright-white lecture slides cutting a hole through your dark-theme desktop like the Sun being peeking behind the moon near the moment of totality to launch a sneaky assault your pupils?
Add this line to your MPV configuration (~/.config/mpv/input.conf
):
I cycle-values vf "sub,lavfi=negate" ""
Now you can toggle a readable dark mode with Also, you should be a little more paranoid. Student surveillance has gotten exponentially worse in the wake of the pandemic, and shows little sign of getting better.âŠď¸ Alternatively, you could just install it into your main Linux environment with no virtualisation if thatâs already within your acceptable range of control / free-ness.âŠď¸ Now, when Banksy says, âcopyright sucksâ, he isnât telling you that you should start mass-producing crappy Banksy merchandise without his permission, and when he sues you he isnât being a hypocrite. Similarly, when I say that the fact that you already spent paid for tuition and are dedicating the best years of life to study means that you are entitled to watch the lectures you paid for in a way thatâs more convenient than through a crappy portal, Iâm not telling you to reupload videos of people without their permission.âŠď¸I
in MPV in any video!