Всем привет! По поиску посмотрел похожие темы, но боле-мене подходящих не нашел.
Так что вопрос знатокам.
Есть 2 компа, с одного с микрофона пишем голос, передаем на другой, на том выводим звук на колонки.
А условия такие, на машинках стоит WinNT 4.0 sp6, машинки слабые, на уровне 1-го пня. Канал связи для передачи звука между машинами где-то 2 килобайта в секунду, т.е. 16 килобит\с. Вообще реально что-либо из этого выжать? И если да, то с помощью чего? Качество звука не критично, лишь бы речь различима была.
Выручайте!
Cy wrote: > А условия такие, на машинках стоит WinNT 4.0 sp6, машинки слабые, на > уровне 1-го пня. Канал связи для передачи звука между машинами где-то 2 > килобайта в секунду, т.е. 16 килобит\с. Вообще реально что-либо из этого > выжать? И если да, то с помощью чего? Качество звука не критично, лишь > бы речь различима была.
Cy wrote: > Есть 2 компа, с одного с микрофона пишем голос, передаем на другой, на > том выводим звук на колонки. > А условия такие, на машинках стоит WinNT 4.0 sp6, машинки слабые, на > уровне 1-го пня. Канал связи для передачи звука между машинами где-то 2 > килобайта в секунду, т.е. 16 килобит\с. Вообще реально что-либо из этого > выжать? И если да, то с помощью чего? Качество звука не критично, лишь > бы речь различима была. > Выручайте!
Да, а если под windows, то добрая половина кодеков, что там стоят по
умолчанию даст тебе достаточное сжатие.
Hello Cy, you wrote:
> А условия такие, на машинках стоит WinNT 4.0 sp6, машинки слабые, на уровне 1-го пня. Канал связи для передачи звука между машинами где-то 2 килобайта в секунду, т.е. 16 килобит\с. Вообще реально что-либо из этого выжать? И если да, то с помощью чего? Качество звука не критично, лишь бы речь различима была.
Есть такая программка Battlecom. Позволяет общаться по сети. Особенность в том, что использует очень мало трафика. Так при минимальных настройках качества на секунду речи уходит окола 100 байт.
Hello Cy, you wrote:
> А условия такие, на машинках стоит WinNT 4.0 sp6, машинки слабые, на уровне 1-го пня. Канал связи для передачи звука между машинами где-то 2 килобайта в секунду, т.е. 16 килобит\с. Вообще реально что-либо из этого выжать? И если да, то с помощью чего? Качество звука не критично, лишь бы речь различима была.
Есть такая программка Battlecom. Позволяет общаться по сети. Особенность в том, что использует очень мало трафика. Так при минимальных настройках качества на секунду речи уходит окола 100 байт.
Здравствуйте, Cy, Вы писали:
Cy>Всем привет! По поиску посмотрел похожие темы, но боле-мене подходящих не нашел. Cy>Так что вопрос знатокам. Cy>Есть 2 компа, с одного с микрофона пишем голос, передаем на другой, на том выводим звук на колонки. Cy>А условия такие, на машинках стоит WinNT 4.0 sp6, машинки слабые, на уровне 1-го пня. Канал связи для передачи звука между машинами где-то 2 килобайта в секунду, т.е. 16 килобит\с. Вообще реально что-либо из этого выжать? И если да, то с помощью чего? Качество звука не критично, лишь бы речь различима была. Cy>Выручайте!
afaik весь голосовой трафик в сетях gsm бегает на 9600. Так что ты даже стерео гонять можешь
mp3 кодек для этого плохо подойдет, а всякие gsm (их в винде по дефолту толпа разных) — вполне.
Привет, Cy.
Cy>Есть 2 компа, с одного с микрофона пишем голос, передаем на другой, на том выводим звук на колонки. Cy>А условия такие, на машинках стоит WinNT 4.0 sp6, машинки слабые, на уровне 1-го пня. Канал связи для передачи звука между машинами где-то 2 килобайта в секунду, т.е. 16 килобит\с. Вообще реально что-либо из этого выжать? И если да, то с помощью чего? Качество звука не критично, лишь бы речь различима была.
Пара встречных вопросов:
1. какого рода канал между машинами ?
2. нужно ли прослушивание с микрофона в реальном времени или нет ?
Если у тебя dial-up модем, то real-time сложно добиться. Поскольку для подобных вещей критична не максимальная скорость, а равномерность отправки голосовых пакетов. Что же касается кодеков, то рекомендую взглянуть в сторону G723, G729. Или даже LPC10 если качество не оч. важно. GSM кодек не рекомендую, т.к. он на выходе выдаёт ~13 килобит/сек. С учётом того, что придётся пересылать вспомогательную информацию (time stamps, etc ...) ты можешь вывалиться за пределы пропускной способности канала.
Почему добро всегда побеждает зло? Потому что историю пишут победители.
Если тебе нужно быстрое решение и ты готов использовать чужие библиотеки можешь воспользоваться моим велосипедом. При инсталляции программы если указать вариант установки Optional, затем выбрать пункт Copy C++ code examples, в каталог программы будут помещены примеры того, как можно использовать бинарные компоненты. В том числе и для передачи звукового потока с компа на комп.
Почему добро всегда побеждает зло? Потому что историю пишут победители.
А ни кто не знает как speex в Builder использовать? Скачал со speex.org файл speex_win32_1.0.4_setup.exe, там в наличии заголовочные файлы (*.h), libspeex.dll, libspeex.exp, libspeex.lib. А подключить к проекту не получается.
Evil_Genius wrote: > > > А ни кто не знает как speex в Builder использовать? Скачал со speex.org > файл speex_win32_1.0.4_setup.exe, там в наличии заголовочные файлы > (*.h), libspeex.dll, libspeex.exp, libspeex.lib. А подключить к проекту > не получается.
Вероятнее всего это бинарники были собраны под студией.
Если классы не экспортируются и иже с ними, т.е. експорт только extern
"C" (в h файле увидишь), то у билдера есть такая утилитка implib. Она
тебе сделает подходящий для линковки .lib файл для билдера.
Иначе, через LoadLibrary ...
Здравствуйте, tamburin73, Вы писали:
>Вероятнее всего это бинарники были собраны под студией. >Если классы не экспортируются и иже с ними, т.е. експорт только extern >"C" (в h файле увидишь), то у билдера есть такая утилитка implib. Она >тебе сделает подходящий для линковки .lib файл для билдера. >Иначе, через LoadLibrary ...
Да, либы похоже от студии, т.к. выдается: [Linker Error] 'D:\PROJECTS\SIGNAL\LIBSPEEX.LIB' contains invalid OMF record, type 0x21 (possibly COFF). Во всех h-ах идет только extern "C" но там помимо функциий еще и структура есть, и что-то я не понял как implib работает (если не трудно, мжно поподробней пожалуйста). coff2omf.exe тоже пробывал, непомогает, новая либа получается "пустая". Пробывал напрямую грузить с Dll (через LoadLibrary) — с функциями проблем нет. Но там есть стандартные толи переменные, толи константы peex_nb_mode и speex_wb_mode структуры SpeexBits. Как их вытянуть? Еще исходники есть но я не предстовляю что с ними можно сделать, только начинаю осваивать С++ по настоящему.
implib — утилита коммандной строки от Borland, позволяет превращать Microsoftовские lib файлы в формат, который понимает Borland
Здравствуйте, Evil_Genius, Вы писали:
E_G>Здравствуйте, tamburin73, Вы писали:
>>Вероятнее всего это бинарники были собраны под студией. >>Если классы не экспортируются и иже с ними, т.е. експорт только extern >>"C" (в h файле увидишь), то у билдера есть такая утилитка implib. Она >>тебе сделает подходящий для линковки .lib файл для билдера. >>Иначе, через LoadLibrary ...
E_G>Да, либы похоже от студии, т.к. выдается: [Linker Error] 'D:\PROJECTS\SIGNAL\LIBSPEEX.LIB' contains invalid OMF record, type 0x21 (possibly COFF). Во всех h-ах идет только extern "C" но там помимо функциий еще и структура есть, и что-то я не понял как implib работает (если не трудно, мжно поподробней пожалуйста). coff2omf.exe тоже пробывал, непомогает, новая либа получается "пустая". Пробывал напрямую грузить с Dll (через LoadLibrary) — с функциями проблем нет. Но там есть стандартные толи переменные, толи константы peex_nb_mode и speex_wb_mode структуры SpeexBits. Как их вытянуть? Еще исходники есть но я не предстовляю что с ними можно сделать, только начинаю осваивать С++ по настоящему.
Все, под виндой все заработало. Теперь вопрос, как под Линуксом ее подключить. Там я вообще раньше не работал. Есть Makefile сгенерированный qmake-ом, проект в КДевелопе делаю с использованием Qt. Че, где там добавить надо. Подскажите пожалуйста.
Здравствуйте, Evil_Genius, Вы писали:
E_G>Все, под виндой все заработало. Теперь вопрос, как под Линуксом ее подключить. Там я вообще раньше не работал. Есть Makefile сгенерированный qmake-ом, проект в КДевелопе делаю с использованием Qt. Че, где там добавить надо. Подскажите пожалуйста.
Можно сообщение предыдущее удалить? Т.к. ларчик просто открывался. Вместо -libspeex почему-то надо указывать -lspeex.
Здравствуйте, Evil_Genius, Вы писали:
E_G>>Все, под виндой все заработало. Теперь вопрос, как под Линуксом ее подключить. Там я вообще раньше не работал. Есть Makefile сгенерированный qmake-ом, проект в КДевелопе делаю с использованием Qt. Че, где там добавить надо. Подскажите пожалуйста. E_G>Можно сообщение предыдущее удалить? Т.к. ларчик просто открывался. Вместо -libspeex почему-то надо указывать -lspeex.
Это в юнихах стандартное соглашение. По первому разу конкретно обламывает, согласен
Здравствуйте, Bogdan Kobets, Вы писали:
BK>Подскажите пожалуйста компонент/модуль/ActiveX/wrapper — что-нибудь, что бы можно было использовать Speex в Delphi-проекте. BK>Заранее благодарен!
Прошу подробнее рассказать, как работать со Speex в Delphi, т.к. этот кодек — один из лучших свободных кодеков для сжатия речи, а тема полностью не раскрыта ни здесь, ни даже на официальном форуме (http://lists.xiph.org/pipermail/speex-dev/). Либо укажите, как работать с другими аналогичными кодеками.
Re[10]: Передача звука по сети
От:
Аноним
Дата:
03.06.08 16:06
Оценка:
Здравствуйте, aik, Вы писали:
aik>Здравствуйте, Evil_Genius, Вы писали:
E_G>>>Все, под виндой все заработало. Теперь вопрос, как под Линуксом ее подключить. Там я вообще раньше не работал. Есть Makefile сгенерированный qmake-ом, проект в КДевелопе делаю с использованием Qt. Че, где там добавить надо. Подскажите пожалуйста. E_G>>Можно сообщение предыдущее удалить? Т.к. ларчик просто открывался. Вместо -libspeex почему-то надо указывать -lspeex.
aik>Это в юнихах стандартное соглашение. По первому разу конкретно обламывает, согласен