bbb-utils/odc-encode.sh

65 lines
1.4 KiB
Bash
Raw Normal View History

#!/bin/bash
set -e
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
CONFIG="${SCRIPT_DIR}/odc-config.sh"
if [ ! -e "${CONFIG}" ]; then
echo "[!] Missing config file odc-config.sh"
fi
source "${CONFIG}"
ODC_TYPE="$1"
ODC_SLUG="$2"
if [ "${ODC_TYPE}" == "" ]; then
echo "[!] Missing call type (osmodevcall or retronetcall)"
exit 1;
fi
if [ "${ODC_SLUG}" == "" ]; then
echo "[!] Missing ODC slug"
exit 1;
fi
if [ "${ODC_RENDER_PATH}" == "" ]; then
echo "[!] Missing render directory"
exit 1;
fi
ODC_RENDER_MASTER="${ODC_RENDER_PATH}/${ODC_TYPE}-${ODC_SLUG}_master.mov"
if [ ! -f "${ODC_RENDER_MASTER}" ]; then
echo "[!] Missing master render"
exit 1;
fi
: "${FFMPEG:=ffmpeg}"
"${FFMPEG}" \
-hwaccel cuda -hwaccel_output_format cuda \
-i "${ODC_RENDER_MASTER}" \
-c:v h264_nvenc -b:v 1M \
-c:a aac -b:a 96k \
"${ODC_RENDER_PATH}/${ODC_TYPE}-${ODC_SLUG}_h264_420.mp4"
"${FFMPEG}" \
-hwaccel cuda -hwaccel_output_format cuda \
-i "${ODC_RENDER_MASTER}" \
-c:v hevc_nvenc -b:v 512k \
-c:a aac -b:a 96k \
"${ODC_RENDER_PATH}/${ODC_TYPE}-${ODC_SLUG}_h265_420.mp4"
#"${FFMPEG}" \
# -i "${ODC_RENDER_MASTER}" \
# -c:v libvpx-vp9 -b:v 400k \
# -c:a libopus -b:a 80k \
# "${ODC_RENDER_PATH}/${ODC_TYPE}-${ODC_SLUG}_vp9.webm"
"${FFMPEG}" \
-i "${ODC_RENDER_MASTER}" \
-c:v libsvtav1 -crf 30 -b:v 2M -g 240 -svtav1-params "fast-decode=1:tune=0" \
-c:a libopus -b:a 80k \
"${ODC_RENDER_PATH}/${ODC_TYPE}-${ODC_SLUG}_av1.webm"