dotwryn/scwrypts/media/youtube/get-audio-clip
2025-02-21 15:57:49 -07:00

39 lines
998 B
Bash
Executable File

#!/bin/zsh
use ffmpeg/get-audio-clip-from-video --group media
use youtube/get-download-path --group media
#####################################################################
#####################################################################
MAIN() {
local DOWNLOAD_PATH="$(media.youtube.get-download-path)"
local INPUT_FILENAME="$(
cd -- "${DOWNLOAD_PATH}"
find . -type f -name \*.mp4 \
| sed 's|^./||' \
| utils.fzf 'select a video' \
| sed 's/\.mp4$//' \
)"
[ "${INPUT_FILENAME}" ] || ABORT
local OUTPUT_FILENAME="$(\
basename -- "${INPUT_FILENAME}" \
| sed 's/\.[^.]*$//' \
| utils.fzf.user-input 'what should I call this clip? (.mp3)' \
| sed 's/\(\.mp3\)*$//' \
)"
[ "${OUTPUT_FILENAME}" ] || ABORT
INPUT_FILENAME="${DOWNLOAD_PATH}/${INPUT_FILENAME}.mp4"
OUTPUT_FILENAME="${DOWNLOAD_PATH}/${OUTPUT_FILENAME}.mp3"
media.ffmpeg.get-audio-clip-from-video \
--input-filename "${INPUT_FILENAME}" \
--output-filename "${OUTPUT_FILENAME}" \
;
}