Difference between revisions of "SeminarAssembler — добавим слайды к youtube"
MaksTsepkov (Talk | contribs) |
|||
Line 36: | Line 36: | ||
** Проверяем: | ** Проверяем: | ||
sa v D:\my-video\sources\cam1\source.py | sa v D:\my-video\sources\cam1\source.py | ||
− | — должны увидеть превью этого файла. | + | — должны увидеть превью этого файла. Файл покажется в разрешении 100% и если экран маленький, вы увидите правый верхний угол, надо с помощью rclick поменять zoom. |
Revision as of 12:37, 15 March 2017
Если вы хотите записать персональную видеолекцию, или снимаете в одиночку семинар в небольшом помещении, где все камеры-фреймграбберы-… можно вполне подключить к одному компьютеру — нет ничего лучше Open Broadcaster Software. Не важно, OBS Classic или OBS Studio, обязательно освойте этот инструмент — там есть некие сложности-хитрости, проблемы, вопиющие об улучшениях… но ничего близкого по удобству нет.
SeminarAssembler - штука непростая, полезная для массовой обработки кучи источников видео-аудио, разбросанных по в далеке друг от друга в больших залах…, редко это кому нужно, кроме фанатов записей конференций, типа http://0x1.tv.
Но бывают сценарии, когда и обычному пользователю он может пригодится для быстрого монтажа всего лишь одного видео.
Рассмотрим реальный сценарий — вы выступили где-то со слайдами, вас записали и выложили на youtube («видео есть, чек — что еще надо?»), вы смотрите, и горестно офигеваете — слайдов нет, только одна ваша говорящая голова. Или слайды есть, но хрен прочтешь — мелко, засвеченно, не видно. Или, до кучи, видео вообще отзеркалено (сам видел недавно такую трансляцию).
И так, у вас есть слайды, ссылка на ютуб, а хотелось бы хотя бы тупой монтаж видео со своей головой или тушкой + слайды, быстро.
Попробуем набросать простой тьюториал, не вдаваясь в глубины, зато на реальном примере.
- Поставьте последний 32-битный AVISynth
- Возьмите свежий sa.exe и бросьте куда-нибудь в пути.
- Заведите любую папку для проекта. Например, для определенности
mkdir d:\my-video
- Заходим в этот каталог и инициализируем шаблон проекта
cd d:\my-video sa i
- Чтобы выкачать видео с Youtube, нужна youtube-dl. Всем Windows-пользователям рекомендую поставить chocolatey, после чего это займет одну команду
choco install -y youtube-dl
- Нам пригодится также еще PDF-вьевер, который умеет быстро перегонять PDF в картинки:
choco install -y PDFXChangeViewer
- Inkscape для редактирования планов:
choco install -y inkscape
- Потом зайдем в каталог "cam6"[1] и выкачаем
cd d:\my-video\sources\cam6 youtube-dl https://www.youtube.com/watch?v=OwGdz7FcoKQ
- Импортируем скачанное хрензнает что (MKV/MP4/FLV) в AVI-файл
cd D:\my-video\sources\cam1 sa p D:\my-video\sources\cam6
- Проверяем:
sa v D:\my-video\sources\cam1\source.py
— должны увидеть превью этого файла. Файл покажется в разрешении 100% и если экран маленький, вы увидите правый верхний угол, надо с помощью rclick поменять zoom.
- Скачаем слайды куда-нибудь. Откроем этот PDF сразу в PDFXChangeViewer.
- Если у вас слайды PPT — откройте PowerPoint и сохраните в PDF. Если ODP - также сведите задачу к предыдущей через LibreOffice.
- Создадим каталог для картинок по слайдам
mkdir d:\my-video\sources\screen1\s
- В PDFXChangeViewer делаете "Export to image". Самое важное — правильно указать каталог и схему именования файлов.
Итак, слайды лежат готовыми картинками, самое время быстро описать, где и по какому времени они находятся. Сгенерим заготовку описания[2]:
cd D:\my-video\sources\screen1\ sa b slides.py.scenario
Наша цель — составить файл D:\my-video\sources\screen1\slides.py.scenario следующего содержания.
HEIGHT 1080 WIDTH 1920 00:00:00 s/s-01.png 00:01:47 s/s-02.png 00:02:45 s/s-03.png 00:02:52 s/s-04.png 00:03:36 s/s-05.png 00:04:31 s/s-06.png 00:05:55 s/s-07.png 00:06:49 s/s-08.png 00:07:32 s/s-09.png 00:08:38 s/s-10.png 00:09:25 s/s-11.png 00:09:32 s/s-12.png 00:10:45 s/s-13.png 00:12:36 s/s-14.png 00:13:25 s/s-15.png 00:15:09 s/s-16.png 00:15:18 s/s-17.png 00:15:22 s/s-20.png 00:15:35 s/s-19.png 00:15:57 s/s-18.png 00:16:54 s/s-21.png 00:17:24 s/s-22.png 00:19:10 s/s-23.png 00:20:20 s/s-24.png 00:22:49 s/s-25.png 00:23:25 s/s-26.png 00:23:33 s/s-27.png 00:25:53 s/s-28.png 00:27:21 s/s-29.png 00:28:25 s/s-30.png 00:30:25 s/s-31.png 00:30:40 s/s-32.png 00:31:35 s/s-33.png 00:33:01 s/s-34.png 00:33:08 s/s-35.png 00:33:32 s/s-36.png 00:34:47 s/s-37.png 00:35:56 s/s-38.png 00:37:55 s/s-39.png 00:38:07 s/s-40.png 00:38:12 s/s-41.png 00:39:50 s/s-42.png 00:42:45 s/s-43.png 00:43:01 s/s-44.png 00:46:40 s/s-45.png 00:47:32 s/s-46.png 00:50:38 s/s-47.png 00:51:00 s/s-48.png 00:51:38 s/s-49.png 00:52:55 s/s-50.png 01:20:00
Т.е. нужно прописать время в начало каждой строки, когда появляется соответствующий слайд. Обычно, я это делаю так:
- Папку с слайдами, с режимом «extralarge icons» я размещаю отдельно...
- Пробегаемся или прослушиваем видео, вспоминая, какой слайд должен быть где.
- Записываем время соответствующего слайда — секундной точности более чем достаточно.
- Чтобы не сэкономить силы, можно поставить версию VLC 2.0.8, для которой работает мой старый плагин Time2Clipboard, который по нажатию на «CTRL-?» кладет в clipboard текущее время[3].
- Если слайды частично на видео видны, тем более, не надо прослушивать видео и надо использовать VLС, бегая по файлу с помощью прыжков трех типов (±мин, ±10сек, ±1[4] сек), и копируя время в clipboard.
Итак, файл D:\my-video\sources\screen1\slides.py.scenario вышеуказанного содержания — готов.
- Скачайте SVG-файл File:MAX.svg, в D:\my-video\views\MAX.svg
- Можно поработать над дизайном. Откройте предпросмотр:
sa v D:\my-video\views\MAX.svg
Вы должны увидеть два окна:
- Inkscape
- Где редактируюется собственно «видеоплан»
- VirtualDub
- Где в режиме WYSIWYM, дается превью результата.
В Inkscape откройте «CTRL-SHIFT-O», чтобы видеть свойства объектов. Попробуйте редактирование — перемещение зеленого и синего прямоугольника[5] — переместит слайды и видео с камеры. Кроппинг прописан непостредственно в свойствах объекта:
.Crop(120,0,-120,0)
- означает срезать по 120 пикселей справа и слева
.CropLeftRight("30")
— срезать по 30% c лева и справа одновременно.
В данном случае, мы пока на этом задерживатся не будем, это тема отдельного урока, для наших целей, чуть-чуть поменять цифры, будет достаточно.
Остался последний шаг. У нас уже есть набросок сценария:
D:\my-video\scenes\default.scenario
Там специально заполнены все возможные атрибуты... но это несколько смущает. Давайте тупо впишем туда (или даже в отдельный scenario-файл)
HEIGHT 1080 WIDTH 1920 AUDIO cam1 GLOBAL_SPEED 1.2 00:01:26 MAX 00:53:50 CAM1 00:55:10
Т.е. тупо — размер 1920x1080, звук взять из CAM1, ускорить с тонокомпенсацией на 20%, начать с 01:26, показав наш план с «голова-с-слайдами», в конце, в 53:50, слайдов нет, просто покажем видео CAM1.
Осталось все это собрать.
cd D:\my-video\scenes sa b default.scenario.avs.avi
Все!
Можно собрать и
sa b "default.scenario.avs$vquality=500,size=2G.avi"
(собрать с качеством 500% от некой нормы, но чтобы не больше 2GB размером).
- ↑ можно в любой другой, в этом нет смысла, просто он точно есть и нам не пригодится для чего либо еще
- ↑ Если у вас больше 50 слайдов, поправьте slides.py очевидным образом
- ↑ Если кто знает, как это сделать для свежих версий VLC — свяжитесь со мной
- ↑ Для этого в настройках VLC надо сменить время короткого прыжка с 3 до 1 секунды
- ↑ Цвета не имеют никакого значения