SeminarAssembler
- Title
- SeminarAssembler
- Author
- Stas Fomin
- Subfooter
- Stas Fomin, 10:50, 4 November 2023
SeminarAssembler™ — это инструмент для эффективного монтажа семинаров, докладов и прочего образовательного видео, когда важно сшивать несколько разных источников — несколько камер, скринкасты, слайды, и делать это очень быстро и много.
Понятная картинка:
(примеры видео см. в http://lib.custis.ru/it-talks).
Contents
SeminarAssembler: WTF? .-.
Фреймворк быстрого видеомонтажа
- семинаров.
- докладов
- лекций
- конференций
- вебинаров
Когда:
- несколько потоков:
- камеры
- скринкасты
- слайды
- надо много и быстро
+ Автоматическая конверсия медиаформатов, с правкой размеров/скорости.
Этимология: Seminar .-.
- Длинное
- Образовательное
- Информационно плотное
- Активный зритель
- не → Развлекалово, Свадьбы, …
Образовательное видео?
Что такое правильное обучающее IT-видео, как его смотреть, и немного — как готовить, см мой доклад на Software People-2012:
Этимология: Assembler .-.
- «Сборка»
- Множества гетерогенных медиапотоков:
- Камер
- Скринкастов
- Слайдов
- Переговоров (скайп, IM…).
- Screen2Log-cкринкастов из блоков
- Множества гетерогенных медиапотоков:
- Ассемблер
- «Двухтермовый, строчный» DSL для программирования сцен:
WIDTH 1280 HEIGHT 720 TRANSITION RandomTrans TITLE «Введение в технологию Enterprise Forms» 00:01:09 S 00:08:16 00:09:09 S 00:17:21
Оно надо? .-.
Перегруженность, Мелкая мышиная моторика, Неавтоматизируемость, Ремесло, Немасштабируемость…
Кому? .-.
- Программистам
- Тестировщикам
- Advanced Users
Требующим эффективность!
Понимающим, что такое:
- Файл
- Код
- Проект
- Сборка
Основная идея .-.
Принципы .-.
- Agile-видеомонтаж
- Быстрая draft-версия (матрешка!)
- Инкрементальные улучшения
- WYSIWYM — What You See Is What You Mean
- Максимальная компактность и гибкость:
- Краткий код + дизайн-шаблоны
- Целостность
- Коллаборативный видеомонтаж
- Максимальная компактность и гибкость:
- Сборка
- Автоматизируемая
- Инкрементальное обновление
- Переносимость проекта (абсолютные пути в видеоредакторах)
- Прозрачность
- Масштабируемая
- Сборка/по сети
- вся [ночная]-мощь компьютеров компании.
- Сборка/по сети
- Free & open-source.
WYSIWYM .-.
НеВелосипед .-.
User Experience:
- Reuse имеющийся
- Приобретается полезный
- свой UI минимален
Использует:
- ffmpeg
- Virtual Dub
- inkscape
- AVISynth
- SOX
- Sonic Visualizer
Опционально:
- VLC
AVISynth .-.
------------------------------------------------------------------------------- Language files blank comment code scale 3rd gen. equiv ------------------------------------------------------------------------------- C++ 293 7375 8416 13858 x 1.51 = 20925.58 C/C++ Header 493 12178 14871 13358 x 1.00 = 13358.00 C 41 1650 2113 6955 x 0.77 = 5355.35 Bourne Shell 7 276 844 4350 x 3.81 = 16573.50 m4 14 95 52 1558 x 1.00 = 1558.00 make 5 250 506 1314 x 2.50 = 3285.00 Assembly 4 115 178 524 x 0.25 = 131.00 HTML 5 1 5 439 x 1.90 = 834.10 CSS 2 8 0 258 x 1.00 = 258.00 Teamcenter def 2 2 0 8 x 1.00 = 8.00 ------------------------------------------------------------------------------- SUM: 866 21950 26985 42622 x 1.46 = 62286.53 -------------------------------------------------------------------------------
FFMPEG .-.
Фабрис Беллар!
-------------------------------------------------------------------------------- Language files blank comment code scale 3rd gen. equiv -------------------------------------------------------------------------------- C 1302 66172 57266 427936 x 0.77 = 329510.72 C/C++ Header 534 9431 29244 98369 x 1.00 = 98369.00 Assembly 94 3830 4119 38673 x 0.25 = 9668.25 D 1002 0 0 13844 x 1.70 = 23534.80 Bourne Shell 30 692 375 4920 x 3.81 = 18745.20 make 31 233 27 2175 x 2.50 = 5437.50 CSS 1 201 57 839 x 1.00 = 839.00 C++ 3 132 122 782 x 1.51 = 1180.82 Perl 1 59 61 310 x 4.00 = 1240.00 XSD 1 21 4 147 x 1.90 = 279.30 Bourne Again Shell 1 11 3 44 x 3.81 = 167.64 HTML 2 5 0 19 x 1.90 = 36.10 -------------------------------------------------------------------------------- SUM: 3002 80787 91278 588058 x 0.83 = 489008.33 --------------------------------------------------------------------------------
Inkscape .-.
-------------------------------------------------------------------------------- Language files blank comment code scale 3rd gen. equiv -------------------------------------------------------------------------------- C++ 827 60449 61764 303558 x 1.51 = 458372.58 C/C++ Header 1097 32918 58698 87517 x 1.00 = 87517.00 HTML 9 7522 8 39778 x 1.90 = 75578.20 Python 225 5901 5593 29601 x 4.20 = 124324.20 C 45 5866 5935 26246 x 0.77 = 20209.42 Java 494 4040 12449 11088 x 1.36 = 15079.68 XML 24 1728 1252 6494 x 1.90 = 12338.60 XSLT 14 580 1096 6352 x 1.90 = 12068.80 Javascript 5 548 635 2598 x 1.48 = 3845.04 Perl 14 460 353 1889 x 4.00 = 7556.00 make 39 193 91 1586 x 2.50 = 3965.00 Bourne Shell 22 272 379 1439 x 3.81 = 5482.59 m4 6 152 117 1080 x 1.00 = 1080.00 CSS 2 32 32 216 x 1.00 = 216.00 DOS Batch 3 36 5 182 x 0.63 = 114.66 Ruby 1 26 32 149 x 4.20 = 625.80 Teamcenter def 3 1 0 91 x 1.00 = 91.00 Expect 1 18 0 56 x 2.00 = 112.00 Bourne Again Shell 1 12 3 48 x 3.81 = 182.88 DTD 1 5 1 27 x 1.90 = 51.30 -------------------------------------------------------------------------------- SUM: 2833 120759 148443 519995 x 1.59 = 828810.75 --------------------------------------------------------------------------------
VLC .-.
------------------------------------------------------------------------------- Language files blank comment code scale 3rd gen. equiv ------------------------------------------------------------------------------- C 763 58578 56901 302733 x 0.77 = 233104.41 C/C++ Header 662 14905 32261 66771 x 1.00 = 66771.00 C++ 254 12867 11783 64379 x 1.51 = 97212.29 Bourne Shell 35 12176 5895 49867 x 3.81 = 189993.27 Objective C 46 4575 2896 25531 x 2.96 = 75571.76 m4 40 1596 774 15645 x 1.00 = 15645.00 Javascript 8 310 777 9469 x 1.48 = 14014.12 make 153 917 1278 7653 x 2.50 = 19132.50 Lua 52 785 433 5160 x 4.00 = 20640.00 XML 12 67 148 1541 x 1.90 = 2927.90 HTML 17 31 154 1425 x 1.90 = 2707.50 CSS 4 87 181 994 x 1.00 = 994.00 Assembly 9 140 48 958 x 0.25 = 239.50 MUMPS 2 115 0 565 x 4.21 = 2378.65 DTD 1 5 6 327 x 1.90 = 621.30 Visual Basic 2 75 121 272 x 2.76 = 750.72 Python 1 55 66 213 x 4.20 = 894.60 MATLAB 1 29 0 124 x 4.00 = 496.00 Perl 2 16 26 112 x 4.00 = 448.00 vim script 1 4 33 83 x 3.00 = 249.00 sed 2 0 0 16 x 4.00 = 64.00 ------------------------------------------------------------------------------- SUM: 2067 107333 113781 553838 x 1.34 = 744855.52 -------------------------------------------------------------------------------
SeminarAssembler .-.
------------------------------------------------------------------------------- Language files blank comment code scale 3rd gen. equiv ------------------------------------------------------------------------------- Python 27 518 569 1882 x 4.20 = 7904.40 HTML 1 55 78 238 x 1.90 = 452.20 Lua 1 6 5 33 x 4.00 = 132.00 DOS Batch 1 0 0 1 x 0.63 = 0.63 ------------------------------------------------------------------------------- SUM: 30 579 652 2154 x 3.94 = 8489.23 -------------------------------------------------------------------------------
- Интеграция
- Местами хаки
- Отлов багов (2 ffmpeg-а)
- Поиск надежного и безопасного пути
Машина Сборки.-.
Алгебра операций .-.
Параметры преобразования .-.
Типы файлов .-.
- Видео
- AVI, MP4, …
- Аудио
- WAV, MP3, …
- AVIISYNTH-скрипты
- AVS
- Матрешки
- MKV, …
- Описание матрешки
- UNCUT
- Python-скрипты
- PY
- Верстка
- SVG
- Сценарии
- SCENARIO
Зависимости .-.
Сборка «Матрешки» .-.
Сборка видео с версткой .-.
Интерфейс
- Like svn/hg/git…
- Где нужен UI — используется Inkscape, VirtualDub, SonicVisualizer, VLC.
Инсталляция .-.
- Необходимо
- AVISynth, 32bit, >= 2.6.0
- Скачать SA.EXE
- Очень желательно (для видеоверстки)
- Кодек x264vfw 32-бит (даже, если Win764bit)
- Другие кодеки по источникам (Cedocida для DV и т.п.).
- Inkscape
- VLC
- Рекомендую
- ConferenceRecorder или просто Screen2Log для скринкастов.