Open Borodin opened 5 years ago
clear echo "[ 0%] Копирование исходных изображений" cp -r ./img ./output echo "[ 0.5%] Преобразования размера панорам" # mogrify -resize 2048x1024 -quality 100 output/*.jpg mogrify -resize 4096x2048 -quality 100 output/*.jpg # mogrify -resize 8192x4096 -quality 100 output/*.jpg echo "[ 28%] Создание списка фалов" for entry in "output"/*.jpg do echo "file '$entry'" >> list.txt done echo "[ 29%] Подсчет количества файлов" files=$(find output/*.jpg -type f | wc -l) frameduration=5 echo "[ 30%] Сборка видео из $(($files*1)) панорам" ffmpeg -f concat -r 1/$frameduration -i list.txt -crf 20 -r 30 -c:v libx264 -preset slow -profile:v high -bf 2 -g 30 -coder 1 -crf 18 -pix_fmt yuv420p -movflags +faststart 360.mp4 -y -loglevel warning audiostart=1 audioduration=$((frameduration*files+startaudio)) echo "[ 98%] Обрезка музыкаи" ffmpeg -ss $audiostart -t $audioduration -i src/audio.mp3 clip.mp3 -y -loglevel warning echo "[99.7%] Совмещение музыки и видео" ffmpeg -i 360.mp4 -i clip.mp3 -c:v copy -c:a aac -b:a 512k youtube.mp4 -y -loglevel warning echo "[99.8%] Добавление методанных" exiftool -xmp:Spherical=true -xmp:UsePanoramaViewer=true -xmp:ProjectionType=equirectangular -xmp:Stitched=true -xmp:StitchingSoftware="Spherical Metadata Tool" -overwrite_original youtube.mp4 &> /dev/null python spatialmedia -i youtube.mp4 youtube_360.mp4 &> /dev/null echo "[99.9%] Создание превью" first=$(ls img/ | sort -n | head -1) convert "img/$first" -resize 1280x720! pv.jpg convert pv.jpg src/preview.png -compose Overlay -composite src/preview.png -compose Over -composite preview.jpg rm pv.jpg echo "[99.9%] Подготовка архива" rm -rf video &> /dev/null mkdir video mv youtube_360.mp4 video/youtube_360.mp4 mv preview.jpg video/preview.jpg cp src/tags.txt video/tags.txt zip -r video.zip video &> /dev/null echo "[99.9%] Удаление временных файлов" rm list.txt rm 360.mp4 rm clip.mp3 rm youtube.mp4 rm -rf output/ echo "[ 100%] Готово youtube_360.mp4"