- Я хочу, чтобы он работал на серверах Windows.
- Это будет сервер облачного типа - он будет состоять из модулей \ частей, работающих на разных машинах по всему миру, используя http \ tcp + upnp для подключения друг к другу
- Будет осуществляться контроль \ мониторинг \ наблюдения модулей на каждой машине, чтобы обеспечить статистику по производительности
- Эта сеть будет работать с большим объемом данных вещания жизнь потокового \ VIDEO \ AUDIO
- Он собирается использовать FFMPEG для повторного кодирования и OpenGL, OpenCV и такие как фильтрация (.NET-обертки существуют и работают BTW)
- Он не будет использовать WCF или IIS
- Я хочу развить его в команде из 2-4 разработчиков, умных учеников.
Так ли это нормально, чтобы создать это в C# .Net или я не буду тратить свое время на обещания легкости, которые он может предоставить разработчику и перейти на C \ C++?Можно ли написать серверное приложение на C# в моем случае?
Так разумно ли писать серверное приложение на C# в моем случае?
Оффтоп - почему не WCF
Предупреждение: он получает путь к субъективным здесь.
WCF - это решетка, когда у вас большой корпус с относительно небольшим обменом данными за один сеанс обслуживания.
Когда у вас есть видео, видео в реальном времени, все становится сложнее. Большое количество данных, много пользователей одновременно загружаются и выходят из вашей службы.
Попытайтесь сделать потоковое видео в прямом эфире поверх http привязки - чем попробовать его с другими, чем вы увидите, почему мне не нравится идея потокового вещания с WCF - она медленная, с way2much не требуется для прямой трансляции информации и после все вы когда-нибудь видели приложение для потокового видео в реальном времени на WCF? Нет - у вас нет - возможно, вы видели + - живое видео в паре Silverlight + IIS, которое мне не нравится, потому что это просто для потокового видео Silverlight \ WindowsMediaPlayer, в то время как я хочу больше, чем это.
Мне нравится иметь межплатформенных клиентов с пользовательскими интерфейсами доступа. И мне не нравится (здесь все мое личное мнение - так субъективно) Silverlight + IIS + WCF. Итак, что мне делать - правильно перейдите в сокеты, потоки в таких старых и простых форматах, как FLV и Flash, как клиент-клиент. Упрощенный в разработке в некоторых частях, более консервативный способ сделать живое видео через Интернет, чем тот, который вы получаете от MS Cегодня.
Я люблю флеш-трансляцию FLV в прямом эфире, потому что вы просто открываете сокет и отправляете на него живые видеофайлы FLV (для каждого пользователя FLV-заголовка и FLV «TAG», один за другим: тег видео, звуковой тег, тег видео, аудио-тег и т. д.), и Flash воспроизводит его! Без специального \ необычного кода. Он быстрый, простой в поддержке и не делает клиенту ничего нового \ необычного. И вы на стороне сервера можете использовать использование формы TAG для видео \ аудиоданных.
Так что это коротко, поэтому я просто не хочу использовать WCF - трудно получить живое видео, воспроизводимое с него на стороне клиента, никаких общих преимуществ для видеосервера в реальном времени.
И когда большая часть живых данных проходит через сокеты, почему нужно беспокоиться об использовании WCF для управления сервисами.
В течение последней половины 2009 года и первой половины 2010 года я попадал в WCF, потоковое видео в реальном времени, silverlight и flash, сравнивая процесс создания клиента \ сервера, считывая разные форматы с группой подозрительных интересных разработчиков. В целом в конце проекта у нас было много мини-серверов, которые передавали текущие данные и множество разных клиентов, получающих его. Сравнивая все, что мы сделали, мы пришли к выводам, которые близки к тому, что я вам представляю.
Вот почему я не хочу использовать WCF в своем ближайшем проекте - я не хочу думать о том, как доставлять мультимедийные данные, я хочу сосредоточиться на его фильтрации \ редактировании.
Почему возник вопрос
Мы начали играть с FFmpeg \ OpenCV в C, и это довольно просто манипулировать данными, используя их ... в C ... на Linux ...
Но когда мы начали играть с .Net привязками (мы сейчас играем с Tao.FFmpeg), мы обнаружили, что в большинстве случаев мы в конечном итоге часто играем с C# Marshal и имеем 2 переменные для своего C-аналога (проблема указатели) и так далее. Надеюсь, мы не увидим такую проблему с Emgu CV, но стали это немного меня боится ...
BTW это мой вопрос 500 =) – Rella
позволяет не думать о кросс-платформенном материале - мне было очень жаль. сообщите, что если мы говорим только о Windows, что вы можете сказать? – Rella
Кстати, вы приняли только 58% из 500 вопросов, поэтому работайте над этим. – Incognito