dotfiles

personal dotfiles
git clone anongit@rnpnr.xyz:dotfiles.git
Log | Files | Refs | Feed | Submodules

Commit: de0bef4b0bd99901f912bc208b503c1bd3dd4cc3
Parent: f39d816bf54e59cd3eb0d1e635017d877b020962
Author: Randy Palamar
Date:   Wed,  2 Jun 2021 17:50:22 -0600

extract-audio: strip text enclosed in brackets, set fallback audio track

Diffstat:
Mbin/extract-audio | 13++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/bin/extract-audio b/bin/extract-audio @@ -1,5 +1,8 @@ #!/bin/sh +# extract audio from video files +# useful for passive immersion + usage() { echo "usage: $0 [-d outdir] [-l lang] file ..." exit 1 @@ -24,13 +27,21 @@ lang=${lang:-jpn} IFS= for f in $*; do - t=$(echo $f | cut -d . -f 1) + # construct track title and new filename + t=$(echo $f | cut -d . -f 1 | \ + sed -e 's:\[.*\]::g; s:(.*)::g' \ + -e 's:^ *::; s: *$::') newf=$out/$t.opus + + # find a stream index for desired audio track idx=$(ffprobe -of compact=nk=1:s=. -v error \ -show_entries stream=index,codec_type:stream_tags=language \ $f | \ awk -F . '/audio.'$lang'/ { print $2; exit }') + # if no audio tracks have specified lang fall back to a:0 + idx=${idx:-a:0} + case $f in *.mkv|*.mp4) ffmpeg -loglevel error -stats \