diff --git a/install/cli-tools.sh b/install/cli-tools.sh index 6453999..74bbb91 100755 --- a/install/cli-tools.sh +++ b/install/cli-tools.sh @@ -1,12 +1,13 @@ #!/usr/bin/env bash +brew tap homebrew-ffmpeg/ffmpeg # install additional brew packages -- see _install.sh too brew install composer brew install curl brew install dnsmasq -brew install ffmpeg brew install git-flow brew install git-ftp +brew install homebrew-ffmpeg/ffmpeg/ffmpeg --with-fdk-aac brew install httpd brew install imagemagick brew install mariadb diff --git a/zsh/functions b/zsh/functions index 5c5ec43..b5f8e63 100644 --- a/zsh/functions +++ b/zsh/functions @@ -1,37 +1,13 @@ -# convert a video to mp4 + webm in one go for web function webvideo() { - ffmpeg -i $1 -acodec libvorbis -ac 2 -b:a 128k -ar 44100 -vcodec libvpx -pix_fmt yuv420p -r 25 -qmin 10 -qmax 42 -cpu-used 0 -threads 2 -quality good -b:v 2M -maxrate 2M -bufsize 4M -s 1280x720 $1.webm - ffmpeg -i $1 -movflags +faststart -acodec libfdk_aac -ac 2 -b:a 128k -ar 44100 -vcodec libx264 -vprofile high -preset slow -pix_fmt yuv420p -r 25 -b:v 2M -maxrate 2M -bufsize 4M -s 1280x720 $1.mp4 + ffmpeg -i $1 -map_metadata -1 -c:a libopus -c:v libaom-av1 -crf 34 -b:v 0 -pix_fmt yuv420p -movflags +faststart -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" -strict experimental $1.av1.mp4 + ffmpeg -i $1 -map_metadata -1 -c:a libfdk_aac -c:v libx265 -crf 24 -preset veryslow -pix_fmt yuv420p -movflags +faststart -tag:v hvc1 -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" $1.hevc.mp4 + ffmpeg -i $1 -map_metadata -1 -c:a libfdk_aac -c:v libx264 -crf 24 -preset veryslow -profile:v main -pix_fmt yuv420p -movflags +faststart -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" $1.h264.mp4 } -function webvideonew() { - ffmpeg -i $1 -preset slow -codec:a libfdk_aac -b:a 128k -codec:v libx264 -pix_fmt yuv420p -b:v 4500k -minrate 4500k -maxrate 9000k -bufsize 9000k -vf scale=-1:1080 $1.mp4 -} - -function webvideohigh() { - ffmpeg -i $1 -acodec libvorbis -ac 2 -b:a 160k -ar 44100 -vcodec libvpx -pix_fmt yuv420p -r 25 -qmin 10 -qmax 42 -cpu-used 0 -threads 2 -quality good -b:v 3M -maxrate 3M -bufsize 6M -s 1280x720 $1--high.webm - ffmpeg -i $1 -movflags +faststart -acodec libfdk_aac -ac 2 -b:a 160k -ar 44100 -vcodec libx264 -vprofile high -preset slow -pix_fmt yuv420p -r 25 -b:v 3M -maxrate 3M -bufsize 6M -s 1280x720 $1--high.mp4 -} - -function webvideolow() { - ffmpeg -i $1 -acodec libvorbis -ac 2 -b:a 96k -ar 44100 -vcodec libvpx -pix_fmt yuv420p -r 25 -qmin 10 -qmax 42 -cpu-used 0 -threads 2 -quality good -b:v 1M -maxrate 1M -bufsize 2M -s 1280x720 $1--low.webm - ffmpeg -i $1 -movflags +faststart -acodec libfdk_aac -ac 2 -b:a 96k -ar 44100 -vcodec libx264 -vprofile high -preset slow -pix_fmt yuv420p -r 25 -b:v 1M -maxrate 1M -bufsize 2M -s 1280x720 $1--low.mp4 -} - -# convert a video to mp4 + webm in one go for web function webvideonoaudio() { - ffmpeg -i $1 -an -vcodec libvpx -pix_fmt yuv420p -r 25 -qmin 10 -qmax 42 -cpu-used 0 -threads 2 -quality good -b:v 2M -maxrate 2M -bufsize 4M -s 1280x720 $1--no-audio.webm - ffmpeg -i $1 -movflags +faststart -an -vcodec libx264 -vprofile high -preset slow -pix_fmt yuv420p -r 25 -b:v 2M -maxrate 2M -bufsize 4M -s 1280x720 $1--no-audio.mp4 -} - -function webvideohighnoaudio() { - ffmpeg -i $1 -an -vcodec libvpx -pix_fmt yuv420p -r 25 -qmin 10 -qmax 42 -cpu-used 0 -threads 2 -quality good -b:v 3M -maxrate 3M -bufsize 6M -s 1280x720 $1--high--no-audio.webm - ffmpeg -i $1 -movflags +faststart -an -vcodec libx264 -vprofile high -preset slow -pix_fmt yuv420p -r 25 -b:v 3M -maxrate 3M -bufsize 6M -s 1280x720 $1--high--no-audio.mp4 -} - -function webvideolownoaudio() { - ffmpeg -i $1 -an -vcodec libvpx -pix_fmt yuv420p -r 25 -qmin 10 -qmax 42 -cpu-used 0 -threads 2 -quality good -b:v 1M -maxrate 1M -bufsize 2M -s 1280x720 $1--low--no-audio.webm - ffmpeg -i $1 -movflags +faststart -an -vcodec libx264 -vprofile high -preset slow -pix_fmt yuv420p -r 25 -b:v 1M -maxrate 1M -bufsize 2M -s 1280x720 $1--low--no-audio.mp4 + ffmpeg -i $1 -map_metadata -1 -an -c:v libaom-av1 -crf 34 -b:v 0 -pix_fmt yuv420p -movflags +faststart -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" -strict experimental $1.av1.mp4 + ffmpeg -i $1 -map_metadata -1 -an -c:v libx265 -crf 24 -preset veryslow -pix_fmt yuv420p -movflags +faststart -tag:v hvc1 -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" $1.hevc.mp4 + ffmpeg -i $1 -map_metadata -1 -an -c:v libx264 -crf 24 -preset veryslow -profile:v main -pix_fmt yuv420p -movflags +faststart -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" $1.h264.mp4 } # create and change to directory/folder