Проблемы с VLC и мгновенными сообщениями - PullRequest
0 голосов
/ 25 октября 2010

Я уже задавал эти вопросы без правильного ответа. Я надеюсь получить ответ здесь.

Я занимаюсь разработкой мессенджера на python, и я бы хотел обрабатывать потоковое видео / аудио с помощью VLC. Основная идея сейчас заключается в том, что в каждом IM-клиенте я запускаю один экземпляр VLC, который действует как сервер, который транслирует всем нужным пользователям, и другой экземпляр VLC, который является клиентом, получает и отображает все потоки, которыми являются другие пользователи. отправив мне. Как видите, это своего рода P2P-соединение, и у меня много проблем.

Моя первая проблема заключалась в том, что VLC может обрабатывать только один поток на порт, но я решил это с помощью VLM, Videolan Manager, который позволяет использовать несколько потоков с одним экземпляром и на одном порту.

Моя вторая проблема заключалась в том, что этот вид P2P имеет несколько недостатков, например, если кто-то находится за NAT или маршрутизатором, вам нужно выполнить ручную настройку для пересылки пакетов с маршрутизатора на компьютер, а также у него есть другой недостаток: Можно пересылать только на 1 ПК, поэтому вы сможете использовать программу только на одной рабочей станции.

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

Таким образом, этот P2P-сценарий вряд ли будет успешно реализован таким любителем, как я, поскольку у него есть все типичные проблемы прохождения NAT, вещи, с которыми я не хочу связываться, поскольку это не коммерческое приложение, просто школьный проект, который я должен закончить, чтобы получить высшее образование в качестве техника. Наконец, мне порекомендовали использовать сервер с хорошо известным IP-адресом, и это решило бы проблему - только одна конфигурация маршрутизатора и позволить обоим концам разговоров быть клиентами. Я понятия не имею, как реализовать эту идею, пожалуйста, любая помощь полезна. Заранее спасибо. Извините за любую ошибку, я не являюсь экспертом в области программирования / сетей и не являюсь англоговорящим человеком.

1 Ответ

0 голосов
/ 17 ноября 2010

Я думаю, они предлагали вам запустить вашу программу в локальной сети, в которой нет заблокированных портов.

...