From 186bc7814d0668a21f5af170f229877d7925b06c Mon Sep 17 00:00:00 2001 From: capta1nseal Date: Sun, 15 Sep 2024 05:36:41 +0300 Subject: [PATCH] Add video converter --- convert-video.sh | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100755 convert-video.sh diff --git a/convert-video.sh b/convert-video.sh new file mode 100755 index 0000000..92e9737 --- /dev/null +++ b/convert-video.sh @@ -0,0 +1,42 @@ +#!/usr/bin/bash + +set -e +export TMP_DIR="$(mktemp -d)"; + +cleanup() { + rm -fr "${TMP_DIR}"; +} + +trap cleanup EXIT + + +export URL="$1"; +export NAME="$2"; +export BASE_URL="$3" + +if [ -z "${BASE_URL}" ]; then + export BASE_URL="CHANGEME"; +fi + + +mkdir -p "${NAME}" + +export ORIG="$(pwd)"; + +cd "${TMP_DIR}" + +yt-dlp "${URL}" -o "${NAME}" + +ffmpeg -i $2.* -filter_complex "[0:a]channelsplit=channel_layout=stereo[left][right]" -map '[left]' -f s8 -ac 1 -ar 48k "${ORIG}/${NAME}/left.s8" -map '[right]' -f s8 -ac 1 -ar 48k "${ORIG}/${NAME}/right.s8" + +ffmpeg -i $2.* -vf fps=20 frame%04d.png +rm $2.* +ls frame*.png | parallel 'echo {}; python3 ${ORIG}/cc-pic.py -W 164 -H 81 -p cover {} ${ORIG}/${NAME}/{.}.cpi' +rm frame*.png + +cd "${ORIG}" + +export FRAME_COUNT="$(ls ${NAME}/*.cpi | wc -l)"; + +#'{"frame_time": 0.05,"frame_count": ${FRAME_COUNT},"video": "${BASE_URL}/${NAME}/frame%04d.cpi","audio": {"l": "${BASE_URL}/${NAME}/left.s8", "r": "${BASE_URL}/${NAME}/right.s8"}}' > "${NAME}/${NAME}.json" +printf '{"frame_time": 0.05, "frame_count": %d, "video": "%s", "audio": {"l": "%s", "r": "%s"}}\n' "${FRAME_COUNT}" "${BASE_URL}/${NAME}/frame%04d.cpi" "${BASE_URL}/${NAME}/left.s8" "${BASE_URL}/${NAME}/right.s8" > "${NAME}/${NAME}.json" \ No newline at end of file