Если нельзя, но очень хочется, то нужно обязательно и ничего в мире не стоит того, чтобы делать из этого проблему!

Если тебе полезно что-то из того, чем я делюсь в своем блоге - можешь поделиться своими деньгами со мной.
с пожеланием
столько времени читатели провели на блоге - 
сейчас онлайн - 
Показаны сообщения с ярлыком монтаж. Показать все сообщения
Показаны сообщения с ярлыком монтаж. Показать все сообщения

понедельник, 25 декабря 2017 г.

ffmpeg: вырезаем кусок видео без потери качества (перекодирования), склеиваем или заменяем аудио

Про эту чудную команду я узнал от коллеги на JuJa курсе. За что огроменное спасибо. Раньше я бы вырезал с помощью какой-то тулы, которая еще пол часа (в лучшем случае) перекодировала видео. При этом качество терялось однозначно. Сейчас же я вбиваю команду

ffmpeg -i d:\in.mp4 -c copy -ss 1:00:18 -t 0:10:29 d:\out.mp4

И результат я вижу уже через минуту. А задача простая - есть оригинальное видео in.mp4 - из него надо извлечь кусочек начиная с позиции 1:00:18 продолжительностью 0:10:29 без потери качества в out.mp4.

Для склейки используется другая команда

ffmpeg -f concat -safe 0 -i list.txt -c copy out.mp4

Где в файлике list.txt

file 'D:\video\in1.mp4'
file 'D:\video\in2.mp4'
file 'D:\video\in3.mp4'

Для замены аудио дорожки в видео звуком из другого файла

fmpeg -i in.mp4 -itsoffset 79.5 -i audio.m4a -c:v copy -map 0:v:0 -map 1:a:0 -ss 0:04:40 -t 1:44:02 out.mp4

Тут берем исходный файл in.mp4 и в нем заменям звуковую дорожку содержимым из файла audio.m4a. При этом точкой синхронизации (я прослушивал два файла и находил в них то место, где я начинаю говорить одно и то же): видео 4m37.5s = 277.5s, аудио 3m18s = 198s. То есть video = audio + 79.5с. И я знаю, что первые 4m40s я хочу в результате вырезать, а клип чтобы был длинной 1h44m2s.

В случае, если длиннее интро будет не у видео а у аудио, то ключик  -itsoffset я должен буду подставить под соответствующий -i параметр загрузки дорожки. Порядок имеет значение!

Команда ffmpeg много полезного имеет в себе. Это только одна из многих десятков команд. 

понедельник, 26 июня 2017 г.

Вещаем на Youtube

На выходных получил отличный инсайт. У меня очень с трудом получалось снимать короткие ролики. Ролик на 10-15 минут надо готовить очень долго. На пол часа уже намного легче. Ну а больше 1 часа я готов поговорить в любое время, хоть сейчас. 


Идея в том, что 10-15 минутные ролики можно взять из большого вебинара, нарезая его на логические блоки (которые всегда есть в любом докладе). Получается как-то так.

Лучше всего поддаются такой нарезке вебинары на тему Вопрос-Ответ, где тебе задают вопросы а ты отвечаешь на них. И тогда один вопрос можно запаковать в отдельный ролик. Получается как-то так.

И да, если к такому отрезку приклеить спереди и сзади intro ролик будет намного лучше. 

Кстати именно этот ролик я рисовал на планшете Samsung Galaxy Note 10.1 в нем есть тула, которая позволяет записывать процесс рисования а потом воспроизвести ее. Так у меня появилась анимация. 


А то, что рисовал называется Doodle и на страничках своего блога, я делился постами про это направление рисования

Сейчас стоит задача перед командой JuJa, как сделать так, чтобы порядка 400 часов видео разрезать на такие небольшие ролики. 400 часов видео, это приблизительно тот контент, который был нагенерен на площадке JuJa за последние пару лет: вебинары, letscode и другие видео-уроки. 

(шутка, там очень много полезного контента, все то о чем знаю сам, что по моему поможет)

С другой стороны так много сразу и не надо :) Все равно на ютьюб канал стоит заливать не более одного видоса в день. А то я залил на выходных купу видео и мне сказали "атата, у меня вся лента в juja". Ок, понятно... 

Но нам надо обновлять наши видео предложенные в курсе. Как оказалось на практике длинные 1,5-3х часовые видео Клиенты не очень хотят смотреть. Потому что в сети уже много высококачественного контента длинной в 5-10-15 минут и планка видеоблоггинга повышается. 

Как эту задачу реализовать? Однозначно аутсорсить! Не самому же делать все. Я лишь попробовал как это и теперь смогу наладить производство. Так что теперь у Juja будет больше 10-15 минутных роликов на Youtube канале


вторник, 12 ноября 2013 г.

Как наложить на видео слайды с помощью AviSynth

Сегодня выступал в НАУ с докладом для студентов. Был приятно удивлен встрече с Антоном. Антон так же готовил свой доклад для студентов. Его доклад полезен будет не только для студентов НАУ, а вообще. Потому я его снял на камеру и сегодня же вечерком аккуратненько смонтировал.

Монтировал необычным для себя путем. Способ мне понравился, а потому опишу его туточки. Видео, уверен, Антон выложит на youtube (будет чуть позже). А пока главный ответ на вопрос - как наложить на видяшку, серию слайдов из презентации, причем чтобы те переключались вовремя. Очень просто.

# грузим в переменную v два подряд идущих видеофайла DSC_0877.MOV и DSC_0878.MOV (они склеятся) 
v = DirectShowSource("DSC_0877.MOV")+DirectShowSource("DSC_0878.MOV") 

# ресайзим видео до размера слайдов, сразу после добавляем сверху от 
# видео бордер такой же высоты как и видео. 
# Там пока все черненько будет - мы расположим там слайды
# результат запишем в ту же переменную v 
v = v.LanczosResize(960,540).AddBorders(0, 540, 0, 0, $000000)

# загрузим первый слайд в переменную slide1 сделав из него видеоряд с частотой 23.976 (та же что и у видео) и длинной 1389 кадров
i=ImageSource("Slide1.png", fps=23.976, end=1389)

# так же для второго слайда
i = i + ImageSource("Slide2.png", fps=23.976, end=8181)

i = i + ImageSource("Slide3.png", fps=23.976, end=5863)

i = i + ImageSource("Slide4.png", fps=23.976, end=9130)

i = i + ImageSource("Slide5.png", fps=23.976, end=7726)

i = i + ImageSource("Slide6.png", fps=23.976, end=4545)

i = i + ImageSource("Slide7.png", fps=23.976, end=673)

# и в конце концов смерджим два потока
Overlay(v, i, mode="blend", opacity=1)

Вау?! И что это за заклинание такое? Это скрипт AviSynth. Не так давно я показывал, как с ее помощью открыть любой файл в VirtualDub. На самом деле тула намного более мощная.

Вот как выглядела папочка с исходниками


 А так выглядел avs скрипт загруженный в VirtualDub (и Антон :) )


Дальше дело техники - выставить аудио/видео кодек и сохранить как avi. Положение кадров я определял задра просматривая видеоролик в поисках характерных кликов Антоном своего презентора. Лучше, конечно, снимать как-то так, чтобы был виден хоть краюшек проектора. 


Кстати, можно было с легкостью сделать как-то так (это фича фильтра Overlay)



Еще раз повторюсь AviSynth очень мощная тулза, позволяющая кстати автоматизировать много чё. Этот вопрос более чем реализовал Стас Фомин в своем SeminarAssembler. Кстати там это все делается уже, я в целях изучения просто еще одно колесо изобрел.  

Успехов!

Спасибо Антону, Стасу, НАУ, AviSynth, VirtualDub, Nikon, Google, HP и всем тем ребятам, с помощью которых этот пост случился.

четверг, 27 сентября 2012 г.

Как я делаю забавные мультяшки

Не так давно мы для клуба практического селениума делали с Серегой intro-видео. Возникали вопросы, а как такое делается. Вот решил выложить видяшку того как я создаю видяшку :)

Если вкратце, то все происходит в paint. У меня есть графический планшетик, который мне помагает рисовать.

Перед началом записи, если я хочу рисовать в IDE - я выстраиваю IDE, Paint и рамку camrecoder'a (использую Camtasia Studio) так чтобы они были пиксель в пиксель один под другим - так я могу делать запись вначале в IDE, а потом после Print screen и past в paint продолжить рисовать поверх IDE с планшета.

Звук обычно пишется отдельно до записи видео (если главное - это сам доклад, а картинка только в помощь) или параллельно с записью видео (когда толком не знаешь о чем будешь рассказывать). Что очень позитино - так это после того, как текст доклада записан сесть с напарником и записаться красиво на микрофон. В общем, хочешь поднять себе настроение - запишите подкаст с напарником по заранее подготовленному тексту.

После того как готово грязное видео я вырезаю из него все лишнее: переключение в скайп, браузер во время записи, неудачные попытки что-то нарисовать на планшете (которые я регулярно отменял через Ctrl-Z во время записи), лишние перемещения и тупняки с мышкой и так далее...

Начинать вырезать стоит проходя ползунком из конца в начало видео. Так быстрее, поскольку самый удачный дубль эпизода всегда последний. И по практике скажу, что это сущственно ускоряет. Но все же на 1 минуту уходит около 1-2 часов работы.

Когда готово чистое видео я подгоняю его под существующий звук, который либо у же есть либо пишется параллельно.

Записывая звук параллельно с видео стоит отметить, что монтаж не делается за 1 день, и записывать прийдется всегда в одном и том же помещении - иначе будет слышна разница. Я вот монтировал вторую часть видео во время своего отдыха в Карпатах, а в номере, котором это происходило гудел трансформатор. Гудение я (Camtasia) удалил, но вот акустику команты не воспроизвести (я не знаю как) и продолжая монтаж у себя дома, в комнатке приблизительно тех же размеров я не добился того же звучания...

А вот и видяшка, как эта вся рутина делается.


В общем работа еще та. Что я понял - это надо аутсорсить кому-то кто умеет это делает (рисовать, монтировать, знает хоршие тулы).

И да, я уверен, что есть тулы, в которых это делается быстрее - но мне интересно было решить задачу в лоб подручными стредствами. Если у тебя есть на примете тула, которая могла бы ускорить меня в будущем - прошу скинь линк в комментах.