Difference between revisions of "SeminarAssembler"
From Wiki4Intranet
(→Образовательное видео?) |
(→НеВелосипед .-.) |
||
Line 113: | Line 113: | ||
* <tt>SOX</tt> | * <tt>SOX</tt> | ||
* <tt>Sonic Visualizer</tt> | * <tt>Sonic Visualizer</tt> | ||
+ | |||
+ | == Интерфейс == | ||
+ | |||
+ | {{SideBar40| | ||
+ | * Like <tt>svn</tt>/<tt>hg</tt>/<tt>git</tt>… | ||
+ | * Где нужен UI — используется Inkscape, VirtualDub, SonicVisualizer, VLC. | ||
+ | {{:SeminarAssembler/Command-line/Схема}} | ||
+ | |||
+ | == Сборка == | ||
+ | |||
+ | <graph> | ||
+ | |||
+ | digraph G{ | ||
+ | node[fontname="Consolas" fontsize=8 shape=note]; | ||
+ | edge[fontname="Calibry" fontsize=8 fontcolor=blue dir=back] | ||
+ | rankdir=LR; | ||
+ | |||
+ | "../sources/screen1/source.avs" -> "../sources/screen1/common.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "../sources/cam1/aligned.avs" -> "../sources/cam1/start_time.py.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "../sources/cam2/audio.avs" -> "../sources/cam2/aligned.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "../sources/screen1/aligned.avs" -> "../sources/screen1/source.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "azure-highload-martynov.scenario$speed=120,width=800,height=480.avs" -> "../sources/cam2/video.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "../sources/screen1/start_time.py.avs" -> "../sources/screen1/start_time.py" [label="parent" style=solid color=darkblue ] | ||
+ | "../sources/cam1/filtered.avs" -> "../sources/cam1/common.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "../sources/cam2/aligned.avs" -> "../sources/cam2/source.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "../sources/cam1/source.avs" -> "../sources/cam1/.12-05-11_09-59.01.avi" [label="includes" style=dashed color=lightblue ] | ||
+ | "../sources/screen1/common.avs" -> "../lib/lib.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "../sources/cam1/video.avs" -> "../sources/cam1/filtered.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "azure-highload-martynov.scenario$speed=120,width=800,height=480.avs" -> "azure-highload-martynov.scenario" [label="parent" style=solid color=darkblue ] | ||
+ | "../sources/cam2/video.avs" -> "../sources/cam2/common.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "common.avs" -> "../lib/lib.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "../sources/cam1/video.avs" -> "../sources/cam1/common.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "../sources/cam1/audio.avs" -> "../sources/cam1/aligned.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "../sources/screen1/video.avs" -> "../sources/screen1/aligned.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "../sources/cam2/audio.avs" -> "../sources/cam2/common.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "../sources/screen1/video.avs" -> "../sources/screen1/common.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "../sources/cam2/video.avs" -> "../sources/cam2/filtered.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "../sources/cam1/audio.avs" -> "../sources/cam1/common.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "../sources/cam1/source.avs" -> "../sources/cam1/common.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "../sources/cam1/aligned.avs" -> "../sources/cam1/common.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "../sources/cam1/filtered.avs" -> "../sources/cam1/aligned.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "azure-highload-martynov.scenario$speed=120,width=800,height=480.avs" -> "../sources/cam1/video.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "../sources/cam2/common.avs" -> "../lib/lib.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "../sources/cam2/filtered.avs" -> "../sources/cam2/common.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "../sources/cam2/aligned.avs" -> "../sources/cam2/common.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "../sources/cam2/source.avs" -> "../sources/cam2/.12-05-11_10-00.00.avi" [label="includes" style=dashed color=lightblue ] | ||
+ | "../sources/screen1/source.avs" -> "../sources/screen1/20120511_ADD3.mp4.avi" [label="includes" style=dashed color=lightblue ] | ||
+ | "../lib/lib.avs" -> "../lib/cachemode.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "../sources/screen1/20120511_ADD3.mp4.avi" -> "../sources/screen1/20120511_ADD3.mp4" [label="parent" style=solid color=darkblue ] | ||
+ | "../sources/cam2/filtered.avs" -> "../sources/cam2/aligned.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "../lib/lib.avs" -> "../lib/debugmode.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "../sources/cam2/aligned.avs" -> "../sources/cam2/start_time.py.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "../sources/cam2/audio.avs.wav" -> "../sources/cam2/audio.avs" [label="parent" style=solid color=darkblue ] | ||
+ | "../sources/cam1/start_time.py.avs" -> "../sources/cam1/start_time.py" [label="parent" style=solid color=darkblue ] | ||
+ | "../sources/cam2/start_time.py.avs" -> "../sources/cam2/start_time.py" [label="parent" style=solid color=darkblue ] | ||
+ | "../sources/cam1/common.avs" -> "../lib/lib.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "../sources/screen1/aligned.avs" -> "../sources/screen1/start_time.py.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "azure-highload-martynov.scenario$speed=120,width=800,height=480.avs" -> "../sources/screen1/video.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "../sources/screen1/aligned.avs" -> "../sources/screen1/common.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "../sources/cam1/audio.avs.wav" -> "../sources/cam1/audio.avs" [label="parent" style=solid color=darkblue ] | ||
+ | "azure-highload-martynov.scenario$speed=120,width=800,height=480.avs" -> "../sources/cam1/audio.avs.wav" [label="includes" style=dashed color=lightblue ] | ||
+ | "../sources/cam2/source.avs" -> "../sources/cam2/common.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "azure-highload-martynov.scenario$speed=120,width=800,height=480.avs" -> "../sources/cam2/audio.avs.wav" [label="includes" style=dashed color=lightblue ] | ||
+ | "azure-highload-martynov.scenario$speed=120,width=800,height=480.avs" -> "common.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | "../sources/cam1/aligned.avs" -> "../sources/cam1/source.avs" [label="includes" style=dashed color=lightblue ] | ||
+ | } | ||
+ | </graph> | ||
== Инсталляция .-. == | == Инсталляция .-. == |
Revision as of 22:03, 22 August 2012
- 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 для программирования сцен:
TRANSITION RandomTrans 00:01:09 S 00:08:16 00:09:09 S 00:17:21
Кому? .-.
- Программистам
- Тестировщикам
- Продвинутым пользователям
Понимающим, что такое:
- Файл
- Код
- Проект
- Сборка
Принципы .-.
- Agile-видеомонтаж
- Быстрая draft-версия
- Инкрементальные улучшения
- WYSIWYM — What You See Is What You Mean
- Максимальная компактность и гибкость:
- Краткий код + дизайн-шаблоны
- Целостность
- Коллаборативный видеомонтаж
- Максимальная компактность и гибкость:
- Сборка
- Автоматизируемая
- Инкрементальное обновление
- Масштабируемая
- Сборка/по сети
- вся [ночная]-мощь компьютеров компании.
- Сборка/по сети
- Free & open-source.
НеВелосипед .-.
User Experience:
- Reuse имеющийся
- Приобретается полезный
- свой UI минимален
Использует:
- ffmpeg
- Virtual Dub
- inkscape
- AVISynth
- SOX
- Sonic Visualizer
Интерфейс
{{SideBar40|
- Like svn/hg/git…
- Где нужен UI — используется Inkscape, VirtualDub, SonicVisualizer, VLC.
Сборка
Инсталляция .-.
- Необходимо:
- AVISynth, 32bit, >= 2.6.0
- Скачать SA.EXE
- Рекомендую:
- ConferenceRecorder или просто Screen2Log для скринкастов.