Как стать автором
Обновить

VoiceChat c Vorbis кодеком на несколько человек с блэкджеком и (Web?)UI над UDP socket python

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров4.8K
Всего голосов 1: ↑1 и ↓0+1
Комментарии11

Комментарии 11

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

На данный момент это тянет только на PoC и не более, так как

  1. Как я заметил, сам чат не является асинхронным приложением, никаких aio библиотек не используется

  2. Не очень понятно, хорошо ли он пробивает CGNAT

  3. Не видно демонстрации работы с IPv6

  4. Нет ни слова про работу кодеков и сжатие данных

Возможно, другие люди добавят что-то еще.

Спасибо за рекомендации, учту ваши советы!

  1. Да, это скорее Proof of concept нежели полноценное приложение, что бы выйти в люди. Про работу кодеков или сжатие данных нет, ведь аудиоданные тут фактически сырые, и да, это действительно худшее решение для реального сетевого ПО.

  2. Не совсем понял зачем пробивать NAT... речь идёт о временном пробросе портов? Или о некой проблеме которая затрагивает непрерывный поток схожих пакетов при маршрутизации? Так же не совсем понимаю что может пойти не так при использовании IPv6, если с v4 все работает корректно.

По второму, ну если я хочу сделать аудиозвонок с человеком через интернет, при чем я буду с мобильного интернета. Есть ли гарантия что звонок состоится? Про IPv6 лучше сказать "пока не попробуешь - не узнаешь".

Хотелось бы увидеть доработанный код с использованием кодеков. Сырой аудио поток передавать через интернет - это как то совсем не правильно.

Да не важно. Поток звуковой это копеечная полоса.

Вовсе нет, сырой поток - это примерно 1.5 Мбит/с всего лишь для двух участников. Если их 5, то будет уже 3.5 Мбит/с - а это сравнимо с скоростью мобильного интернета.

RATE = 44100. Для голоса это супер избыточно. Если разумно снизить этот параметр, то полоса здорово подрезается. А если включить VAD, то вообще остаются крохи

Если вы включаете вокодер, обрезаете сырой поток и как-то его обрабатываете,то это уже кодек, а не сырой поток. Понятное дело, что голос сжать можно и до 6 кбит/с, но автор ничего подобного не сделал.

Сделать RATE = 8000 (Ну , совсем хорошо 16000). И все. И даже VAD не нужен. Для голоса самое то

Не все микро позволяют просто понизить частоту. На некоторых частотах будет шипение. Поэтому понижать частоту - уже простой кодек.

Спасибо за идею, приделал кодировку

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории