From 8b634e384105bc9906807e8f4937a6372041023d Mon Sep 17 00:00:00 2001 From: Michael Campagnaro Date: Mon, 7 Feb 2022 10:22:42 -0500 Subject: [PATCH] Add a script to extract audio from a video --- bin/extract-audio-from-video | 55 ++++++++++++++++++++++++++++++++++++ vimrc | 3 -- 2 files changed, 55 insertions(+), 3 deletions(-) create mode 100644 bin/extract-audio-from-video diff --git a/bin/extract-audio-from-video b/bin/extract-audio-from-video new file mode 100644 index 0000000..30e5396 --- /dev/null +++ b/bin/extract-audio-from-video @@ -0,0 +1,55 @@ +#!/usr/bin/env bash + +if which tput >/dev/null 2>&1; then + ncolors=$(tput colors) +fi +if [ -t 1 ] && [ -n "$ncolors" ] && [ "$ncolors" -ge 8 ]; then + RED="$(tput setaf 1)" + GREEN="$(tput setaf 2)" + YELLOW="$(tput setaf 3)" + BLUE="$(tput setaf 4)" + MAGENTA="$(tput setaf 5)" + CYAN="$(tput setaf 6)" + BOLD="$(tput bold)" + NORMAL="$(tput sgr0)" +else + RED="" + GREEN="" + YELLOW="" + BLUE="" + MAGENTA="" + CYAN="" + BOLD="" + NORMAL="" +fi + +transcode="$1" +filename=$(basename -- "$2") +format="$3" +bitrate="$4" + +if [[ $1 == "" || $2 == "" || $3 == "" ]]; then + printf "${BOLD}${RED}Usage: $0 ${NORMAL}\n" + exit 1 +fi + +extension="${filename##*.}" +filename="${filename%.*}" +output_name="$filename.$format" + +if [[ $bitrate == "" ]]; then + bitrate="64" +fi + +printf "\n${YELLOW}${BOLD}Extracting audio from '$filename.$extension' | bitrate: ${bitrate}k | output: $output_name${NORMAL}\n" + +if [[ $transcode == "1" ]]; then + # Transcode audio + ffmpeg -i "$filename.$extension" -b:a ${bitrate}k -ac 2 -ar 44100 -map a "$output_name" +else + # Grab the audio stream from the video. + ffmpeg -i "$filename.$extension" -vn -acodec copy "$output_name" +fi + +printf "\n${GREEN}${BOLD}Done extracting audio from '$filename.$extension' | output name '$output_name'${NORMAL}\n\n" + diff --git a/vimrc b/vimrc index 1e9c7e8..4d9ac34 100644 --- a/vimrc +++ b/vimrc @@ -374,9 +374,6 @@ augroup campoCmds " Jump to last cursor position unless it's invalid or in an event handler. autocmd BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif - " Indent HTML

tags. - autocmd FileType html,eruby if g:html_indent_tags !~ '\\|p\>' | let g:html_indent_tags .= '\|p\|li\|dt\|dd' | endif - " Properly indent schemes (scheme, racket, etc). autocmd BufRead,BufNewFile *.{lisp,scm,rkt} setlocal equalprg=scmindent.rkt