SeminarAssembler

Stas Fomin

SeminarAssembler: WTF?

SeminarAssembler — заставка.svg

Фреймворк быстрого видеомонтажа

  • семинаров.
  • докладов
  • лекций
  • конференций
  • вебинаров

Когда:

  • несколько потоков:
    • камеры
    • скринкасты
    • слайды
  • надо много и быстро

+ Автоматическая конверсия медиаформатов, с правкой размеров/скорости.

Этимология: Seminar

  • Длинное
  • Образовательное
  • Информационно плотное
  • Активный зритель
  • не → Развлекалово, Свадьбы, …

«Видео на конвеере»/SWP-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

Оно надо?

Перегруженность, Мелкая мышиная моторика, Неавтоматизируемость, Ремесло, Немасштабируемость

Пример видеоредактора 01.jpg Пример видеоредактора 02.jpg Пример видеоредактора 03.jpg Пример видеоредактора 04.jpg Пример видеоредактора 05.png Пример видеоредактора 06.jpg

Кому?

Статистика объема снятого и смонтированного видео в CUSTIS.svg
  • Программистам
  • Тестировщикам
  • Advanced Users

Требующим эффективность!

Понимающим, что такое:

  • Файл
  • Код
  • Проект
  • Сборка

Основная идея

Идея SeminarAssembler.svg

Матрешка

Matroska. Выбор видеопотока.png Просмотр Matroska с UTD. Пример с флипчартом.png Просмотр Matroska с UTD. Пример с Баранцевым, 01.png

Принципы

Wysiwym.svg
  • Agile-видеомонтаж
    • Быстрая draft-версия (матрешка!)
    • Инкрементальные улучшения
  • WYSIWYM — What You See Is What You Mean
    • Максимальная компактность и гибкость:
      • Краткий код + дизайн-шаблоны
      • Целостность
      • Коллаборативный видеомонтаж

If the product is used as a tool, its interface should be as unintelligent as possible. Stupid is predictable; predictable is learnable; learnable is usable. ©


  • Сборка
    • Автоматизируемая
    • Инкрементальное обновление
    • Переносимость проекта (абсолютные пути в видеоредакторах)
    • Прозрачность
    • Масштабируемая
      • Сборка/по сети
        • вся [ночная]-мощь компьютеров компании.
  • Free & open-source.

НеВелосипед

User Experience:

  • Reuse имеющийся
  • Приобретается полезный
  • свой UI минимален

Использует:

  • ffmpeg
  • Virtual Dub
  • inkscape
  • AVISynth
  • SOX
  • Sonic Visualizer
  • mkvtools

Опционально:

  • 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

Inkscape Logo.svg
--------------------------------------------------------------------------------
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 (YAML)
Python-скрипты
PY
Верстка
SVG
Сценарии
SCENARIO
Задания
.sajobs

[svg]

Зависимости

Сборка «Матрешки»

Сборка видео с версткой

Интерфейс

Текстово-файловый

FAR 4 SA.png

Command line

Like svn/hg/git

[svg]

WYSIWYM

Wysiwym.svg

Синхронизация

SA синхронизация по звуку.png

Инсталляция

Необходимо
  • AVISynth, 32bit, >= 2.6.0
  • Скачать SA.EXE, положить в любой каталог, включенный в PATH.
Очень желательно, практически обязательно, если не уверены в обратном (для видеоверстки)
  • Кодек x264vfw 32-бит (даже, если Win764bit)
    • Другие кодеки по источникам (Cedocida для DV и т.п.).
  • Inkscape
  • VLC


Рекомендую

Исходники