Upgrade to Pro — share decks privately, control downloads, hide ads and more …

スマートフォンをLinuxデスクトップのスピーカーに(してビデオ会議中に離席しても話に付いていけるようにする)

 スマートフォンをLinuxデスクトップのスピーカーに(してビデオ会議中に離席しても話に付いていけるようにする)

Kenichiro MATOHARA

February 21, 2021
Tweet

More Decks by Kenichiro MATOHARA

Other Decks in Technology

Transcript

  1. / 最近の発表 最近の発表 「 2021-01-23 「 」 2021-01-31 「 」

    2021-02-13(sat) Bitbar/SwiftBarをLinuxでも使いたい」 東海道らぐ あひる焼きさんのライトニングトークダービー! ネットワーク経由でUSB共有 鹿児島Linux勉強 会 2021.01(オンライン開催) DroidCamでもスマホをWebCamにする 小江戸 らぐ 2月のオフな集まり(第223回) 3 / 33
  2. / 実行例 実行例 $ tar tvf SoundWire_Server_linux64.tar.gz drwxrwxrwx Georgie/None 0

    2020-01-26 21:22 SoundWireServer/ -rwxrwxrwx Georgie/None 2913 2020-01-16 09:00 SoundWireServer/IN -rwxrwxrwx Georgie/None 1393 2020-01-16 08:46 SoundWireServer/l -rwxrwxrwx Georgie/None 2235 2014-09-16 09:08 SoundWireServer/op -rwxrwxrwx Georgie/None 1583 2014-09-16 09:09 SoundWireServer/r -rwxrwxrwx Georgie/None 6915 2020-01-26 21:22 SoundWireServer/R -rwxrwxrwx Georgie/None 448 2019-12-31 11:00 SoundWireServer/S -rwxrwxrwx Georgie/None 1611672 2020-01-16 11:55 SoundWireServer/ -rwxrwxrwx Georgie/None 237351 2012-11-22 17:28 SoundWireServer/ $ tar xf SoundWire_Server_linux64.tar.gz $ clamscan SoundWireServer/SoundWireServer $ ha512sum SoundWireServer/SoundWireServer a0c1da0afad9e94aef82e19b2555ccf33494ec56fdbd6193a838beae31cec58ca $ SoundWireServer/SoundWireServer 1 2 3 4 10 / 33
  3. / 「WifiAudio」 「WifiAudio」 「WifiAudio」はWindows若しくはLinux x86_64(64bit) からAndroidへオーディオを転送してくれる PC側バイナリ ※ダウンロードす るにはフォーラムに登録が必要 Home

    | WiFiAudio - Use Android Device as Wireless speaker for Windows/Linux wireless speaker for android - Google Play のアプリ Wifiaudio Support and Links to Download PC application | WiFiAudio - Use Android Device as Wireless speaker for Windows/Linux 15 / 33
  4. / 実行例 実行例 1 念の為手動でもウィルス確認 2 実行権付与 3 実行 $

    clamscan ./wifiaudio_linux $ chmod u+x ./wifiaudio_linux $ ./wifiaudio_linux 1 2 3 16 / 33
  5. / +--------------+ |Linux Desktop | | Applications | +---+----------+ |

    | PulseAudio | | +---------+ +--------+ +------------+ +---+ monitor +---+ ffmpeg +-------))) Wi-Fi (((---| SmartPhone | + | +---------+ +--------+ mp3 | VLC +---| | +------------+ + | +---------+ +---+ Speaker | +---------+ 21 / 33
  6. / 実行例 実行例 1 PulseAudioのデバイスを確認 2 ffmpegでAndroidのIPに対してmp3形式で配信 この状態でVLC等で rtp://@:1234 を再生すると

    LinuxDesktopの音が流れて来る $ pactl list short sources 0 alsa_output.pci-0000_00_1b.0.analog-stereo.monitor m 1 alsa_input.pci-0000_00_1b.0.analog-stereo module-al 2 alsa_input.pci-0000_00_1b.0.analog-stereo.echo-cancel m 3 alsa_output.pci-0000_00_1b.0.analog-stereo.echo-cancel.mo 4 alsa_input.hw_Loopback_1_0 module-alsa-source.c s $ ffmpeg -f pulse -i alsa_output.pci-0000_00_1b.0.analog-stereo.m -acodec libmp3lame -f rtp rtp://10.42.0.90:1234/ 1 2 22 / 33
  7. / スマートフォンのIPアド スマートフォンのIPアド レス レス mDNSが使えなさそうなので固定IPにしたりマルチ キャスト配信してしまってもいいかも 今回はarpでごまかしてみた #!/bin/bash MONITOR=`pactl

    list short sources | grep analog-stereo.monitor | PHONE_MAC=18:d6:1c:00:00:00 PHONE_IP=`arp -i wlp3s0 | grep ${PHONE_MAC} | cut -f1 -d' '` PORT=1234 ffmpeg -f pulse -i ${MONITOR} -acodec libmp3lame -ar 22050 \ -f rtp rtp://${PHONE_IP}:${PORT}/ 25 / 33
  8. / ちょっとコンビニまで ちょっとコンビニまで Wi-Fiの圏外でmobile回線を利用する SoundWireでもルータのポート開放でできるという 記述があるが面倒 & お手軽なトンネリングサービ スはUDP NGな場合が多い

    Icecast2サーバを利用して配信してみる 各種ライブ配信サービスも利用できるが公開範囲 や内容に注意 Youtube Liveの場合音楽のみはNGで何らかの画像 も一緒に配信する必要がある 26 / 33
  9. / ffmpegでの配信例 ffmpegでの配信例 1 pulseaudioを利用 2 インプットデバイス指定 3 ログレベル,配信形式指定 4

    コンテンツタイプ指定 5 配信ソースURL $ ffmpeg -f pulse \ -i alsa_output.platform-snd_aloop.0.analog-stereo.monitor \ -loglevel 31 -stats -f adts \ -content_type audio/aac \ icecast://$USER:[email protected]:8000/$MOUNTPOINT 1 2 3 4 5 28 / 33
  10. / 奥付 奥付 発表 2021-02-21(sun) 発表者 ライセンス CC BY-NC-SA 4.0

    鹿児島Linux勉強会 2021.02(オンライン開催) Kenichiro Matohara(matoken) 33 / 33