Difference between revisions of "SeminarAssembler — добавим слайды к youtube"

From Wiki4Intranet
Jump to: navigation, search
(:)
 
 
(9 intermediate revisions by 2 users not shown)
Line 6: Line 6:
 
Но бывают сценарии, когда и обычному пользователю он может пригодится для быстрого монтажа всего лишь одного видео.
 
Но бывают сценарии, когда и обычному пользователю он может пригодится для быстрого монтажа всего лишь одного видео.
  
Рассмотрим реальный сценарий — вы выступили где-то со слайдами, вас записали и выложили на youtube («видео есть, чек — что еще надо?»), вы смотрите, и горестно офигеваете — слайдов нет, только одна ваша говорящая голова.
+
Рассмотрим реальный сценарий — вы выступили где-то со слайдами, вас записали и выложили на youtube («видео есть, чек — что еще надо?»), вы смотрите, и горестно офигеваете — слайдов нет, только одна ваша говорящая голова. Или слайды есть, но хрен прочтешь — мелко, засвеченно, не видно. Или, до кучи, видео вообще отзеркалено (сам видел недавно такую трансляцию).
  
И так, у вас есть слайды, ссылка на ютуб, а хотелось бы хотя бы тупой монтаж видео+слайды, быстро.
+
И так, у вас есть слайды, ссылка на ютуб, а хотелось бы хотя бы тупой монтаж видео со своей головой или тушкой + слайды, быстро.
  
 
Попробуем набросать простой тьюториал, не вдаваясь в глубины, зато на реальном примере.
 
Попробуем набросать простой тьюториал, не вдаваясь в глубины, зато на реальном примере.
Line 22: Line 22:
 
* Чтобы выкачать видео с Youtube, нужна youtube-dl. Всем Windows-пользователям рекомендую поставить [http://chocolatey.org chocolatey], после чего это займет одну команду
 
* Чтобы выкачать видео с Youtube, нужна youtube-dl. Всем Windows-пользователям рекомендую поставить [http://chocolatey.org chocolatey], после чего это займет одну команду
 
  choco install -y youtube-dl
 
  choco install -y youtube-dl
** Нам пригодится также еще пара софтин,
+
* Нам пригодится также еще PDF-вьевер, который умеет быстро перегонять PDF в картинки:
 
  choco install -y PDFXChangeViewer
 
  choco install -y PDFXChangeViewer
choco install -y wget
 
  
** Потом зайдем в каталог "cam6"<ref>можно в любой другой, в этом нет смысла, просто он точно есть и нам не пригодится для чего либо еще</ref> и выкачаем
+
* Inkscape для редактирования планов:
 +
choco install -y inkscape
 +
 
 +
* Потом зайдем в каталог "cam6"<ref>можно в любой другой, в этом нет смысла, просто он точно есть и нам не пригодится для чего либо еще</ref> и выкачаем
 
  cd d:\my-video\sources\cam6
 
  cd d:\my-video\sources\cam6
 
  youtube-dl https://www.youtube.com/watch?v=OwGdz7FcoKQ
 
  youtube-dl https://www.youtube.com/watch?v=OwGdz7FcoKQ
* Скачаем [http://0x1.tv/%D0%A4%D0%B0%D0%B9%D0%BB:%D0%AD%D0%B2%D0%BE%D0%BB%D1%8E%D1%86%D0%B8%D1%8F_%D0%BE%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B9_%D0%B8_%D1%8D%D0%B2%D0%BE%D0%BB%D1%8E%D1%86%D0%B8%D1%8F_%D1%81%D0%BE%D1%82%D1%80%D1%83%D0%B4%D0%BD%D0%B8%D0%BA%D0%B0_%E2%80%93_%D0%BA%D0%B0%D0%BA_%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D1%8F%D0%B5%D1%82%D1%81%D1%8F_%D0%BF%D0%BE%D0%BD%D1%8F%D1%82%D0%B8%D0%B5_%D0%BE_%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE%D0%BC_(%D0%9C%D0%B0%D0%BA%D1%81%D0%B8%D0%BC_%D0%A6%D0%B5%D0%BF%D0%BA%D0%BE%D0%B2).pdf слайды]
+
* Импортируем скачанное хрензнает что (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.
 +
 
 +
* Создадим каталог для картинок по слайдам
 +
  mkdir d:\my-video\sources\screen1\s
 +
* Сохраняем слайды.
 +
** Если у вас слайды в PPT - презентацию надо сохранить как png, а затем выбрать "все слайды". Он положит все слайды в отдельную директорию  с именем презентации, далее их надо скопировать в созданную директорию.
 +
** PDF презентации для видео, которое вы скачали выше лежит [http://0x1.tv/Файл:Эволюция_организаций_и_эволюция_сотрудника_–_как_изменяется_понятие_о_правильном_(Максим_Цепков).pdf здесь] - скачайте его
 +
** Если у Вас pdf - откройте его в PDFXChangeViewer.
 +
** Если ODP - также сведите задачу к предыдущей через LibreOffice.
 +
** В PDFXChangeViewer делаете "Export to image". Самое важное — правильно указать каталог и схему именования файлов.
 +
 
 +
[[File:pdfexchange-export-image.png|left]]
 +
[[File:pdfexchange-export-image-2.png|right]]
 +
 
 +
{{----}}
 +
 
 +
Итак, слайды лежат готовыми картинками, самое время быстро описать, где и по какому времени они находятся.
 +
Сгенерим заготовку описания<ref>Если у вас больше 50 слайдов, поправьте <tt>slides.py</tt> очевидным образом</ref>:
 +
cd D:\my-video\sources\screen1\
 +
sa b slides.py.scenario
 +
 
 +
Наша цель — составить файл <tt>D:\my-video\sources\screen1\slides.py.scenario</tt> следующего содержания.
 +
<pre>
 +
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
 +
</pre>
 +
Т.е. нужно прописать время в начало каждой строки, когда появляется соответствующий слайд.
 +
 
 +
Обычно, я это делаю так:
 +
* Папку с слайдами, с режимом «extralarge icons» я размещаю отдельно...
 +
* Пробегаемся или прослушиваем видео, вспоминая, какой слайд должен быть где.
 +
* Записываем время соответствующего слайда — секундной точности более чем достаточно.
 +
** Чтобы не сэкономить силы, можно поставить версию VLC 2.0.8, для которой работает мой старый плагин [[Time2Clipboard]], который по нажатию на «CTRL-?» кладет в clipboard текущее время<ref>Если кто знает, как это сделать для свежих версий VLC — свяжитесь со мной</ref>.
 +
** Если слайды частично на видео видны, тем более, не надо прослушивать видео и надо использовать VLС, бегая по файлу с помощью прыжков трех типов (±мин, ±10сек, ±1<ref>Для этого в настройках VLC надо сменить время короткого прыжка с 3 до 1 секунды</ref> сек), и копируя время в clipboard.
 +
 
 +
'''Первый слайд обязательно должен идти с нулевого времени.''' Даже если начало видео Вы планируете показать только видео - это надо будет сделать с помощью следующего пункта.
 +
 
 +
Итак, файл <tt>D:\my-video\sources\screen1\slides.py.scenario</tt> вышеуказанного содержания — готов.
 +
 
 +
* Скачайте SVG-файл [[:File:MAX.svg]], в <tt>D:\my-video\views\MAX.svg</tt>
 +
* Можно поработать над дизайном. Откройте предпросмотр:
 +
sa v D:\my-video\views\MAX.svg
 +
 
 +
Вы должны увидеть два окна:
 +
;Inkscape: Где редактируюется собственно «видеоплан»
 +
;VirtualDub: Где в режиме WYSIWYM, дается превью результата.
 +
 
 +
[[File:sa-preview.png|center]]
 +
 
 +
В Inkscape откройте «CTRL-SHIFT-O», чтобы видеть свойства объектов.
 +
Попробуйте редактирование — перемещение зеленого и синего прямоугольника<ref>Цвета не имеют никакого значения</ref> — переместит слайды и видео с камеры.
 +
Кроппинг прописан непостредственно в свойствах объекта:
 +
.Crop(120,0,-120,0)
 +
- означает срезать по 120 пикселей справа и слева
 +
 
 +
.CropLeftRight("30")
 +
— срезать по 30% c лева и справа одновременно.
 +
 
 +
В данном случае, мы пока на этом задерживатся не будем, это тема отдельного урока, для наших целей, чуть-чуть поменять цифры, будет достаточно.
 +
 
 +
Остался последний шаг.
 +
У нас уже есть набросок сценария:
 +
D:\my-video\scenes\default.scenario
 +
 
 +
Там специально заполнены все возможные атрибуты... но это несколько смущает. Давайте тупо впишем туда (или даже в отдельный scenario-файл)
 +
 
 +
<pre>
 +
HEIGHT 1080
 +
WIDTH 1920
 +
AUDIO cam1
 +
GLOBAL_SPEED 1.2
 +
00:01:26 MAX
 +
00:53:50 CAM1
 +
00:55:10
 +
</pre>
 +
 
 +
Т.е. тупо — размер 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 размером).
 +
 
 +
Если во время выступления человек активно двигался, или сначала его представляли, а потом он остался на сцене один, и нужна различная обрезка видео, то надо сделать несколько svg-файлов, и указать их в файле сценария.

Latest revision as of 22:45, 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.

  • Создадим каталог для картинок по слайдам
 mkdir d:\my-video\sources\screen1\s
  • Сохраняем слайды.
    • Если у вас слайды в PPT - презентацию надо сохранить как png, а затем выбрать "все слайды". Он положит все слайды в отдельную директорию с именем презентации, далее их надо скопировать в созданную директорию.
    • PDF презентации для видео, которое вы скачали выше лежит здесь - скачайте его
    • Если у Вас pdf - откройте его в PDFXChangeViewer.
    • Если ODP - также сведите задачу к предыдущей через LibreOffice.
    • В PDFXChangeViewer делаете "Export to image". Самое важное — правильно указать каталог и схему именования файлов.
Pdfexchange-export-image.png
Pdfexchange-export-image-2.png

Итак, слайды лежат готовыми картинками, самое время быстро описать, где и по какому времени они находятся. Сгенерим заготовку описания[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, дается превью результата.
Sa-preview.png

В 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 размером).

Если во время выступления человек активно двигался, или сначала его представляли, а потом он остался на сцене один, и нужна различная обрезка видео, то надо сделать несколько svg-файлов, и указать их в файле сценария.
  1. можно в любой другой, в этом нет смысла, просто он точно есть и нам не пригодится для чего либо еще
  2. Если у вас больше 50 слайдов, поправьте slides.py очевидным образом
  3. Если кто знает, как это сделать для свежих версий VLC — свяжитесь со мной
  4. Для этого в настройках VLC надо сменить время короткого прыжка с 3 до 1 секунды
  5. Цвета не имеют никакого значения