Skpye hangfelvétele LinuxMint alatt

Fórumok

Sziasztok,

szeretném felvenni automatikusan a kezdeményezett hívásokat Skype alatt, de nem igazán találok LinuxMint klienst erre a célra, illetve találtam egyet http://atdot.ch/scr/ ,de ez már nem fut LinuxMint 17.2 alatt :(

Kérdésem, létezik erre a célra valami, vagy esetleg van valami más Skype kliens?

Köszi!

Kalmi

Hozzászólások

Egy kis scripteléssel a PulseAudio miatt ez simán megoldható: http://askubuntu.com/questions/60837/record-a-programs-output-with-puls… (extra nehezítésként itt ügye neked még a hang bemenetet is rá kell keverned). A Skype szépen lezárja minden hang után a kimenetét, úgyhogy akár egy scriptbe is betolhatod, hogy ha van a Skype által nyitott stream, akkor kezdje el rögzíteni, egyébként aludjon mondjuk 1 sec-et.

BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)

Huha nézegettem nem egyszerű nekem (esetleg egyszerűbb megoldás nincs :-). Egy kicsi segítséget kaphatnék, mert nem igazán értem a feladatot. A rögzítés elindul, de szerintem nem a megfelelő kártyán (kimeneten), mert nincs hang. A többi dologra meg nem is merek gondolni...:)

Régen írtam, az is lehet, hogy tök' rossz, de talán megy, minden esetre ötletnek talán jó lehet:

#!/bin/bash

outfile="$2"
vin=2
vout=1
format='-b16 -c2 -esigned-integer -r44100'
case "$1" in
    in)  pacat -r |\
            sox -t raw $format -v"$vin" - -t raw $format - lowpass 8k |\
                oggenc --ignorelength -Qro "$outfile" -;;
    out)  pacat -rd "`pactl stat | grep '^Default Sink:' | cut -d' ' -f3`.monitor" |\
            sox -t raw $format -v"$vout" - -t raw $format - |\
                oggenc --ignorelength -Qro "$outfile" -;;
    mix)  pacat -rd "`pactl stat | grep '^Default Sink:' | cut -d' ' -f3`.monitor" |\
            sox -m -t raw $format -v"$vout" - -t raw $format -v"$vin" "|pacat -r" -t raw $format - lowpass 8k |\
                oggenc --ignorelength -Qro "$outfile" -;;
    *)    echo 'recogg <in|out|mix> <outfile>' 1>&2
          exit 1;;
esac
exit 0

Ja, igen, a file neve recogg legyen, a használata valami ilyesmi:

recogg mix felvetel1.ogg

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

Köszi!

Abban kérhetek segítséget, hogy ez a rögzítés pontosan, hogyan megy? Pontosan mit kellene keresni a hangkártyánál (ki és bemenet->mix), ahhoz hogy tudjak felvenni a Skype-ból?


pactl load-module module-null-sink sink_name=steam
pactl move-sink-input $INDEX steam
parec -d steam.monitor | oggenc -b 192 -o steam.ogg --raw

A Skype által nyitott stream meg végképp érdekelne, hogy ezt hogyan is lehetne érzékelni :)

Előre is köszi!

Kalmi

Picit ránéztem, változott a formátum. Ahol pactl stat van, oda most pactl info az, amit írni kell.

További gond, hogy a visszhangelnyomást is használni kellene, mert úgy használhatatlan, ha a mikrofon visszahallja a hangszóróból a kimeneti stream-et. Ezen felül az erősítés régen így volt jó, de szerintem vin is inkább 1 kellene legyen most már.

Pulseaudio-val könnyű megcsinálni az echo cancel-t, de most túl éjszaka van, hogy ezen gondolkodjak. Legyen segítségnek annyi elég, hogy környezeti változóban kell átadni a Pulseaudio-t használó kliensnek:

PULSE_PROP=filter.want=echo-cancel valamiprogram

Szerk.: A script nem a Skype-ra íródott, hanem a kevert kimenetet és a bemenetet összekeverve rögzít. A végén Ctrl-C-vel le tudod állítani.

Nyilván, ha van türelmed, kiszedheted a pactl megfelelő kimenetéből csak a Skype-hoz tartozó jelutat, de én nem foglalkoztam vele. Mint látod, ebben a scriptben még a paraméterek ellenőrzése sincs meg, mert nem általános célra kellett, hanem egyszer valamit rögzíteni szerettem volna, s ahhoz írtam. Bűn ronda, nem hordozható, nem általános, nincs parametrikus ellenőrzés, éppen ezért elsősorban gondolat ébresztőnek szántam, hogy ennek mentén elindulva meg tudj írni egy számodra megfelelő scriptet.

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