Files
dotfiles/scripts/shell/proj-llc-to-ffmpeg-helper.sh
2025-12-25 18:51:45 -03:00

32 lines
942 B
Bash
Executable File

#!/bin/env bash
ffmpeg_commands_list=()
files_count=1
for file in ./*-proj.llc; do
llc_filename_new="${file}.json"
node -p "JSON.stringify(eval('(' + require('fs').readFileSync('${file}','utf8') + ')'), null, 2)" >"${llc_filename_new}"
media_filename=$(cat "${llc_filename_new}" | jq -r '.mediaFileName')
segments_qty=$(cat "${llc_filename_new}" | jq -r '.cutSegments | length')
for seq in $((segments_qty - 1)); do
seq_start=$(cat "${llc_filename_new}" | jq -r ".cutSegments[${seq}].start")
seq_end=$(cat "${llc_filename_new}" | jq -r ".cutSegments[${seq}].end")
ffmpeg_commands_list+=("ffmpeg-helper.sh -i \"${media_filename}\" --trim-start ${seq_start} --trim-end ${seq_end} --scale 1280x720 --crf 30 -o roadhog_${files_count}.mp4")
files_count=$((files_count + 1))
done
done
# rm ./*-proj.llc
# rm ./*-proj.llc.json
echo 'Results'
for cmd in "${ffmpeg_commands_list[@]}"; do
echo " ${cmd}"
done