Слияние видео в C#

(Обратите внимание, что этот пример был написан в Visual Studio 2010.)

Моя первоначальная проблема заключалась в том, что я создал кучу видео и вам нужно было добавить заставку в начале каждого. Этот пример объединяет видео, поэтому он позволяет мне делать именно это.

Прежде чем приступать к написанию кода, вам нужно добавить ссылки на библиотеки Microsoft Expression Encoder. См. Предыдущее сообщение Изменение качества видео в C# для получения подробной информации о том, как получить начало.

Когда вы нажимаете кнопку этого примера +, программа отображает OpenFileDialog, чтобы добавить новый видеофайл в список. Если вы выберете файл в списке и нажмите кнопку & times; , программа удаляет его из списка.

После выбора файлов нажмите кнопку «Слияние». Следующий код объединяет видео в одно выходное видео.

В коде сначала используется SaveFileDialog, чтобы вы могли выбрать имя выходного файла. Если вы выберете файл и нажмите «Сохранить», программа отобразит ProgressBar с именем prgEncode.

В коде сначала используется SaveFileDialog, чтобы вы могли выбрать имя выходного файла. Если вы выберете файл и нажмите «Сохранить», программа отобразит ProgressBar с именем prgEncode.

...

Затем код перебирается через другие видеофайлы, создавая Source для каждого и добавляя Source в MediaItem объект Источники. Когда цикл закончен, Job содержит один MedieItem, который содержит все источники видео.

Затем программа устанавливает каталог вывода задания и имя выходного файла медиафайла. Он присваивает свойству свойства CreateSubfolder задание значение false, устанавливает размер вывода элемента мультимедиа равным его исходному размеру видео (поэтому размеры видео не изменяются) и устанавливает обработчик события прогресса.

Наконец, код вызывает метод задания Encode. Этот метод объединяет видео в коллекции Sources в медиа-элементе и создает комбинированное видео.

Источник: http://csharphelper.com/blog/2015/04/merge-videos-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)

Add a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *