IHU

I Hear U, valami ilyesmit régóta keresek. Fedora 20-on elindul a statikus build, kell neki a libXmu.i686 csomag. Visszahurkolva localhost-ra, működik, bővebb tapasztalatom nincs vele. A pulseaudio-t kellene meggyőzni, hogy csináljon visszhang elnyomást. Talán a PULSE_PROP környezeti változó segíthet, de ennek még utána kell járni.

Kár, hogy nem fejlesztik már. Jó volna kipofozni, pulseaudio-val kompatibilissé tenni. Most is az, de csak az ALSA kompatibilitási felületen keresztül.

Hozzászólások

Ssh-n nem lehetne attolni egyszeruen pulse adat streamet? Mic -> speaker,egy masik szalon meg forditva? Akar tomoritessel -C -vel?

Gondoltam rá, de eléggé gány. Valami GUI féle kellene, a mikrofon és hangszóró külön némítása természetes igény, a titkosítás, tömörítés szintén. Jó, ez is megoldható scriptből.

Ugyanakkor nem tudom, gondolkodtál-e azon, hogy mi az egyik érdekessége a live stream átvitelének. Az egyik oldalon mintavételezzük a hangot, tömörítjük, átküldjük, buffereljük, kitömörítjük, lejátszuk. A gond ott van, hogy az adó és a vevő mintavételi frekvenciája nem tökéletesen ugyanaz, hiszen nincs egy PLL, ami a vevő kvarcát az adó kvarcának frekvenciájára húzná. Ebből az következik, hogy várhatóan néhány másodpercenként vagy keletkezik egy-egy felesleges hangminta, s így igen lassan hízik a vevő buffer, s lassan egyre többet késik a hang, vagy néha hiányzik egy-egy hangminta, de mivel hálózati csomagok mennek át, valójában buffer alulcsordulásnál ritkábban egy nagyobb adag hangminta fog hiányozni.

Ezt a problémát is jó volna valahogyan megoldani.

Ez az IHU alkalmazás nagyon ígéretes, mondanám, ha valakinek van kedve programozni, karolja fel a projectet, az egyetlen baj vele, hogy nem fejlesztik. Egyrészt jó volna a mai library-khez és compilerekhez igazítani, másrészt pulseaudio-hoz illeszteni, beleértve a visszhangelnyomást, ami a pulseaudio egy szolgáltatása.

Egyéb igény most hirtelen nem is volna, de ha fejlődne picit, az sem volna baj.

Szerk.: Jó volna 64 bites build belőle, illetve rpm Fedorára.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Engem nem zavarnak az ilyen infók, sőt! Szerintem hasznos, ha látom, mennyit visz a sávszélességből. Aki meg nem érti, azt miért is zavarja?

Egyébként Ekiga nem tud p2p stream-et átvinni?

Nem tudom, de ha megmondod, hogy tudja-e, s ha igen, akkor hogyan, azzal előrébb lennénk. ;)

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Úgy látom, működik a pulseaudio visszhangelnyomása. Az alábbit csináltam:

#!/bin/bash

PULSE_PROP='filter.want=echo-cancel' exec ihu
# exec ihu

A végén lévő komment csak azért, hogy látszódjon, mit csináltam akkor, ha nem akartam visszhangot elnyomni. Értelemszerűen akkor a fentebbi sort kommenteltem ki. Még mindig csak loopback teszteltem.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Hű, mit találtam:

Description : ssh-contact is a client/service tool that makes it easy to connect
            : to your telepathy IM contacts via SSH. No need to care about
            : dynamic IP, NAT, port forwarding, or firewalls anymore; if you can
            : chat with a friend, you can also SSH to their machine.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Véletlenül botlottam bele: seren

Ez terminálon megy. Van belőle fedorás csomag repóban.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Lehet, írok róla blogot. Kipróbáltam, működik, nagyon tetszik. Tény, hogy ncurses felülete van terminálon, így nem olyan csili-vili, de funkcionálisan rendben van. További előnye, hogy éppen ezért még X sem kell hozzá. Megy a chat, és nagyon szép hangja van. Persze nem nehéz ez, hiszen 6000 - 512000 b/s bitrátát lehet beállítani, s az a gyanúm, ez már a tömörített stream-re vonatkozik. 32 kb/s-mal nagyon jó. A kommunikáció titkosított. Futásidőt elfelejtettem nézni, legközelebb azt is meglesem.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Az IHU-t ma teszteltem, remekül, jó hangminőségben használható pont-pont VoIP telefonálásra. Fedorán a statikusan build-elt binárist használtam, függőségként a libXmu.i686 csomag kell neki. Az alábbi wrapper scripttel indítom, ezzel megoldva a visszhangelnyomást is:

#!/bin/bash

PRG='ihu'
TITLE='I Hear U'
MESSAGE='Az <b>IHU</b> már fut egy példányban!'
ICON='/usr/local/share/pixmaps/ihubig.png'
TIMEOUT=10

wmctrl -xa "$PRG" && exit 0
if ! pgrep -u "$USER" -x "$PRG" >/dev/null; then
    PULSE_PROP='filter.want=echo-cancel' exec "$PRG"
fi
if type -p notify-send >/dev/null; then
    notify-send -t $((TIMEOUT*1000)) -i "$ICON" "$TITLE" "$MESSAGE"
else
    yad --title="$TITLE" --timeout=$TIMEOUT --button 'OK:0' --text="$MESSAGE"
fi
exit 1

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE