Я пытался управлять функцией сегментации файла ffmpeg через сценарий bash, чтобы разрезать большой файл фильма на более мелкие части.
Я просмотрел документацию здесь, но она не охватывает то, что я хотел бы сделать.
Я хотел бы смешать функцию сегмента с некоторыми собственными вещами из bash. Вот пример части сценария.
#!/bin/bash
DIR="/../../*"
OUT_DIR="/../../"
file_extension=""
filename=""
input_file=""
input_file_dir=""
output_file=""
working_directory=""
output_file_dir=""
part_count=0
for f in $DIR
do
filename=$(basename "$f")
input_file="$filename"
filename=${filename::-4}
file_extension=${f: -3}
input_file_dir=$(dirname "$f")"/"
part_count="$(printf "%03d" "$counter")"
output_file="$filename"_"$part_count"."$file_extension
//my file name generation takes place here
output_file_dir="$OUT_DIR$filename"_"$part_count".mkv"
let part_count=$part_count+1
ffmpeg -i "$f" -c:v libx264 -crf 22 -map 0 -strict -2 -segment_time 600 -g 9 -sc_threshold 0 -force_key_frames "expr:gte(t,n_forced*9)" -f segment "$OUT_DIR"
done
Строка выше "$OUT_DIR" не работает и выдает загадочную ошибку. Если я удалю "$OUT_DIR" и поставлю что угодно, например "test.mkv", то файлы будут записаны правильно, но в неправильном месте.
Могу ли я сделать это с помощью сегментной команды ffmpeg и bash?