C # Видео редактор? - PullRequest
       48

C # Видео редактор?

4 голосов
/ 05 ноября 2011

Я хочу создать видеоредактор на C #, но не знаю с чего начать.
Какие классы я должен использовать? Во что бы я его скомпилировал (MOV, MPEG4 и т. Д.)? Как бы я их прочитал?
Хотя самое важное, на что я смотрю, это их чтение.

Ответы [ 3 ]

5 голосов
/ 06 ноября 2011

Я хочу создать видеоредактор на C #, но не знаю, с чего начать.

Видеоредактор - довольно сложное приложение со многими независимыми подсистемами.Вам потребуется управление активами, временная шкала, компонент проигрывателя, видео- и аудиоэффекты и фильтры, генерация титров и т. Д., А также графический интерфейс, который объединяет все это и представляет их пользователю.

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

  • DirectShow (бесплатно от Microsoft, поставляется с DirectX, только для Windows)
  • QuickTime SDK(бесплатно от Apple, поставляется с QuickTime, Windows и OS X)

Обратите внимание, что DirectShow будет работать изначально в C #, но QuickTime SDK находится в C, поэтому вам потребуется клейкий код, который соединяет ваш C #приложение к функциям C в библиотеках QuickTime.

В обеих библиотеках есть проигрыватели высокого уровня, для настройки которых требуется всего несколько вызовов, а также низкоуровневые API, которые позволяют предоставлять собственный код проигрывателя.Для видеоредактора вам понадобится специальный проигрыватель, так как вы будете не только воспроизводить видеофайлы, но и воспроизводить эффекты, генерируемые в режиме реального времени.Поэтому вы должны работать с низкоуровневыми API в любой из вышеперечисленных платформ и написать проигрыватель, который сначала читает файл фильма, получает кадры и передает их соответствующим декодерам и средствам визуализации.

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

Удачи.

3 голосов
/ 06 ноября 2011

Вы можете использовать ffmpeg как простейшее решение для редактирования многих видео.

Вот пример кода для получения скриншота видео: Как преобразовать загруженное видео и получить скриншот из этого файла?

2 голосов
/ 05 ноября 2011

Это можно сделать в DirectX
Я хотел бы предложить вам использовать DirectShow ..

...