LINUX.ORG.RU

как записать поток, который проигрывает RealPlayer?


0

0

Задача: сделать "дамп" =) звукового потока, который RealPlayer принимет из сети и кидает на /dev/dsp (предварительно прогнав данные через свои кодеки).

Пытался сделать следующее:

1) Смотрим под каким PID шуршит realplay:
$ ps aux | grep realplay
xxx 7012 0.0 1.3 27008 14132 ? S 17:48 0:01 realplay
xxx 7013 0.0 0.1 6268 1620 ? S 17:48 0:00 realplay
xxx 7014 0.0 0.1 6268 1620 ? S 17:48 0:00 realplay
xxx 7015 0.0 1.3 27008 14132 ? S 17:48 0:00 realplay
xxx 7016 0.0 1.3 27008 14132 ? S 17:48 0:00 realplay
xxx 7023 0.0 1.3 27008 14132 ? S 17:51 0:00 realplay
xxx 7027 0.1 1.3 27008 14132 ? S 17:51 0:04 realplay

2) Смотрим содержимое соответсвующих директорий:

$ls -alh /proc/7027/fd/
total 0
dr-x------ 2 xxx users 0 Nov 10 18:34 .
dr-xr-xr-x 3 xxx users 0 Nov 10 18:00 ..
lrwx------ 1 xxx users 64 Nov 10 18:34 0 -> /dev/tty1
lrwx------ 1 xxx users 64 Nov 10 18:34 1 -> /dev/tty1
lr-x------ 1 xxx users 64 Nov 10 18:34 10 -> pipe:[5749579]
l-wx------ 1 xxx users 64 Nov 10 18:34 11 -> pipe:[5749579]
l-wx------ 1 xxx users 64 Nov 10 18:34 13 -> /dev/dsp
lrwx------ 1 xxx users 64 Nov 10 18:34 14 -> /dev/mixer
lrwx------ 1 xxx users 64 Nov 10 18:34 2 -> /dev/tty1
lrwx------ 1 xxx users 64 Nov 10 18:34 3 -> socket:[5749575]
l-wx------ 1 xxx users 64 Nov 10 18:34 4 -> pipe:[5749573]
l-wx------ 1 xxx users 64 Nov 10 18:34 5 -> pipe:[5749574]
lrwx------ 1 xxx users 64 Nov 10 18:34 6 -> socket:[5749944]
lrwx------ 1 xxx users 64 Nov 10 18:34 7 -> socket:[5749977]
lr-x------ 1 xxx users 64 Nov 10 18:34 8 -> /usr/lib/RealPlayer8/Plugins/ExtResources/coreres60.xrs

3) 13 - похоже на то, что нам надо. Пробуем:
$ cp /proc/7027/fd/13 /path/to/test

Что-то пишется, но при попытке проиграть test слышен, только, статический шум ШШШшшшшшш ...

У кого какие идеи?

anonymous
Ответ на: комментарий от grustnoe

Уже было, в поиск. Если мне не изменяет память, мы на эту тему беседовали с Ikonta_521.

В двух словах, на фрешмите берем и собираем библиотечку-враппер для RealPLayer. Которая и делает требуемое.

Obidos ★★★★★
()
Ответ на: Математические рассчёты на кластерах от sS

man rec? По-моему, не на любой звуковухе сработает (тут, если я правильно понимаю, потребуется поддержка сквозной записи).

Во, нашел то старое обсуждение и ссылку на враппер.

http://sed.free.fr/realplay/

Obidos ★★★★★
()
Ответ на: комментарий от Obidos

-

>man rec? По-моему, не на любой звуковухе сработает (тут, если я правильно понимаю, потребуется поддержка сквозной записи).

сколько было звуковух - работало на всех - начитная с древних CS4232 и заканчивая встроеным дерьмом типа ALI545x и VIA8233

sS ★★★★★
()
Ответ на: - от sS

Значит, я усложнил решение. ;-)

Obidos ★★★★★
()
Ответ на: комментарий от Ikonta_521

$rec -d /proc/12188/fd/13 --type=wav test
$rec -d /dev/dsp --type=wav test
Обе команды пишут в test тишину =)

Какие еще будут идеи? Очень уж интересно, дополнительные либы ставить не хочется, но исходники с http://sed.free.fr/realplay/ (спасибо за ссылку) я поковыряю, если будет время.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.