update several shell scripts
This commit is contained in:
parent
04a62c834b
commit
15deaadc5f
23
scripts/cut-video
Executable file
23
scripts/cut-video
Executable file
@ -0,0 +1,23 @@
|
||||
#!/bin/sh
|
||||
|
||||
ts2sec() {
|
||||
IFS=:; set -- $1
|
||||
echo $(($1*60*60 + $2*60 + $3))
|
||||
}
|
||||
|
||||
SRC="$1"
|
||||
START="$2"
|
||||
STOP="$3"
|
||||
|
||||
# Calculate the segment time (in seconds)
|
||||
SPAN="$(($(ts2sec "$STOP") - $(ts2sec "$START")))"
|
||||
|
||||
# Generate an output filename
|
||||
OUT="$(basename "$SRC" .mkv)-cut.mkv"
|
||||
|
||||
# Cut exactly the segment requested into $OUT.
|
||||
ffmpeg -i "$SRC" -ss "$START" -t "$SPAN" -c copy \
|
||||
-c:v libx265 -preset slow -crf 23 \
|
||||
-c:a libopus -b:a 96k -ac 2 -ar 48000 -y -- "$OUT"
|
||||
|
||||
ls -lh "$SRC" "$OUT"
|
@ -1,50 +0,0 @@
|
||||
#!/usr/bin/env nix-script
|
||||
#!>zsh
|
||||
#! shell | zsh curl haskellPackages.cabal-install
|
||||
|
||||
# functions
|
||||
conf(){ cat *.cabal | grep -Po "^$1:\s+\K.+" }
|
||||
input(){ read "reply?$1 "; echo ${reply:-$2} }
|
||||
inputpw(){ echo -n "$1 " >&2; scat --silent --nocode -n 24 -S $2; echo >&2 }
|
||||
|
||||
# parameters
|
||||
package=$(conf name)
|
||||
version=$(conf version)
|
||||
author=$(conf author)
|
||||
|
||||
# authentication
|
||||
user=$(input "user ($author):" $author)
|
||||
password=$(inputpw "password:" hackage)
|
||||
|
||||
cabal configure &&
|
||||
cabal build &&
|
||||
cabal haddock \
|
||||
--hyperlink-source \
|
||||
--html-location='/package/$pkg-$version/docs' \
|
||||
--contents-location='/package/$pkg'
|
||||
|
||||
S=$?
|
||||
if [ "$S" = "0" ]; then
|
||||
cd dist/doc/html
|
||||
ddir="$package-$version-docs"
|
||||
cp -rf $package $ddir &&
|
||||
tar -cz --format=ustar -f "$ddir.tar.gz" $ddir
|
||||
CS=$?
|
||||
if [ "$CS" -eq "0" ]; then
|
||||
echo "Uploading to Hackage..."
|
||||
curl \
|
||||
-X PUT \
|
||||
-H 'Content-Type: application/x-tar' \
|
||||
-H 'Content-Encoding: gzip' \
|
||||
-u "$user:$password" \
|
||||
--data-binary "@$ddir.tar.gz" \
|
||||
"https://hackage.haskell.org/package/$package-$version/docs"
|
||||
exit $?
|
||||
else
|
||||
echo "Error when packaging the documentation."
|
||||
exit $CS
|
||||
fi
|
||||
else
|
||||
echo "Error when trying to build the package."
|
||||
exit $S
|
||||
fi
|
18
scripts/rec
Executable file
18
scripts/rec
Executable file
@ -0,0 +1,18 @@
|
||||
#!/bin/sh
|
||||
|
||||
record() {
|
||||
sleep 2
|
||||
ffmpeg -f x11grab -r 30 -s 1920x1080 -i :0.0 -f alsa -i recorder \
|
||||
-c:v libx264 -preset ultrafast \
|
||||
-c:a libopus -b:a 96k -ac 2 -ar 48000 \
|
||||
-y recording.mkv &
|
||||
}
|
||||
|
||||
if test "$1" = start; then
|
||||
fish -ic 'set -U AUDIO record'
|
||||
record &
|
||||
disown
|
||||
else
|
||||
fish -ic 'set -U AUDIO'
|
||||
pkill ffmpeg
|
||||
fi
|
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/usr/bin/sh
|
||||
|
||||
## WolframAlpha CLI
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user