ตกลงฉันเพิ่งพบมันและยังใช้งานได้! สนุกจริงๆ. คุณไม่ต้องการแอปพลิเคชั่นแฟนซี, ผู้ส่งข้อความด่วนหรือสิ่งที่คล้ายกัน ด้วยคำสั่งนี้คุณจะส่งเสียงไปยังรีโมตโฮสต์
arecord -f cd -t raw | oggenc - -r | ssh <user>@<remotehost> mplayer -
หรือถ้าคุณชอบ ffmpeg ดีกว่า
ffmpeg -f alsa -ac 1 -i hw:3 -f ogg - \
| ssh <user>@<remotehost> mplayer - -idle -demuxer ogg
ที่มา: http://shmerl.blogspot.de/2011/06/some-fun-with-audio-forwarding.html
หากคุณต้องการโทรศัพท์จริง:
คำสั่งดังกล่าวเป็นเพียงทิศทางเดียวเท่านั้น สำหรับทิศทางอื่นคุณต้องเริ่มต้นเซสชัน ssh อื่น ดังนั้นเพื่อรับสิ่งที่ผู้ใช้รายอื่นพูดกับคุณใช้
ssh <user>@<remotehost> 'arecord -f cd -t raw | oggenc - -r' | mplayer -
หรือถ้าคุณชอบ ffmpeg ดีกว่า
ssh <user>@<remotehost> ffmpeg -f alsa -ac 1 -i hw:3 -f ogg - \
| mplayer - -idle -demuxer ogg
ที่hw:3
เป็น alsadevice ที่คุณต้องการที่จะบันทึก (พบว่ามันมีarecord -l
คุณยังสามารถใช้ชื่ออุปกรณ์, พบนี้มีarecord -L
ในหลาย ๆ กรณีคุณก็สามารถใช้อุปกรณ์ที่ระบุไว้ที่มีคำสั่งดังต่อไปนี้arecord -L | grep sysdefault
)
ปรับปรุง
ในปี 2018 ในระบบ Fedora Linux ของฉันffmpeg
ไม่มีการสนับสนุน alsa (ดูเหมือนว่าจะเหมือนกันในระบบ RaspberryPi กับ Raspbian) แต่มีวิธีง่ายๆโดยไม่ต้องคอมไพล์ใหม่ เพียงไพพ์เอาท์พุทของ arecord (alsarecorder) ไปยัง ffmpeg:
ssh <user>@<remotehost> 'arecord -f cd -D plughw:2 | ffmpeg -ac 1 -i - -f ogg -' \
| mplayer - -idle -demuxer ogg
คุณได้รับอุปกรณ์อินพุตplughw:2
โดยค้นหาอุปกรณ์ของคุณในผลลัพธ์ของคำสั่งต่อไปนี้:
arecord -l
ในกรณีของฉันฉันเห็นcard0
และcard2
(เว็บแคมของฉันมีไมโครโฟน) ดังนั้นฉันจึงเขียนสำหรับplughw:2
card2
อัปเดต 2 (ไม่มี mplayer)
หากคุณไม่มีหรือชอบmplayer
แต่ffplay
(ซึ่งเป็นส่วนหนึ่งffmpeg
) คุณสามารถใช้:
คลื่นเสียงที่ไม่บีบอัด (แบนด์วิดท์สูง, การใช้ cpu ต่ำมากในด้านการบันทึก)
ssh <user>@<remotehost> "arecord -f cd -D plughw:2" | ffplay -nodisp -
บีบอัดด้วย flac (แบนด์วิดท์ต่ำ, การใช้ cpu ต่ำในด้านการบันทึก)
ssh <user>@<remotehost> "arecord -f cd -D plughw:2 | flac - -o -" | ffplay -nodisp -
บีบอัดด้วย ogg (แบนด์วิดท์ต่ำมาก, การใช้ cpu สูงในด้านการบันทึก)
ssh <user>@<remotehost> "arecord -f cd -D plughw:2 | oggenc -" | ffplay -nodisp -
cat - | mplayer -
แทนที่จะเป็นเพียงแค่mplayer -
?