Я хочу создать видеоредактор на C #, но не знаю, с чего начать.
Видеоредактор - довольно сложное приложение со многими независимыми подсистемами.Вам потребуется управление активами, временная шкала, компонент проигрывателя, видео- и аудиоэффекты и фильтры, генерация титров и т. Д., А также графический интерфейс, который объединяет все это и представляет их пользователю.
Из всехВыше я рекомендую начать с создания видеоплеера.Есть несколько библиотек, которые могут помочь с этим, я собираюсь рекомендовать две из них:
- DirectShow (бесплатно от Microsoft, поставляется с DirectX, только для Windows)
- QuickTime SDK(бесплатно от Apple, поставляется с QuickTime, Windows и OS X)
Обратите внимание, что DirectShow будет работать изначально в C #, но QuickTime SDK находится в C, поэтому вам потребуется клейкий код, который соединяет ваш C #приложение к функциям C в библиотеках QuickTime.
В обеих библиотеках есть проигрыватели высокого уровня, для настройки которых требуется всего несколько вызовов, а также низкоуровневые API, которые позволяют предоставлять собственный код проигрывателя.Для видеоредактора вам понадобится специальный проигрыватель, так как вы будете не только воспроизводить видеофайлы, но и воспроизводить эффекты, генерируемые в режиме реального времени.Поэтому вы должны работать с низкоуровневыми API в любой из вышеперечисленных платформ и написать проигрыватель, который сначала читает файл фильма, получает кадры и передает их соответствующим декодерам и средствам визуализации.
Как только выесли это работает, вы можете перейти к другим задачам и использовать видеоплеер в качестве основы вашего редактора.
Удачи.