Files

26 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
SRC=$HOME/measurements/source/bbb_720p.mov
OUT=$HOME/measurements/encoded
LOG=$HOME/measurements/logs
mkdir -p "$OUT" "$LOG"
: > $LOG/encode.log
encode() {
local label=$1; shift
local t0=$(date +%s)
echo "=== $label START $(date -Iseconds) ===" | tee -a $LOG/encode.log
ffmpeg -hide_banner -ss 0 -t 60 -i "$SRC" -pix_fmt yuv420p -an -y "$@" > $LOG/encode_$label.log 2>&1
local rc=$?
local t1=$(date +%s)
echo "=== $label END $(date -Iseconds) elapsed=$((t1-t0))s rc=$rc ===" | tee -a $LOG/encode.log
}
encode h264 -c:v libx264 -preset medium -crf 23 $OUT/bbb_60s_720p.h264.mp4
encode hevc -c:v libx265 -preset fast -crf 28 $OUT/bbb_60s_720p.hevc.mp4
encode mpeg2 -c:v mpeg2video -qscale:v 4 -f mpegts $OUT/bbb_60s_720p.mpeg2.ts
encode vp8 -c:v libvpx -crf 30 -b:v 1500k -threads 8 -cpu-used 4 $OUT/bbb_60s_720p.vp8.webm
encode vp9 -c:v libvpx-vp9 -crf 30 -b:v 0 -threads 8 -cpu-used 4 -row-mt 1 -tile-columns 2 $OUT/bbb_60s_720p.vp9.webm
echo "=== ALL ENCODES DONE $(date -Iseconds) ===" | tee -a $LOG/encode.log
ls -la $OUT/ | tee -a $LOG/encode.log