[win32] Перенести звук с одного компа на другой.

korsar0156

Есть два компа, объединённых в локальную сеть. Хотелось бы перенести звук с звуковухи одного
на звуковуху другого по сети.
Пока нашел такое решение:
VideoLAN умеет читать внутренние буферы звуковушки через DirectShow и далее транслировать полученное
в сеть. При этом возникает одна, но очень неприятная проблем - задержка звука на несколько секунд.
Вроде бы все возможные буферы поставил по минимуму, кроме буфера чтения http-потока (при установке
значений меньше 250 миллисекунд, клиентский vlc начинает запинаться).
По сути дела задержки должны быть в основном из-за буфера чтения http-потока на клиенте,
а также из-за необходимости сжатия в мп3 (видимо порядка нескольких десятков миллисекунд).
Как-то до нескольких секунд реальной задержки далековато... :(
Если кто решал подобные задачи было бы приятно узнать как устранить задержку звука
или хотя бы где искать пути решения.

kruzer25

А зачем тебе это?

korsar0156

хочу смотреть изображение фильма на ноуте, а звук слушать из нормальных колонок
которые подсоединены к десктопу.
думаю может быть ещё какой-нибудь вариант с bluetooth-гарнитурой (в этом случае ноут
выступал бы в качестве сервера, а стационарный комп в качестве гарнитуры
но готовых решений не нашел.

kruzer25

А почему бы не подключить колонки к ноуту?

mkrec

потому что колонки могут быть относительно намертво присобачены к компу. Например, это могут быть две тяжелые колонки Рига, висящие на стене, присоединенные к компу посредством самопайного усилка, тихо-мирно лежащего в своей коробке на столе.

kruzer25

А "самопайный усилок" к ноуту ну никак не подключить?

mkrec

Ты плохо прочитал? :( Вырвать припаянные провода из колонок и отнести коробку с усилком в тот угол комнаты, где есть желание смотреть кино, конечно, можно. Но вот колонки, повторяю, висят на стене.

kruzer25

А что, длина аналогового провода со звуком ограничена десятью сантиметрами:

vall

есть такая штука Network Audio System виндовый порт на сайте упоминается.

korsar0156

есть такая штука Network Audio System виндовый порт на сайте упоминается.
упоминается, но по приведённой там ссылке порта нет :(

geja_03

Разветлителей и удлинителей есть множество. Без задержки софтварно ты вряд ли реализуешь фичу.

vall

ну хз.
если тебе только задержка мешает то нужно выставить сдвиг звука чтоб компенсировать латентность, собственно этим NAS и занимается.

Usmanova72

а почему надо переносить звук? может лучше видео?

apl13

Вопрос, ИМХО, из разряда "Подскажите, как организовать дома радиостанцию, вещающую в УКВ-стерео, а то магнитофон у меня в спальне, а слушать музыку я хочу на кухне".
Что тебе мешает колонки в ноут воткнуть?

logan00108

Мало ли звук на ноуте хреновый.
Извращенный вариант - RDP :) Без задержки :)

apl13

Мало ли звук на ноуте хреновый.
После передачи по сети в пожатом стримовом виде он, конечно, станет сильно красивее.

tucha96

OMG, ну сколько можно?
У меня та же проблема была в юношеские годы, когда хотелось через одни колонки с двух компьютеров звук гонять.

logan00108

Думается 100Mbps хватит для гоняния и непожатого звука.
К тому же бывает и loseless compression

korsar0156

После передачи по сети в пожатом стримовом виде он, конечно, станет сильно красивее.
как уже сказали можно и в непожатом виде гонять, 44100 hz * 16 bit * 2 channels = всего-то ~200 килобайт/сек
vlc жал только потому, что непожатый поток он не понимает

korsar0156

Проблема решена :)
Забил на vlc, и написал небольшой скриптик на питоне, который решает мою проблему.
Если вдруг кому понадобится:
Requirements:
Python >=2.4
PyAudio
PyMedia
Usage:
Server:
python NetworkAudioCable.py server [-P <password>] [-p <port>] [-o <output_device_index>]
Client:
python NetworkAudioCable.py client [-P <password>] [-p <port>] [-h <host>] [-b <bitrate>] [-i <input_device_index>]
(bitrate=0 - no mp3 compression)

Olenenok

петон рулид

apl13

К тому же бывает и loseless compression
Мир полон откровений. :lol:
ЗЫ. lossless

vall

дайка отнекрофилю.
наткнулся на живой проект http://www.pulseaudio.org/
фичей дохрена, виндовый сервер вроде есть, родного клиента под винду пока нет, но можно забирать звук по esd протоколу с помошью winesd.
во! даже туториал для винды нашёл http://www.fotov.net/node/269
Оставить комментарий
Имя или ник:
Комментарий: