Init
This commit is contained in:
commit
eeff4699ff
2
README.md
Normal file
2
README.md
Normal file
@ -0,0 +1,2 @@
|
||||
# AudioCutter
|
||||
Это скрипт на bash для деления аудио на заданное кол-во частей.
|
||||
39
cutter.bash
Executable file
39
cutter.bash
Executable file
@ -0,0 +1,39 @@
|
||||
#!/bin/bash
|
||||
zenity --info --text="Этот скрипт нужен для разделения аудиофайла на части. Нажмите ОК для продолжения..."
|
||||
audiofile=$(zenity --file-selection --title="Выберите файл для нарезки на части")
|
||||
count=$(zenity --entry --title="Нарезка аудио..." --text="Введите кол-во частей:")
|
||||
|
||||
if ffmpeg -i "$audiofile" &> /dev/null; then
|
||||
zenity --warning --text="Ошибка!"
|
||||
exit 1
|
||||
fi
|
||||
filelen=$(ffmpeg -i "$audiofile" 2>&1 | grep -oE "[0-9]{1}:[0-9]{2}:[0-9]{2}" | tail -n 1)
|
||||
IFS=':' read -ra filelen <<< "$filelen"
|
||||
lenseconds=${filelen[2]}
|
||||
lenminutes=${filelen[1]}
|
||||
lenhours=${filelen[0]}
|
||||
filelen=$((lenseconds+(lenminutes*60)+(lenhours*60*60)))
|
||||
outfile=${audiofile%.*}
|
||||
segmentsize=$((filelen/count))
|
||||
echo File length at seconds: $filelen
|
||||
percent=0
|
||||
i=0
|
||||
mkdir -p "$(dirname "$outfile")/ffmpeg-out"
|
||||
(
|
||||
while [ $i -le $((count-1)) ]; do
|
||||
starttime=$((segmentsize*i))
|
||||
stoptime=$(((segmentsize*(i+1))+1))
|
||||
outfiledir="$(dirname "$outfile")/ffmpeg-out/$(basename "$outfile")"
|
||||
outname="$outfiledir-$i-ffmpeg.mp3"
|
||||
# echo File of script: $outname $starttime-$stoptime sec
|
||||
ffmpeg -y -i "$audiofile" -vn -acodec copy -ss $starttime -to $stoptime "$outname" &> /dev/null
|
||||
i=$((i+1))
|
||||
percent=$(( (i+1)*(100/count) ))
|
||||
echo $percent
|
||||
done
|
||||
exit 0
|
||||
) |
|
||||
zenity --progress \
|
||||
--title="Кодирование..." \
|
||||
--text="Кодировано из 100%" \
|
||||
--percentage=0
|
||||
Loading…
x
Reference in New Issue
Block a user