Мы пытаемся узнать любые технологии/библиотеки, доступные в стопке.NET (даже обертки сверху третьей стороны dlls), это поможет нам создать приложение, которое может
Предпочтительно, задержка / задержка между step2 и 4 должна быть минимальной
Первое требование (получение) кажется довольно прямым. Проблема определяет подходящий способ сделать загрузку, сделать обработку и передать его потоком назад. Какие-либо допустимые предложения или идеи?
Недавно прибыл acrsoss библиотека FFmpeg, и она имеет обертку C#. FFmpeg может использоваться, чтобы сделать сторону обработки?
Я бы сделал это следующим образом:
Похоже, что Splicer может обрабатывать статическое видео и преобразовывать его - я не уверен в обработке загруженного видео в реальном времени - http://splicer.codeplex.com/
VideoLab от Mitov может выполнить все это и является бесплатным для личного использования (не так бесплатно для коммерческого использования, но цены не слишком высокие).
Я купил и использую версию для Delphi и знаю, что она работает очень хорошо, поэтому я уверен, что версия для .NET сделает то, что вам нужно.
Подобная задача не является тривиальной (как видно по отсутствию ответов здесь), поэтому ожидайте значительных трудностей с DirectX/Microsoft Media Encoder - но с этим набором инструментов и некоторой помощью автора вы добьетесь успеха.
Посмотрите на Video.Show от Vertigo. Это веб-сайт с открытым исходным кодом для пользовательского видеоконтента. Он использует Expression Encoder для сжатия/редактирования видео. Это не совсем то, что вам нужно, но это хорошее начало!
В этом вопросе краткие сведения (это веб-сервер, какая операционная система является сервером? И т. Д.), Но я возьму удар, основываясь на том, что, как я думаю, вы пытаетесь делать.
Вы можете подумать об одновременном выполнении захвата и обработки. Если пользователь запускает ваше клиентское приложение, сделайте захват и обработку через DirectShow. Затем все, что вам нужно сделать, это загрузить видео, и вы можете пропустить весь процесс сервера. Предполагается, что «пользователь» находится под вашим контролем - что это не какой-то случайный человек, загружающий видео, а сотрудник или кто-то, кому вы доверяете.
Если это не так, то ffmpeg, безусловно, можно использовать для водяных знаков на вашем сервере. Для этого не нужны "обертки". Вы можете просто вызвать его как приложение командной строки из своего серверного приложения и дождаться его завершения.
Процесс на самом деле не такой уж и сложный ...важны детали (например, что для вас означает «поток»? Вы действительно имеете в виду «поток», или это через http? Это огромная тема)
Вы можете использовать Silverlight для захвата, как указано выше, а затем использовать Expression Encoder , чтобы отправить его на потоковый сервер или поток оттуда напрямую.
В нем должно быть все необходимое:
Интеллектуальное кодирование / интеллектуальное повторное сжатие для WMV, если источник также WMV и нет выполняются фреймовые операции [4], редактирование разрезов, серийное пакетное кодирование, Кодирование в реальном времени с веб-камер и DV видеокамеры
Поддержка формата декодирования / импорта, поскольку DirectShow
Плавная потоковая передача (720p + видео с использованием HTTP) с оптимизированным клиентом (Silverlight) и сервер (IIS с плавная потоковая передача)
Публикация WebDAV, плагины публикации для Silverlight Streaming, Amazon S3
Импорт наложений XAML, созданных в Дизайн и настройка экспрессии их время, анимация, непрозрачность, размещение и зацикливание
Триггерные события JavaScript
Windows Media 11 SDK и VC-1 SDK интеграция, собственный декодер MPEG-2
Добавление титров к видео с помощью SAMI или W3C Timed Text format
Предварительный просмотр и сравнение кодировки настройки в реальном времени
Снимок экрана
Объектная модель для механизма кодирования, SDK загружается отдельно