Video Editing SDKэто инструмент для тех разработчиков, которые работают с видео и аудио данными и хотят создавать интеллектуальные настольные или облачные приложения для редактирования видео, поддерживающие основные мультимедийные форматы и кодеки.
SDK использует собственную технологию умного рендеринга SolveigMM, которая позволяет обрабатывать медиафайлы с различными параметрами сжатия в соответствии с заданными параметрами эталонного файла. В основе SDK лежит объект Video Editing Engine, который поддерживает различные операции редактирования в умном режиме.Эти операции можно выполнить с помощью smm_batchsplit – утилиты командной строки для пакетной обработки медиафайлов.Все настройки редактирования должны быть описаны в командном файле (*.xtl).
Ниже приведен список операций, которые можно выполнить с помощью SDK и smm_batchsplit.
Обрезка видео
Эта функция позволяет обрезать, вырезать произвольное количество фрагментов из предварительно закодированных входных файлов быстро, совмещая покадровую точностью с объединением медиафайлов без потерь качества.
Для пакетной обработки можно использовать следующий XTL-код:
В результате, из исходного файла test_file.mp4 будет создан файл “sample_mp4_0001.mp4”, состоящий из 2-х интервалов исходного файла – интервала с 1й по 6ю секунду и интервала с 7й по 12ю секунду.
Выходной файл для этого проекта показан здесь:
Вставка эффектов/переходов в выходной файл
Engine может применять различные эффекты и переходы к MP4 AVC и MXF XAVC видео:
– постепенное появление/угасание,
– растворение
Растворение
В примере показан переход с растворением между двумя видео.Продолжительность перехода 3 секунды.
Для демонстрации использования перехода представлен следующий образец проекта XTL:
Первая секция «track» из XTL создается для представления всей структуры выходного файла и продолжительности.Она содержит все файлы, из которых будет создан выходной файл.
В ней содержится тег «effect» для описания времени каждого из растворений. Число таких тегов должно совпадать с количеством растворений.Каждый тег «effect» должен описывать часть «исчезновения» в первом из двух файлов, на которые влияет текущее растворение.
Дополнительный трек требуется для каждого второго файла из затронутой пары.Такие треки должны содержать следующую информацию:
Тип и номер потока, к которому будет применен переход.Обратите внимание, что должен быть указан только один тип потока.
Тег «effect», описывающий «появление» во втором файле.
Тег «transition», показывающий, что текущая дорожка будет обработана в соответствии с этим тегом и добавлена в выходной файл.
В результате, для этого XTL должен быть создан файл transition_dissolve.mp4, состоящий из 2-х одинаковых видео и 1 перехода растворения между ними, начиная с 12-й секунды длительностью 3 секунды.
Выходной файл для этого проекта показан здесь:
Появление и исчезновение
В примере показаны эффекты «появление» и «исчезновение» для двух объединенных видео.Каждый эффект длится 3 секунды.
Описание XTL для такого рода переходов выглядит следующим образом:
Образец содержит 2 файла, описанных в тегах «clip» и двух «effect» тегах – первый для «затухания», а второй для «появления».Эти теги также содержат дополнительные параметры в тегах «param» — цвет фона, значение прозрачности и функцию изменения.
В результате, для этого проекта XTL будет создан файл transition_fadeout_fadein.mp4, состоящий из 2-х одинаковых видео – первое видео будет иметь эффект “исчезновения” в конце, а второй файл будет иметь эффект “появления” вначале.
Вы можете проверить выходной файл здесь:
Отключение звука сегментов
Эта функция позволяет отключить звук в указанных частях медиафайла.
Проект XTL, выполняющий «Отключение звука», показан ниже:
Этот проект создаст файл «audio_mute.mp4». Звук первых и последних 5 секунд выходного файла будет заменен на тишину.
Смотрите результат здесь:
Микширование аудио
Функция микширования позволяет накладывать звук из отдельных аудиофайлов M4A или MP3, а также аудиопотоки AAC, MP3 или PCM из других файлов MP4 в ваш файл.
Это также можно назвать голосом за кадром.Вот пример проекта XTL:
Этот проект создает файл “audio_mix.mp4”.Файл будет содержать исходный файл test_file.mp4, в который будет добавлен 10-секундный интервал звука из файла mp3_single.mp3.
Работа с изображениями
SDK позволяет использовать изображения для вашего видео.Можно выполнить следующие операции:
Наложение изображений на видео
Вы можете наложить изображение на видеофайл, добавить водяной знак или логотип.
Он доступен для файлов MP4 с AVC видео, MXF с XAVC видео.
Следующий пример показывает, как накладывать изображения на видео.
Этот проект XTL создает файл image_overlay.mp4 и накладывает логотип SolveigMM на указанную позицию, начиная со 2 секунды, и показывает его в течение 10 секунд.
Смотрите выходной файл здесь:
Преобразование изображений в видео
Вы можете создать новое видео в формате MP4 (AVC) или MXF (XAVC) из набора изображений PNG/JPG.
Параметры сжатия должны быть установлены либо путем указания эталонного файла, либо путем их непосредственного описания:
Выходное видео, созданное с помощью этого проекта XTL, состоит из изображения kitten.jpg, отображаемого продолжительностью 4 секунды и закодированного с помощью кодека H264.
Вот выходной файл для этого проекта:
Общие переходы
Образец демонстрирует применение всех возможных эффектов в одном файле.
<timelines version="3">
<timeline>
<group output="../output/transitions_avc_mp4.mp4">
<!--указание параметров сжатия для перекодирования-->
<param name="reference_file" value="../mp4/test_video_1.mp4"/>
<!--описание общей структуры выходного файла, работа только с видео потоком-->
<track video="1" audio="0" accuracy="frame">
<clip src="../mp4/test_video_1.mp4" start="00:00:00:00" stop="00:00:02:00" />
<clip src="../mp4/test_video_1.mp4" start="00:00:01:00" stop="00:00:02:00" />
<--declare a fade-in on the beginning of the first file-->
<effect type="transparency" start="00:00:00:00" stop="00:00:01:00" >
<param name="bkcolor" value="black" />
<param name="alpha" value="0">
<linear length="00:00:01:00" value="255" />
</param>
</effect>
<!--подготовка части 'исчезновения' для эффекта растворения между 2 файлами,-->
<!--оставшаяся часть 'растворения' описана в отдельном теге-->
<effect type="transparency" start="00:00:01:00" stop="00:00:02:00" >
<param name="bkcolor" value="black" />
<param name="alpha" value="255">
<linear length="00:00:01:00" value="0" />
</param>
</effect>
<!--описание эффекта 'исчезновения' на конце второго видеофайла-->
<effect type="transparency" start="00:00:02:00" stop="00:00:03:00" >
<param name="bkcolor" value="black" />
<param name="alpha" value="255">
<linear length="00:00:01:00" value="0" />
</param>
</effect>
</track>
<!--окончание эффекта 'растворения':-->
<!--описание части 'появления' на начале второго файла и указание типа перехода-->
<track video="1">
<clip src="../mp4/test_video_1.mp4" length="00:00:01:00" flags="blank" />
<clip src="../mp4/test_video_1.mp4" start="00:00:00:00" stop="00:00:01:00" />
<clip src="../mp4/test_video_1.mp4" length="00:00:01:00" flags="blank" />
<effect type="transparency" start="00:00:01:00" stop="00:00:02:00">
<param name="bkcolor" value="transparent" />
<param name="alpha" value="0">
<linear length="00:00:01:00" value="255" />
</param>
</effect>
<transition type="mix" start="00:00:01:00" stop="00:00:02:00"/>
</track>
<!--описание наложения изображения-->
<track video="1">
<clip src="../png/attractive.png" length="00:00:01:00" flags="blank"/>
<clip src="../png/attractive.png" length="00:00:01:00" />
<clip src="../png/attractive.png" length="00:00:01:00" flags="blank"/>
<transition type="pip" start="00:00:01:00" stop="00:00:02:00">
<param name="x" value="0"/>
<param name="y" value="0"/>
<param name="width" value="184"/>
<param name="height" value="112"/>
</transition>
</track>
<!--добавление аудио из того же входного файла-->
<track video="0" audio="1" accuracy="frame">
<clip src="../mp4/test_video_1.mp4" start="00:00:00:00" stop="00:00:02:00" />
<clip src="../mp4/test_video_1.mp4" start="00:00:01:00" stop="00:00:02:00" />
</track>
<!--описание микширования дополнительного аудио из отдельного mp3 файла-->
<track audio="1">
<clip src="../mp3/mp3_single.mp3" length="00:00:00:50" flags="audio_silence"/>
<clip src="../mp3/mp3_single.mp3" start="00:00:00:00" stop="00:00:02:00" />
<clip src="../mp3/mp3_single.mp3" length="00:00:00:50" flags="audio_silence"/>
<transition type="mix" start="00:00:00:50" stop="00:00:02:50"/>
</track>
</group>
</timeline>
</timelines>
В качестве выходных данных для этого XTL будет создан файл transitions_avc_mp4.mp4, в котором демонстрируются различные переходы:
Эффект постепенного появления для первого файла в течение 1 секунды, начиная с 0 секунды.
Растворение между первым и вторым файлами в течение 1 секунды, начиная с 1 секунды.
Эффект постепенного исчезновения в конце второго файла, длится 1 секунду, начиная с 2 секунды.
Наложение изображения продолжительностью 1 секунда, начиная с 1 секунды.
Добавление звуковых дорожек по отдельности из одних и тех же исходных файлов
Микширование аудио из внешнего mp3-файла длительностью 2 секунды, начиная с 0,5 сек.
Произойдет транскодирование для создания выходного файла с параметрами, указанными в эталонном файле test_video_1.mp4.
Посмотреть выходной файл для этого проекта можно здесь:
Онлайн видеоредактор HTML5 Video Editor в качестве примера
Приведенное выше описание показывает, что Video Editing SDK 5 для Linux включает множество полезных функций.И это не просто потенциальные возможности — мы уже используем эту функциональность.SDK включает в себя видеоредактор HTML5 Video Editor как в виде онлайн-решений, так и в виде локальных решений.Видеоредактор HTML5 Video Editor использует движок SDK на серверной части и поддерживает все функции, предоставляемые SDK.
Посмотрите это видео, чтобы узнать, как редактировать видео онлайн с помощью видеоредактора HTML5 Video Editor:
Утилиты
Иногда создание проекта XTL для выполнения конкретной задачи может оказаться не совсем удобным.Для таких случаев мы добавили пару полезных утилит, которые выполняют функции, не требуя использования XTL:
smm_ts2mp4
Это утилита командной строки, которая преобразует сегмент, указанный временем начала и окончания, из файла MPEG-TS с AVC HEVC видео и AAC аудио в файл MP4.
-source – устанавливает имя исходного файла MPEG-TS -dest – устанавливает имя выходного MP4 файла -starttime and -endtimeуказывает время начала/окончания интервала в единицах 100 наносекунд -frameacc – обеспечивает редактивание с точностью до кадра для обрезки видео
smm_mp4transc
Это инструмент командной строки, который перекодирует файл MP4 с AVC или HEVC видео и AAC аудио с точно такими же параметрами кодека и контейнера, которые указаны в эталонном файле MP4 (AVC видео, AAC аудио).
-sourcemp4 – устанавливает имя исходного файла MP4 -refmp4 – указывает эталонный файл, параметры которого будут применяться для кодирования -destmp4 – устанавливает имя выходного MP4 файла
На следующем рисунке показаны параметры исходного видео.
Вот параметры эталонного файла:
На картинке ниже представлена информация о перекодированном видео.
Мы видим, что перекодированное видео имеет разные параметры разрешения, профиля, уровня и т. д.
Video Editing SDK 5 для Linux — основные функции
Video Editing SDK это инструмент для тех разработчиков, которые работают с видео и аудио данными и хотят создавать интеллектуальные настольные или облачные приложения для редактирования видео, поддерживающие основные мультимедийные форматы и кодеки.
SDK использует собственную технологию умного рендеринга SolveigMM, которая позволяет обрабатывать медиафайлы с различными параметрами сжатия в соответствии с заданными параметрами эталонного файла.
В основе SDK лежит объект Video Editing Engine, который поддерживает различные операции редактирования в умном режиме. Эти операции можно выполнить с помощью smm_batchsplit – утилиты командной строки для пакетной обработки медиафайлов. Все настройки редактирования должны быть описаны в командном файле (*.xtl).
Ознакомьтесь с доступной документацией по SDK для редактирования видео для Linux. Также доступно описание HTML5 Video Editor API .
Ниже приведен список операций, которые можно выполнить с помощью SDK и smm_batchsplit.
Обрезка видео
Эта функция позволяет обрезать, вырезать произвольное количество фрагментов из предварительно закодированных входных файлов быстро, совмещая покадровую точностью с объединением медиафайлов без потерь качества.
Для пакетной обработки можно использовать следующий XTL-код:
В результате, из исходного файла test_file.mp4 будет создан файл “sample_mp4_0001.mp4”, состоящий из 2-х интервалов исходного файла – интервала с 1й по 6ю секунду и интервала с 7й по 12ю секунду.
Выходной файл для этого проекта показан здесь:
Вставка эффектов/переходов в выходной файл
Engine может применять различные эффекты и переходы к MP4 AVC и MXF XAVC видео:
– постепенное появление/угасание,
– растворение
Растворение
В примере показан переход с растворением между двумя видео. Продолжительность перехода 3 секунды.
Для демонстрации использования перехода представлен следующий образец проекта XTL:
Первая секция «track» из XTL создается для представления всей структуры выходного файла и продолжительности. Она содержит все файлы, из которых будет создан выходной файл.
В ней содержится тег «effect» для описания времени каждого из растворений. Число таких тегов должно совпадать с количеством растворений. Каждый тег «effect» должен описывать часть «исчезновения» в первом из двух файлов, на которые влияет текущее растворение.
Дополнительный трек требуется для каждого второго файла из затронутой пары. Такие треки должны содержать следующую информацию:
В результате, для этого XTL должен быть создан файл transition_dissolve.mp4, состоящий из 2-х одинаковых видео и 1 перехода растворения между ними, начиная с 12-й секунды длительностью 3 секунды.
Выходной файл для этого проекта показан здесь:
Появление и исчезновение
В примере показаны эффекты «появление» и «исчезновение» для двух объединенных видео. Каждый эффект длится 3 секунды.
Описание XTL для такого рода переходов выглядит следующим образом:
Образец содержит 2 файла, описанных в тегах «clip» и двух «effect» тегах – первый для «затухания», а второй для «появления». Эти теги также содержат дополнительные параметры в тегах «param» — цвет фона, значение прозрачности и функцию изменения.
В результате, для этого проекта XTL будет создан файл transition_fadeout_fadein.mp4, состоящий из 2-х одинаковых видео – первое видео будет иметь эффект “исчезновения” в конце, а второй файл будет иметь эффект “появления” в начале.
Вы можете проверить выходной файл здесь:
Отключение звука сегментов
Эта функция позволяет отключить звук в указанных частях медиафайла.
Проект XTL, выполняющий «Отключение звука», показан ниже:
Этот проект создаст файл «audio_mute.mp4». Звук первых и последних 5 секунд выходного файла будет заменен на тишину.
Смотрите результат здесь:
Микширование аудио
Функция микширования позволяет накладывать звук из отдельных аудиофайлов M4A или MP3, а также аудиопотоки AAC, MP3 или PCM из других файлов MP4 в ваш файл.
Это также можно назвать голосом за кадром. Вот пример проекта XTL:
Примечания:
Этот проект создает файл “audio_mix.mp4”. Файл будет содержать исходный файл test_file.mp4, в который будет добавлен 10-секундный интервал звука из файла mp3_single.mp3.
Работа с изображениями
SDK позволяет использовать изображения для вашего видео. Можно выполнить следующие операции:
Наложение изображений на видео
Вы можете наложить изображение на видеофайл, добавить водяной знак или логотип.
Он доступен для файлов MP4 с AVC видео, MXF с XAVC видео.
Следующий пример показывает, как накладывать изображения на видео.
Этот проект XTL создает файл image_overlay.mp4 и накладывает логотип SolveigMM на указанную позицию, начиная со 2 секунды, и показывает его в течение 10 секунд.
Смотрите выходной файл здесь:
Преобразование изображений в видео
Вы можете создать новое видео в формате MP4 (AVC) или MXF (XAVC) из набора изображений PNG/JPG.
Параметры сжатия должны быть установлены либо путем указания эталонного файла, либо путем их непосредственного описания:
Выходное видео, созданное с помощью этого проекта XTL, состоит из изображения kitten.jpg, отображаемого продолжительностью 4 секунды и закодированного с помощью кодека H264.
Вот выходной файл для этого проекта:
Общие переходы
Образец демонстрирует применение всех возможных эффектов в одном файле.
В качестве выходных данных для этого XTL будет создан файл transitions_avc_mp4.mp4, в котором демонстрируются различные переходы:
Произойдет транскодирование для создания выходного файла с параметрами, указанными в эталонном файле test_video_1.mp4.
Посмотреть выходной файл для этого проекта можно здесь:
Онлайн видеоредактор HTML5 Video Editor в качестве примера
Приведенное выше описание показывает, что Video Editing SDK 5 для Linux включает множество полезных функций. И это не просто потенциальные возможности — мы уже используем эту функциональность. SDK включает в себя видеоредактор HTML5 Video Editor как в виде онлайн-решений, так и в виде локальных решений. Видеоредактор HTML5 Video Editor использует движок SDK на серверной части и поддерживает все функции, предоставляемые SDK.
HTML5 Video Editor онлайн-демо:
https://smarteditingonline.solveigmm.com/
Посмотрите это видео, чтобы узнать, как редактировать видео онлайн с помощью видеоредактора HTML5 Video Editor:
Утилиты
Иногда создание проекта XTL для выполнения конкретной задачи может оказаться не совсем удобным. Для таких случаев мы добавили пару полезных утилит, которые выполняют функции, не требуя использования XTL:
smm_ts2mp4
Это утилита командной строки, которая преобразует сегмент, указанный временем начала и окончания, из файла MPEG-TS с AVC HEVC видео и AAC аудио в файл MP4.
Пример использования утилиты:
-source
– устанавливает имя исходного файла MPEG-TS-dest
– устанавливает имя выходного MP4 файла-starttime
and-endtime
указывает время начала/окончания интервала в единицах 100 наносекунд-frameacc
– обеспечивает редактивание с точностью до кадра для обрезки видеоsmm_mp4transc
Это инструмент командной строки, который перекодирует файл MP4 с AVC или HEVC видео и AAC аудио с точно такими же параметрами кодека и контейнера, которые указаны в эталонном файле MP4 (AVC видео, AAC аудио).
Пример использования:
-sourcemp4
– устанавливает имя исходного файла MP4-refmp4
– указывает эталонный файл, параметры которого будут применяться для кодирования-destmp4
– устанавливает имя выходного MP4 файлаНа следующем рисунке показаны параметры исходного видео.
Вот параметры эталонного файла:
На картинке ниже представлена информация о перекодированном видео.
Мы видим, что перекодированное видео имеет разные параметры разрешения, профиля, уровня и т. д.
Последние статьи
Категории
Подписка на наши новости
Подписывайтесь, чтобы узнавать о новых версиях, специальных предложениях и распродажах.
Tags
Наши продукты