При проведении динамического расчёта физического процесса самым информативным способом визуализации является видео.
В этой статье мы расскажем, как легким движением руки последовательность изображений превратить в видеоролик. Не переключайтесь!
FFmpeg
Ранее мы уже писали о том, как создавать видеоанимацию во FlowVision. В статье говорится о том, как создавать изображения во FlowVision при различных значениях времени, сохранять их и создавать анимацию с помощью программы "Киностудия" (MovieMaker). Однако "Киностудия" больше недоступна для пользователей Windows.
Поэтому для создания конвейера по генерации видео можно использовать популярный комбайн для обработки видео и изображений - FFmpeg.
Основные достоинства FFmpeg:
- программа бесплатна и совместима со всеми семействами операционных систем (Linux, Windows, Mac OS);
- модный консольный интерфейс, позволяющий быстро конвентировать изображения, видео- и аудиофайлы в различные форматы, а также создавать новые.
Для начала работы необходимо:
- установить FFmpeg на компьютер.
- работа с FFmpeg осуществляется из командной строки.
- Подготовить скрипт или воспользоваться готовым - для автоматизации. Ниже приведена инструкция по созданию и использованию скрипта.
FFmpeg поддерживает огромное количество форматов, для получения списка всех используемых форматов в командной строке введите ffmpeg –formats.
Подготовка к созданию скрипта
Для начала необходимо получить последовательность изображений, которые планируется склеить в видео. Для этого воспользуйтесь функцией FlowVision – Захват последовательности, которая позволяет сохранять изображения с указанной частотой.
img src="/images/articles/2019/For_authors/Sergey_Stepanov/захват_последовательности.png" alt="захват последоват" /></p> <p>Сохраните полученные изобра"ения в отдельную папку.
Для подготовки скрипта создадим текстовый файл, состоящий из последовательных команд - это и есть скрипт. Чтобы сделать этот файл исполняемым, переименуем его, изменив расширение с (.txt) на (.bat). Также можно с помощью программы BatToExe переформатировать скрипт в исполняемый формат (.exe).
Текст скрипта
Вы можете скачать и использовать готовый скрипт. Полный текст этого скрипта представлен ниже.
Полный текст скрипта
@ECHO OFF
SET /P FolderPic="Path to folder with pictures:"
if ["%FolderPic%"]==[""] SET /P FolderPic="Path to folder with pictures (can't be empty):"
if ["%FolderPic%"]==[""] SET /P FolderPic="Path to folder with pictures (CAN'T BE EMPTY):"
if ["%FolderPic%"]==[""] exit
SET /P PictureName="Picture's name:"
if ["%PictureName%"]==[""] SET /P PictureName="Picture's name (can't be empty):"
if ["%PictureName%"]==[""] SET /P PictureName="Picture's name (CAN'T BE EMPTY):"
if ["%PictureName%"]==[""] exit
SET /P PictureExt=Picture's extension [default = .png]: %PictureName%_00000.
if [%pictureExt%]==[] set pictureExt=png
SET /P FolderVid="Path to folder with video [default = folder with pictures]:"
if ["%FolderVid%"]==[""] set FolderVid=%FolderPic%
SET /P VideoName="Video's name [default = video_%PictureName%]:"
if ["%VideoName%"]==[""] SET VideoName=video_%PictureName%
SET /P VideoExt=Video's extension [default - .avi]: %VideoName%.
if [%VideoExt%]==[] set VideoExt=avi
SET /P Rate=Frame rate of video (fps) [default = 60]:
if [%Rate%]==[] set Rate=60
cd %FolderPic%
ffmpeg -r %Rate% -y -i "%PictureName%_%%05d.%PictureExt%" -c:v libx264 -vf "fps=60,format=yuv420p,scale="1920:1080"" -q:v 1 "%VideoName%".%VideoExt%
move "%FolderPic%\%VideoName%.%VideoExt%" "%FolderVid%"
timeout 3
Запуск скрипта
Запустите исполняемый файл. После запуска появится командное окошко, в котором последовательно нужно будет ввести:
-
Path to folder with pictures: указать путь до папки, где хранятся изображения, полученные при захвате экрана во FlowVision (переменная FolderPic);
-
Picture's name: имя файлов, которые отвечают изображениям (вводить то же самое, что было введено в FlowVision при сохранении, переменная PictureName);
-
Picture's extension [default - .png]: PictureName_00000. : расширение изображений (по умолчанию - .png, переменная PictureExt);
-
Path to folder with video [default = folder with pictures]: путь до папки, куда нужно поместить создаваемое видео (по умолчанию - папка с исходными изображениями, переменная FolderVid);
-
Video's name [default = video_PictureName]: название создаваемого видео (по умолчанию - video_PictureName, переменная VideoName);
-
Video's extension [default - .avi]:VideoName. : расширение создаваемого видео (по умолчанию - .avi, расширение VideoExt);
-
Frame rate of video (fps) [default = 60]: кадровую частоту видео – fps (по умолчанию - 60, переменная Rate). Это число равно количеству кадров, проигрывающихся за 1 секунду.
В строках с путями до папок и названиями файлов можно использовать кириллицу и пробелы.
Если в процессе не возникнет никаких ошибок, то окно консоли закроется автоматически, а после выполнения в указанной папке появится видео, склеенное из указанных изображений.