OK, je viens de le trouver, et ça marche toujours! Très drôle. Vous n'avez pas besoin d'applications sophistiquées, de messagerie instantanée ou autres. Avec cette commande, vous envoyez votre audio à l'hôte distant.
arecord -f cd -t raw | oggenc - -r | ssh <user>@<remotehost> mplayer -
Ou si vous aimez mieux ffmpeg
ffmpeg -f alsa -ac 1 -i hw:3 -f ogg - \
| ssh <user>@<remotehost> mplayer - -idle -demuxer ogg
Source: http://shmerl.blogspot.de/2011/06/some-fun-with-audio-forwarding.html
Si vous voulez un vrai téléphone:
La commande ci-dessus était seulement pour une direction. Pour l’autre direction, vous devez démarrer une autre session ssh. Donc, pour recevoir ce que l’autre utilisateur vous dit , utilisez
ssh <user>@<remotehost> 'arecord -f cd -t raw | oggenc - -r' | mplayer -
Ou si vous aimez mieux ffmpeg
ssh <user>@<remotehost> ffmpeg -f alsa -ac 1 -i hw:3 -f ogg - \
| mplayer - -idle -demuxer ogg
où hw:3
est le périphérique que vous souhaitez enregistrer (recherchez-le avec arecord -l
; vous pouvez également utiliser un nom de périphérique, trouvez-le avec arecord -L
; dans de nombreux cas, vous pouvez simplement utiliser le périphérique répertorié à l'aide de la commande suivante:) arecord -L | grep sysdefault
.
Mise à jour
En 2018, mes systèmes Fedora Linux ffmpeg
ne prennent pas en charge le support alsa (il semble en être de même sur les systèmes RaspberryPi avec Raspbian). Mais il existe une solution simple sans recompiler. Il suffit de diriger la sortie de arecord (alsarecorder) vers ffmpeg:
ssh <user>@<remotehost> 'arecord -f cd -D plughw:2 | ffmpeg -ac 1 -i - -f ogg -' \
| mplayer - -idle -demuxer ogg
Vous obtenez le périphérique d'entrée plughw:2
en trouvant votre périphérique dans la sortie de la commande suivante:
arecord -l
Dans mon cas, je vois card0
et card2
(ma webcam qui a un microphone). Alors j'ai écrit plughw:2
pour card2
.
Mise à jour 2 (sans mplayer)
Si vous n'avez pas ou aimez mplayer
mais ffplay
(ce qui en fait partie ffmpeg
) vous pouvez utiliser:
audio wave non compressé (bande passante élevée, très faible utilisation du processeur du côté de l'enregistrement)
ssh <user>@<remotehost> "arecord -f cd -D plughw:2" | ffplay -nodisp -
compressé avec flac (faible bande passante, faible utilisation de l'unité centrale du côté de l'enregistrement)
ssh <user>@<remotehost> "arecord -f cd -D plughw:2 | flac - -o -" | ffplay -nodisp -
compressé avec ogg (très faible bande passante, utilisation élevée du processeur du côté de l'enregistrement)
ssh <user>@<remotehost> "arecord -f cd -D plughw:2 | oggenc -" | ffplay -nodisp -
cat - | mplayer -
au lieu de justemplayer -
?La réponse d'Erik fonctionne bien, mais si vous l'utilisez telle quelle, utilisez
flac
ouoggenc
, il y a un décalage important.Une solution consiste à ajouter
-cache 256
à lamplayer
commande afin que cela ressemble à ceci:Une autre chose à mentionner est que de nos jours presque toutes les distributions modernes utilisent PulseAudio, qui prend le contrôle du périphérique matériel. Par conséquent, l’utilisation
plughw:2
échouera si PulseAudio est en cours d’exécution.En règle générale,
default
devrait fonctionner correctement et utiliser PulseAudio, où vous pouvez utiliserpavucontrol
ou similaire pour sélectionner la source d'entrée souhaitée à l'aide de PulseAudio.Cela ferait la commande comme suit:
MAIS: Ceci introduit un décalage. Dans mon cas, c'est environ huit secondes. C'est terrible.
La solution est beaucoup plus simple que toute autre commande:
C'est ça. Ceci utilise à peine n'importe quel processeur (0,1% selon
htop
). Il utilise ~ 60Ko / s de bande passante pour moi.Si vous voulez un son stéréo:
ssh <user>@<host> "arecord -f cd" | aplay
utile uniquement si vous avez un microphone stéréo, augmente la bande passante à environ 150 Ko / s pour moi. (Puisqu'il augmente également le taux d'échantillonnage à 44100Hz).
Plus d'informations sur le taux d'échantillonnage (
-r
) et le débit binaire (affecté par-f
) sont disponibles ici .Fondamentalement: plus vous baissez, plus la qualité est mauvaise, mais plus la bande passante nécessaire est faible.
Cette solution est entièrement compatible avec PulseAudio. Vous pouvez contrôler le périphérique de sortie, le volume, etc. à l'aide de
pactl
ou de l'pavucontrol
application graphique:la source