{ "version": "https://jsonfeed.org/version/1.1", "user_comment": "This feed allows you to read the posts from this site in any feed reader that supports the JSON Feed format. To add this feed to your reader, copy the following URL -- https://matoken.org/blog/tag/streaming/feed/json/ -- and add it your reader.", "home_page_url": "https://matoken.org/blog/tag/streaming/", "feed_url": "https://matoken.org/blog/tag/streaming/feed/json/", "language": "ja", "title": "streaming – matoken's blog", "description": "Is there no plan B?", "icon": "https://matoken.org/blog/wp-content/uploads/2025/03/cropped-1865f695c4eecc844385acef2f078255036adccd42c254580ea3844543ab56d9.jpeg", "items": [ { "id": "http://matoken.org/blog/?p=2996", "url": "https://matoken.org/blog/2021/02/15/turn-your-android-smartphone-into-a-linux-desktop-speaker-so-you-can-keep-up-with-the-conversation-even-if-you-leave-your-desk-during-a-video-conference/", "title": "Android\u30b9\u30de\u30fc\u30c8\u30d5\u30a9\u30f3\u3092Linux\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u306e\u30b9\u30d4\u30fc\u30ab\u30fc\u306b\u3057\u3066\u30d3\u30c7\u30aa\u4f1a\u8b70\u4e2d\u306b\u96e2\u5e2d\u3057\u3066\u3082\u8a71\u306b\u4ed8\u3044\u3066\u3044\u3051\u308b\u3088\u3046\u306b\u3059\u308b", "content_html": "
\n
\n
\n

\u4ee5\u4e0b\u306e\u8a18\u4e8b\u3067\u300cAudioRelay\u300d\u3068\u3044\u3046\u30a2\u30d7\u30ea\u3092\u77e5\u308a\u307e\u3057\u305f\uff0e

\n
\n\n
\n

\u3061\u3087\u3063\u3068\u98f2\u307f\u7269\u3092\u53d6\u3063\u3066\u304f\u308b\u3068\u304b\u3044\u3046\u3068\u304d\u306a\u3069\u306b\u4fbf\u5229\u305d\u3046\uff0e
\n\u3057\u304b\u3057\u3053\u308c\u306fWindows\u304b\u3089Android\u3078\u8ee2\u9001\u3059\u308b\u3082\u306e\u3067\u4ed6\u306e\u74b0\u5883\u3067\u306f\u52d5\u4f5c\u3057\u307e\u305b\u3093\uff0eLinux\u3067\u3082\u52d5\u4f5c\u3059\u308b\u3082\u306e\u3092\u63a2\u3057\u3066\u307f\u307e\u3057\u305f\uff0e

\n
\n\n
\n
\n
\n

\u300cSoundWire\u300d

\n
\n
\n

SoundWire\u306fWindow\u82e5\u3057\u304f\u306fLinux x64_64(64bit)/x86(32bit)\uff0cRaspberry Pi OS\u304b\u3089Android\u3078\u30aa\u30fc\u30c7\u30a3\u30aa\u3092\u8ee2\u9001\u3057\u3066\u304f\u308c\u308b\u3088\u3046\u3067\u3059\uff0e

\n
\n\n
\n

\u30d0\u30a4\u30ca\u30ea\u304c\u914d\u5e03\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u5bfe\u5fdc\u3059\u308b\u305d\u308c\u3092\u5165\u624b\u3057\u3066\u5c55\u958b\uff0c\u5b9f\u884c\u3057\u3066Android\u30a2\u30d7\u30ea\u304b\u3089\u63a5\u7d9a\u3059\u308c\u3070\u30aa\u30fc\u30c7\u30a3\u30aa\u304c\u8ee2\u9001\u3055\u308c\u307e\u3059\uff0e\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u30d5\u30a1\u30a4\u30eb\u3084\u30a2\u30a4\u30b3\u30f3\u3082\u540c\u68b1\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u5fc5\u8981\u306b\u5fdc\u3058\u3066\u767b\u9332\u3059\u308b\u3068\u4fbf\u5229\u305d\u3046\u3067\u3059\uff0e

\n
\n
\n
\n
$ tar tvf SoundWire_Server_linux64.tar.gz (1)\ndrwxrwxrwx Georgie/None      0 2020-01-26 21:22 SoundWireServer/\n-rwxrwxrwx Georgie/None   2913 2020-01-16 09:00 SoundWireServer/INSTALL.txt\n-rwxrwxrwx Georgie/None   1393 2020-01-16 08:46 SoundWireServer/license.txt\n-rwxrwxrwx Georgie/None   2235 2014-09-16 09:08 SoundWireServer/opus_license.txt\n-rwxrwxrwx Georgie/None   1583 2014-09-16 09:09 SoundWireServer/readerwriterqueue_license.txt\n-rwxrwxrwx Georgie/None   6915 2020-01-26 21:22 SoundWireServer/README.txt\n-rwxrwxrwx Georgie/None    448 2019-12-31 11:00 SoundWireServer/SoundWire-Server.desktop\n-rwxrwxrwx Georgie/None 1611672 2020-01-16 11:55 SoundWireServer/SoundWireServer\n-rwxrwxrwx Georgie/None  237351 2012-11-22 17:28 SoundWireServer/sw-icon.xpm\n$ tar xf SoundWire_Server_linux64.tar.gz (2)\n$ clamscan SoundWireServer/SoundWireServer (3)\n$ ha512sum SoundWireServer/SoundWireServer\na0c1da0afad9e94aef82e19b2555ccf33494ec56fdbd6193a838beae31cec58ca75cae1949f520db84c6793bab13c9c3283b519416bebb1c54bbd66b5c489676  SoundWireServer/SoundWireServer\n$ SoundWireServer/SoundWireServer (4)
\n
\n
\n
\n
    \n
  1. \u30a2\u30fc\u30ab\u30a4\u30d6\u306e\u78ba\u8a8d
  2. \n
  3. \u30a2\u30fc\u30ab\u30a4\u30d6\u306e\u5c55\u958b
  4. \n
  5. \u5ff5\u306e\u70ba\u624b\u52d5\u3067\u3082\u30a6\u30a3\u30eb\u30b9\u78ba\u8a8d
  6. \n
  7. \u5b9f\u884c
  8. \n
\n
\n
\n

\u30bd\u30fc\u30b9\u306f\u516c\u958b\u3055\u308c\u3066\u3044\u306a\u3044\u3088\u3046\u3067\u3059\uff0e

\n
\n
\n

\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u3092\u5229\u7528\u3057\u3066\u3044\u308b\u5834\u5408\u306f\uff0cUDP:59010, 59011 \u3092\u958b\u653e\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u3088\u3046\u3067\u3059\uff0e(\u8d77\u52d5\u30aa\u30d7\u30b7\u30e7\u30f3\u3084\u74b0\u5883\u5909\u6570\u3067\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u53ef\u80fd)
\n\u305d\u306e\u4ed6\uff0c -nogui \u30aa\u30d7\u30b7\u30e7\u30f3\u3067X\u7121\u3057\u3067\u3082\u52d5\u4f5c\u3057\u307e\u3059\uff0e

\n
\n
\n

\"SoundWire

\n
\n
\n

\"SoundWire

\n
\n
\n
\n
\n

\u300cWifiAudio\u300d

\n
\n
\n

\u300cWifiAudio\u300d\u306fWindows\u82e5\u3057\u304f\u306fLinux x86_64(64bit)\u304b\u3089Android\u3078\u30aa\u30fc\u30c7\u30a3\u30aa\u3092\u8ee2\u9001\u3057\u3066\u304f\u308c\u308b\u3088\u3046\u3067\u3059\uff0e

\n
\n\n
\n

PC\u5074\u306f\u4ee5\u4e0b\u306e\u30da\u30fc\u30b8\u3067\u30d0\u30a4\u30ca\u30ea\u304c\u914d\u5e03\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u3059\u304c\uff0c\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b\u306b\u306f\u30d5\u30a9\u30fc\u30e9\u30e0\u306b\u767b\u9332\u304c\u5fc5\u8981\u306e\u3088\u3046\u3067\u3059\uff0e\u767b\u9332\u306b\u306f\u6c0f\u540d\uff0c\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\uff0c\u751f\u5e74\u6708\u65e5\u306a\u3069\u3092\u6c42\u3081\u3089\u308c\u307e\u3059\uff0e

\n
\n\n
\n
\n
$ clamscan ./wifiaudio_linux (1)\n$ sha512sum ./wifiaudio_linux\n6c78f47066ad550b988468c74e9bd56e099393a61a11ffffeda31fc181c60cbd5209763e80da9000d6453fef5cc829b9329b26d46993cc3f00c0bb76ffc81864  ./wifiaudio_linux\n$ chmod u+x ./wifiaudio_linux (2)\n$ ./wifiaudio_linux (3)
\n
\n
\n
\n
    \n
  1. \u5ff5\u306e\u70ba\u624b\u52d5\u3067\u3082\u30a6\u30a3\u30eb\u30b9\u78ba\u8a8d
  2. \n
  3. \u5b9f\u884c\u6a29\u4ed8\u4e0e
  4. \n
  5. \u5b9f\u884c
  6. \n
\n
\n
\n
\n
$ lsof -i | grep wifiaudio\nwifiaudio 1818239 matoken   12u  IPv4 15191466      0t0  UDP *:32000
\n
\n
\n
\n

\u5229\u7528\u30dd\u30fc\u30c8\u3092\u78ba\u8a8d\u3059\u308b\u3068 UDP:32000 \u306e\u3088\u3046\u306a\u306e\u3067\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u3092\u5229\u7528\u3057\u3066\u3044\u308b\u5834\u5408\u306f\u958b\u653e\u3057\u3066\u304a\u304d\u307e\u3059\uff0e

\n
\n
\n
\n\"WiFiAudio
\n
\n
\n
\n\"WiFiAudio
\n
\n
\n
\n
\n

\u300cffmpeg\u3068VLC\u300d

\n
\n
\n

\u30af\u30ed\u30fc\u30ba\u30c9\u30bd\u30fc\u30b9\u306e\u3082\u306e\u3057\u304b\u898b\u5f53\u305f\u3089\u306a\u3044\u306a\u3068\u3044\u3046\u3053\u3068\u3067\u4f8b\u306b\u3088\u3063\u3066ffmpeg\u3067\u8a66\u3057\u3066\u307f\u307e\u3059\uff0e
\n\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u97f3\u58f0\u3092\u30ad\u30e3\u30d7\u30c1\u30e3\u3057\u3066mp3\u5f62\u5f0f\u3067\u30b9\u30de\u30fc\u30c8\u30d5\u30a9\u30f3\u306eip\u30a2\u30c9\u30ec\u30b9\u306b\u914d\u4fe1\u3057\u307e\u3059\uff0e

\n
\n
\n
\n
$ pactl list short sources (1)\n0       alsa_output.pci-0000_00_1b.0.analog-stereo.monitor      module-alsa-card.c      s16le 2ch 44100Hz       RUNNING\n1       alsa_input.pci-0000_00_1b.0.analog-stereo       module-alsa-card.c      s16le 2ch 48000Hz       RUNNING\n2       alsa_input.pci-0000_00_1b.0.analog-stereo.echo-cancel   module-echo-cancel.c    float32le 1ch 32000Hz   RUNNING\n3       alsa_output.pci-0000_00_1b.0.analog-stereo.echo-cancel.monitor  module-echo-cancel.c    float32le 1ch 32000Hz   RUNNING\n4       alsa_input.hw_Loopback_1_0      module-alsa-source.c    s16le 1ch 16000Hz       RUNNING\n$ ffmpeg -f pulse -i alsa_output.pci-0000_00_1b.0.analog-stereo.monitor -ac 2 -acodec libmp3lame -f rtp rtp://10.42.0.90:1234/ (2)
\n
\n
\n
\n
    \n
  1. PulseAudio\u306e\u30c7\u30d0\u30a4\u30b9\u3092\u78ba\u8a8d
  2. \n
  3. ffmpeg\u3067Android\u306eIP\u306b\u5bfe\u3057\u3066mp3\u5f62\u5f0f\u3067\u914d\u4fe1
  4. \n
\n
\n
\n

\u3053\u306e\u72b6\u614b\u3067VLC\u7b49\u3067 rtp://@:1234 \u3092\u518d\u751f\u3059\u308b\u3068LinuxDesktop\u306e\u97f3\u304c\u6d41\u308c\u3066\u304d\u307e\u3059\uff0e

\n
\n\n
\n

ffmpeg\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u3064\u3044\u3066\u306f\u3053\u306e\u3042\u305f\u308a\u3092\uff0e

\n
\n\n
\n

Android\u3067mDNS\u304c\u4f7f\u3048\u308c\u3070\u3044\u3044\u306e\u3067\u3059\u304c\uff0c\u4f7f\u3048\u306a\u3055\u305d\u3046\u306a\u306e\u3067IP\u30a2\u30c9\u30ec\u30b9\u3092\u78ba\u8a8d\u3059\u308b\u306e\u304c\u3061\u3087\u3063\u3068\u3081\u3093\u3069\u3046\u3067\u3059\u306d\uff0e\u56fa\u5b9aIP\u306b\u3057\u305f\u308a\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u914d\u4fe1\u3057\u3066\u3057\u307e\u3063\u3066\u3082\u3044\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e

\n
\n
\n

\u3068\u308a\u3042\u3048\u305a\u306farp\u3067\u3054\u307e\u304b\u3057\u3066\u307f\u307e\u3057\u305f\uff0e

\n
\n
\n
\n
#!/bin/bash\n\nMONITOR=`pactl list short sources | grep analog-stereo.monitor | cut -f2 -d'    '`\nPHONE_MAC=18:d6:1c:00:00:00\nPHONE_IP=`arp -i wlp3s0 | grep ${PHONE_MAC} | cut -f1 -d' '`\nPORT=1234\n\nffmpeg -f pulse -i ${MONITOR} -acodec libmp3lame -ar 22050 -f rtp rtp://${PHONE_IP}:${PORT}/
\n
\n
\n
\n

\"VLC

\n
\n
\n
\n
\n

\u300cffmpeg\u3068icecast2\u300d

\n
\n
\n

Wi-Fi\u306e\u5c4a\u304f\u81ea\u5b85\u5185\u3067\u3042\u308c\u3070\u3053\u308c\u307e\u3067\u306e\u3082\u306e\u3067\u3044\u3044\u3067\u3059\u304c\uff0c\u9577\u4e01\u5834\u3067\u3054\u98ef\u8cb7\u3044\u306b\u30b3\u30f3\u30d3\u30cb\u307e\u3067\u884c\u3063\u3066\u3053\u3088\u3046\u3068\u3044\u3046\u3088\u3046\u306a\u6642\u306b\u306f\u4f7f\u3048\u307e\u305b\u3093\uff0e

\n
\n
\n

\u5916\u306e\u30b5\u30fc\u30d0\u30fc\u306b\u6295\u3052\u3066\u30b9\u30c8\u30ea\u30fc\u30df\u30f3\u30b0\u3057\u3066\u307f\u307e\u3059\uff0e\u4eca\u56de\u306ficecast2\u3092\u5229\u7528\u3057\u3066\u3044\u307e\u3059\uff0e

\n
\n
\n
\n
$ ffmpeg -f pulse -i alsa_output.platform-snd_aloop.0.analog-stereo.monitor -loglevel 31 -stats -f adts -content_type audio/aac icecast://$USER:PASS@example.com:8000/stream
\n
\n
\n
\n

Android\u3067icecast2\u306eurl\u3092\u958b\u304f\u3068Linux\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u306e\u97f3\u304c\u805e\u3053\u3048\u3066\u304d\u307e\u3059 :)
\nffmpeg\u306e\u90e8\u5206\u3092OBS Studio\u306b\u3059\u308b\u3068GUI\u306a\u306e\u3067\u3068\u3063\u3064\u304d\u3084\u3059\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u306d\uff0e

\n
\n
\n

\u5e2f\u57df\u304c\u6c17\u306b\u306a\u308b\u5834\u5408\u306f\u30d3\u30c3\u30c8\u30ec\u30fc\u30c8\u3092\u843d\u3068\u3059\u3068\u3044\u3044\u3068\u601d\u3044\u307e\u3059\uff0e\u3053\u306e\u307e\u307e\u3060\u3068128kbps\u7a0b\u3067\u3059\u304c\uff0c -ar 22050 \u3068\u3057\u3066 64kbps\uff0c -ar 11025 \u3092\u3064\u3051\u308b\u306832kbps\u306b\u306a\u308a\u307e\u3059\uff0e
\n32kbps\u306f\u3061\u3087\u3063\u3068\u97f3\u304c\u60aa\u3044\u611f\u3058\u306a\u306e\u3067\uff0c64kbps\u4ee5\u4e0a\u306f\u6b32\u3057\u3044\u304b\u306a?

\n
\n
\n

icecast2\u306a\u3069\u306f\u3053\u306e\u3042\u305f\u308a\u3067\u3082

\n
\n\n
\n

\u3061\u306a\u307f\u306b\uff0cVPS\u306a\u3069\u306e\u30b5\u30a6\u30f3\u30c9\u30ab\u30fc\u30c9\u306e\u306a\u3044\u8a08\u7b97\u6a5f\u306e\u5834\u5408\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u30c0\u30df\u30fc\u30c7\u30d0\u30a4\u30b9\u3092\u8aad\u307f\u8fbc\u3080\u3053\u3068\u3067\u540c\u3058\u3053\u3068\u304c\u51fa\u6765\u3066\u4fbf\u5229\u3067\u3059\uff0e
\n\u5e2f\u57df\u304c\u7d30\u304b\u3063\u305f\u308aPC\u306e\u30b9\u30da\u30c3\u30af\u304c\u8db3\u308a\u306a\u3044\u3051\u3069\u97f3\u58f0\u3060\u3051\u3067\u3082\u805e\u304d\u305f\u3044\u3068\u3044\u3063\u305f\u3068\u304d\u306a\u3069\u306b\u4f7f\u3048\u307e\u3059\uff0e

\n
\n
\n
\n
$ sudo modprobe -v snd-dummy\ninsmod /lib/modules/4.19.0-14-amd64/kernel/sound/drivers/snd-dummy.ko
\n
\n
\n
\n
\n
\n

\u7d42\u308f\u308a\u306b

\n
\n
\n

SoundWire\u3068WifiAudio\u3067\u306fLinux\u3067\u306fSoundWire\u306e\u65b9\u304c\u3044\u3044\u304b\u306a\u3068\u3044\u3046\u611f\u3058\u3067\u3059\uff0e\u3057\u304b\u3057ffmpeg+VLC\u3067\u3044\u3044\u306e\u3067\u306f\u3068\u3044\u3046\u611f\u3058\u3082\uff0e
\nPC\u5074\u306e\u64cd\u4f5c\u3067\u3059\u304c\uff0c\u30dc\u30ea\u30e5\u30fc\u30e0\u306f\u53cd\u6620\u3055\u308c\u305a\u97f3\u91cf0\u3067\u3082\u914d\u4fe1\u3055\u308c\u307e\u3059\u304c\uff0c\u30df\u30e5\u30fc\u30c8\u3059\u308b\u3068\u805e\u3053\u3048\u306a\u304f\u306a\u308b\u306e\u3067\u6ce8\u610f\u304c\u5fc5\u8981\u3067\u3059\uff0e
\n\u518d\u751f\u30c7\u30d0\u30a4\u30b9\u306b\u8ff7\u3063\u305f\u5834\u5408\u306f pavucontrol \u306a\u3069\u3067 Recordicg \u30bf\u30d6\u3067\u30d7\u30eb\u30c0\u30a6\u30f3\u30e1\u30cb\u30e5\u30fc\u304b\u3089\u30c7\u30d0\u30a4\u30b9\u3092\u9806\u756a\u306b\u8a66\u3057\u3066\u3044\u304f\u3068\u3044\u3044\u3068\u601d\u3044\u307e\u3059\uff0e\u97f3\u306f\u51fa\u308b\u3051\u3069\u30ce\u30a4\u30ba\u304c\u591a\u3044\u5834\u5408\u306f\u30b9\u30d4\u30fc\u30ab\u30fc\u304b\u3089\u306e\u97f3\u3092\u62fe\u3063\u3066\u3044\u308b\u30de\u30a4\u30af\u30c7\u30d0\u30a4\u30b9\u3092\u9078\u3093\u3067\u8981\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\uff0e

\n
\n
\n

\u305d\u3057\u3066\u73fe\u5728\u81ea\u5b85\u306eWi-Fi\u306f\u53bb\u5e74\u306e\u53f0\u98a8\u6642\u306b\u58ca\u308c\u3066NotePC\u3092AP\u306b\u3057\u3066\u3044\u3066\u90e8\u5c4b\u3092\u51fa\u308b\u3068\u96fb\u6ce2\u304c\u5c4a\u304b\u305a\u5b9f\u969b\u306f\u5bb6\u306e\u4e2d\u3067\u306f\u3069\u308c\u3082\u4f7f\u3048\u306a\u3044\u3068\u3044\u3046\u554f\u984c\u304c\uff0e\u5bb6\u3092\u51fa\u3066\u5c11\u3057\u884c\u304f\u3068mobile\u56de\u7dda\u4f7f\u3048\u308b\u3093\u3067\u3059\u3051\u3069\u306d\u2026\u2026\uff0e

\n
\n
\n
\n
\n

\u74b0\u5883

\n
\n
\n
PC\u74b0\u5883
\n
\n
$ SoundWireServer/SoundWireServer -nogui\n    :\nSoundWire Server v3.0\n    :\n\n$ dpkg-query -W ffmpeg lsof\nffmpeg  7:4.3.1-8\nlsof    4.93.2+dfsg-1.1\n$ lsb_release -dr\nDescription:    Debian GNU/Linux bullseye/sid\nRelease:        unstable\n$ uname -m\nx86_64
\n
\n
\n
\n
Android\u74b0\u5883
\n
\n
SoundWire (free)
\n
Version 3.0
\n
WiFiAudio
\n
Version 2.0
\n
VLC
\n
Version 3.3.4
\n
\u672c\u4f53
\n
Rakuten mini(C330)
\n
Android
\n
9(\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 \u30a2\u30c3\u30d7\u30c7\u30fc\u30c8:2020\u5e7412\u67085\u65e5)
\n
\n
\n
\n
\n

\n", "content_text": "\u4ee5\u4e0b\u306e\u8a18\u4e8b\u3067\u300cAudioRelay\u300d\u3068\u3044\u3046\u30a2\u30d7\u30ea\u3092\u77e5\u308a\u307e\u3057\u305f\uff0e\n\n\n\nWeb\u4f1a\u8b70\u4e2d\u306b\u5e2d\u3092\u5916\u3059\u3001\u97f3\u58f0\u3060\u3051\u3067\u3082\u30b9\u30de\u30db\u3067\u805e\u304d\u305f\u3044\u3068\u304d\u306b\u4f7f\u3046\u30a2\u30d7\u30ea\u300cAudioRelay\u300d – \u30b1\u30fc\u30bf\u30a4 Watch\nStream your PC audio to your phone – AudioRelay\n\n\n\n\u3061\u3087\u3063\u3068\u98f2\u307f\u7269\u3092\u53d6\u3063\u3066\u304f\u308b\u3068\u304b\u3044\u3046\u3068\u304d\u306a\u3069\u306b\u4fbf\u5229\u305d\u3046\uff0e\n\u3057\u304b\u3057\u3053\u308c\u306fWindows\u304b\u3089Android\u3078\u8ee2\u9001\u3059\u308b\u3082\u306e\u3067\u4ed6\u306e\u74b0\u5883\u3067\u306f\u52d5\u4f5c\u3057\u307e\u305b\u3093\uff0eLinux\u3067\u3082\u52d5\u4f5c\u3059\u308b\u3082\u306e\u3092\u63a2\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\n\n\nAudioRelay Alternatives for Linux | AlternativeTo\n\n\n\n\n\n\u300cSoundWire\u300d\n\n\nSoundWire\u306fWindow\u82e5\u3057\u304f\u306fLinux x64_64(64bit)/x86(32bit)\uff0cRaspberry Pi OS\u304b\u3089Android\u3078\u30aa\u30fc\u30c7\u30a3\u30aa\u3092\u8ee2\u9001\u3057\u3066\u304f\u308c\u308b\u3088\u3046\u3067\u3059\uff0e\n\n\n\nGeorgieLabs\nSoundWire (free) – Google Play \u306e\u30a2\u30d7\u30ea\nSoundWire – Google Play \u306e\u30a2\u30d7\u30ea\n\n\n\n\u30d0\u30a4\u30ca\u30ea\u304c\u914d\u5e03\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u5bfe\u5fdc\u3059\u308b\u305d\u308c\u3092\u5165\u624b\u3057\u3066\u5c55\u958b\uff0c\u5b9f\u884c\u3057\u3066Android\u30a2\u30d7\u30ea\u304b\u3089\u63a5\u7d9a\u3059\u308c\u3070\u30aa\u30fc\u30c7\u30a3\u30aa\u304c\u8ee2\u9001\u3055\u308c\u307e\u3059\uff0e\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u30d5\u30a1\u30a4\u30eb\u3084\u30a2\u30a4\u30b3\u30f3\u3082\u540c\u68b1\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u5fc5\u8981\u306b\u5fdc\u3058\u3066\u767b\u9332\u3059\u308b\u3068\u4fbf\u5229\u305d\u3046\u3067\u3059\uff0e\n\n\n\n$ tar tvf SoundWire_Server_linux64.tar.gz (1)\ndrwxrwxrwx Georgie/None 0 2020-01-26 21:22 SoundWireServer/\n-rwxrwxrwx Georgie/None 2913 2020-01-16 09:00 SoundWireServer/INSTALL.txt\n-rwxrwxrwx Georgie/None 1393 2020-01-16 08:46 SoundWireServer/license.txt\n-rwxrwxrwx Georgie/None 2235 2014-09-16 09:08 SoundWireServer/opus_license.txt\n-rwxrwxrwx Georgie/None 1583 2014-09-16 09:09 SoundWireServer/readerwriterqueue_license.txt\n-rwxrwxrwx Georgie/None 6915 2020-01-26 21:22 SoundWireServer/README.txt\n-rwxrwxrwx Georgie/None 448 2019-12-31 11:00 SoundWireServer/SoundWire-Server.desktop\n-rwxrwxrwx Georgie/None 1611672 2020-01-16 11:55 SoundWireServer/SoundWireServer\n-rwxrwxrwx Georgie/None 237351 2012-11-22 17:28 SoundWireServer/sw-icon.xpm\n$ tar xf SoundWire_Server_linux64.tar.gz (2)\n$ clamscan SoundWireServer/SoundWireServer (3)\n$ ha512sum SoundWireServer/SoundWireServer\na0c1da0afad9e94aef82e19b2555ccf33494ec56fdbd6193a838beae31cec58ca75cae1949f520db84c6793bab13c9c3283b519416bebb1c54bbd66b5c489676 SoundWireServer/SoundWireServer\n$ SoundWireServer/SoundWireServer (4)\n\n\n\n\n\u30a2\u30fc\u30ab\u30a4\u30d6\u306e\u78ba\u8a8d\n\u30a2\u30fc\u30ab\u30a4\u30d6\u306e\u5c55\u958b\n\u5ff5\u306e\u70ba\u624b\u52d5\u3067\u3082\u30a6\u30a3\u30eb\u30b9\u78ba\u8a8d\n\u5b9f\u884c\n\n\n\n\u30bd\u30fc\u30b9\u306f\u516c\u958b\u3055\u308c\u3066\u3044\u306a\u3044\u3088\u3046\u3067\u3059\uff0e\n\n\n\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u3092\u5229\u7528\u3057\u3066\u3044\u308b\u5834\u5408\u306f\uff0cUDP:59010, 59011 \u3092\u958b\u653e\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u3088\u3046\u3067\u3059\uff0e(\u8d77\u52d5\u30aa\u30d7\u30b7\u30e7\u30f3\u3084\u74b0\u5883\u5909\u6570\u3067\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u53ef\u80fd)\n\u305d\u306e\u4ed6\uff0c -nogui \u30aa\u30d7\u30b7\u30e7\u30f3\u3067X\u7121\u3057\u3067\u3082\u52d5\u4f5c\u3057\u307e\u3059\uff0e\n\n\n\n\n\n\n\n\n\n\n\u300cWifiAudio\u300d\n\n\n\u300cWifiAudio\u300d\u306fWindows\u82e5\u3057\u304f\u306fLinux x86_64(64bit)\u304b\u3089Android\u3078\u30aa\u30fc\u30c7\u30a3\u30aa\u3092\u8ee2\u9001\u3057\u3066\u304f\u308c\u308b\u3088\u3046\u3067\u3059\uff0e\n\n\n\nHome | WiFiAudio – Use Android Device as Wireless speaker for Windows/Linux\nwireless speaker for android – Google Play \u306e\u30a2\u30d7\u30ea\n\n\n\nPC\u5074\u306f\u4ee5\u4e0b\u306e\u30da\u30fc\u30b8\u3067\u30d0\u30a4\u30ca\u30ea\u304c\u914d\u5e03\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u3059\u304c\uff0c\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b\u306b\u306f\u30d5\u30a9\u30fc\u30e9\u30e0\u306b\u767b\u9332\u304c\u5fc5\u8981\u306e\u3088\u3046\u3067\u3059\uff0e\u767b\u9332\u306b\u306f\u6c0f\u540d\uff0c\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\uff0c\u751f\u5e74\u6708\u65e5\u306a\u3069\u3092\u6c42\u3081\u3089\u308c\u307e\u3059\uff0e\n\n\n\nWifiaudio Support and Links to Download PC application | WiFiAudio – Use Android Device as Wireless speaker for Windows/Linux\n\n\n\n\n$ clamscan ./wifiaudio_linux (1)\n$ sha512sum ./wifiaudio_linux\n6c78f47066ad550b988468c74e9bd56e099393a61a11ffffeda31fc181c60cbd5209763e80da9000d6453fef5cc829b9329b26d46993cc3f00c0bb76ffc81864 ./wifiaudio_linux\n$ chmod u+x ./wifiaudio_linux (2)\n$ ./wifiaudio_linux (3)\n\n\n\n\n\u5ff5\u306e\u70ba\u624b\u52d5\u3067\u3082\u30a6\u30a3\u30eb\u30b9\u78ba\u8a8d\n\u5b9f\u884c\u6a29\u4ed8\u4e0e\n\u5b9f\u884c\n\n\n\n\n$ lsof -i | grep wifiaudio\nwifiaudio 1818239 matoken 12u IPv4 15191466 0t0 UDP *:32000\n\n\n\n\u5229\u7528\u30dd\u30fc\u30c8\u3092\u78ba\u8a8d\u3059\u308b\u3068 UDP:32000 \u306e\u3088\u3046\u306a\u306e\u3067\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u3092\u5229\u7528\u3057\u3066\u3044\u308b\u5834\u5408\u306f\u958b\u653e\u3057\u3066\u304a\u304d\u307e\u3059\uff0e\n\n\n\n\n\n\n\n\n\n\n\n\n\u300cffmpeg\u3068VLC\u300d\n\n\n\u30af\u30ed\u30fc\u30ba\u30c9\u30bd\u30fc\u30b9\u306e\u3082\u306e\u3057\u304b\u898b\u5f53\u305f\u3089\u306a\u3044\u306a\u3068\u3044\u3046\u3053\u3068\u3067\u4f8b\u306b\u3088\u3063\u3066ffmpeg\u3067\u8a66\u3057\u3066\u307f\u307e\u3059\uff0e\n\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u97f3\u58f0\u3092\u30ad\u30e3\u30d7\u30c1\u30e3\u3057\u3066mp3\u5f62\u5f0f\u3067\u30b9\u30de\u30fc\u30c8\u30d5\u30a9\u30f3\u306eip\u30a2\u30c9\u30ec\u30b9\u306b\u914d\u4fe1\u3057\u307e\u3059\uff0e\n\n\n\n$ pactl list short sources (1)\n0 alsa_output.pci-0000_00_1b.0.analog-stereo.monitor module-alsa-card.c s16le 2ch 44100Hz RUNNING\n1 alsa_input.pci-0000_00_1b.0.analog-stereo module-alsa-card.c s16le 2ch 48000Hz RUNNING\n2 alsa_input.pci-0000_00_1b.0.analog-stereo.echo-cancel module-echo-cancel.c float32le 1ch 32000Hz RUNNING\n3 alsa_output.pci-0000_00_1b.0.analog-stereo.echo-cancel.monitor module-echo-cancel.c float32le 1ch 32000Hz RUNNING\n4 alsa_input.hw_Loopback_1_0 module-alsa-source.c s16le 1ch 16000Hz RUNNING\n$ ffmpeg -f pulse -i alsa_output.pci-0000_00_1b.0.analog-stereo.monitor -ac 2 -acodec libmp3lame -f rtp rtp://10.42.0.90:1234/ (2)\n\n\n\n\nPulseAudio\u306e\u30c7\u30d0\u30a4\u30b9\u3092\u78ba\u8a8d\nffmpeg\u3067Android\u306eIP\u306b\u5bfe\u3057\u3066mp3\u5f62\u5f0f\u3067\u914d\u4fe1\n\n\n\n\u3053\u306e\u72b6\u614b\u3067VLC\u7b49\u3067 rtp://@:1234 \u3092\u518d\u751f\u3059\u308b\u3068LinuxDesktop\u306e\u97f3\u304c\u6d41\u308c\u3066\u304d\u307e\u3059\uff0e\n\n\n\nVLC for Android – Google Play \u306e\u30a2\u30d7\u30ea\n\n\n\nffmpeg\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u3064\u3044\u3066\u306f\u3053\u306e\u3042\u305f\u308a\u3092\uff0e\n\n\n\nCapture/PulseAudio \u2013 FFmpeg\nCapture/ALSA \u2013 FFmpeg\nStreamingGuide \u2013 FFmpeg\n\n\n\nAndroid\u3067mDNS\u304c\u4f7f\u3048\u308c\u3070\u3044\u3044\u306e\u3067\u3059\u304c\uff0c\u4f7f\u3048\u306a\u3055\u305d\u3046\u306a\u306e\u3067IP\u30a2\u30c9\u30ec\u30b9\u3092\u78ba\u8a8d\u3059\u308b\u306e\u304c\u3061\u3087\u3063\u3068\u3081\u3093\u3069\u3046\u3067\u3059\u306d\uff0e\u56fa\u5b9aIP\u306b\u3057\u305f\u308a\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u914d\u4fe1\u3057\u3066\u3057\u307e\u3063\u3066\u3082\u3044\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e\n\n\n\u3068\u308a\u3042\u3048\u305a\u306farp\u3067\u3054\u307e\u304b\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\n\n\n#!/bin/bash\n\nMONITOR=`pactl list short sources | grep analog-stereo.monitor | cut -f2 -d' '`\nPHONE_MAC=18:d6:1c:00:00:00\nPHONE_IP=`arp -i wlp3s0 | grep ${PHONE_MAC} | cut -f1 -d' '`\nPORT=1234\n\nffmpeg -f pulse -i ${MONITOR} -acodec libmp3lame -ar 22050 -f rtp rtp://${PHONE_IP}:${PORT}/\n\n\n\n\n\n\n\n\n\u300cffmpeg\u3068icecast2\u300d\n\n\nWi-Fi\u306e\u5c4a\u304f\u81ea\u5b85\u5185\u3067\u3042\u308c\u3070\u3053\u308c\u307e\u3067\u306e\u3082\u306e\u3067\u3044\u3044\u3067\u3059\u304c\uff0c\u9577\u4e01\u5834\u3067\u3054\u98ef\u8cb7\u3044\u306b\u30b3\u30f3\u30d3\u30cb\u307e\u3067\u884c\u3063\u3066\u3053\u3088\u3046\u3068\u3044\u3046\u3088\u3046\u306a\u6642\u306b\u306f\u4f7f\u3048\u307e\u305b\u3093\uff0e\n\n\n\u5916\u306e\u30b5\u30fc\u30d0\u30fc\u306b\u6295\u3052\u3066\u30b9\u30c8\u30ea\u30fc\u30df\u30f3\u30b0\u3057\u3066\u307f\u307e\u3059\uff0e\u4eca\u56de\u306ficecast2\u3092\u5229\u7528\u3057\u3066\u3044\u307e\u3059\uff0e\n\n\n\n$ ffmpeg -f pulse -i alsa_output.platform-snd_aloop.0.analog-stereo.monitor -loglevel 31 -stats -f adts -content_type audio/aac icecast://$USER:PASS@example.com:8000/stream\n\n\n\nAndroid\u3067icecast2\u306eurl\u3092\u958b\u304f\u3068Linux\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u306e\u97f3\u304c\u805e\u3053\u3048\u3066\u304d\u307e\u3059 :)\nffmpeg\u306e\u90e8\u5206\u3092OBS Studio\u306b\u3059\u308b\u3068GUI\u306a\u306e\u3067\u3068\u3063\u3064\u304d\u3084\u3059\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u306d\uff0e\n\n\n\u5e2f\u57df\u304c\u6c17\u306b\u306a\u308b\u5834\u5408\u306f\u30d3\u30c3\u30c8\u30ec\u30fc\u30c8\u3092\u843d\u3068\u3059\u3068\u3044\u3044\u3068\u601d\u3044\u307e\u3059\uff0e\u3053\u306e\u307e\u307e\u3060\u3068128kbps\u7a0b\u3067\u3059\u304c\uff0c -ar 22050 \u3068\u3057\u3066 64kbps\uff0c -ar 11025 \u3092\u3064\u3051\u308b\u306832kbps\u306b\u306a\u308a\u307e\u3059\uff0e\n32kbps\u306f\u3061\u3087\u3063\u3068\u97f3\u304c\u60aa\u3044\u611f\u3058\u306a\u306e\u3067\uff0c64kbps\u4ee5\u4e0a\u306f\u6b32\u3057\u3044\u304b\u306a?\n\n\nicecast2\u306a\u3069\u306f\u3053\u306e\u3042\u305f\u308a\u3067\u3082\n\n\n\nwebapp:icecast2 [wiki.matoken.org]\nYoutubeLive\u3092\u7d30\u3044\u56de\u7dda\u3067\u300c\u8074\u304f\u300d | edocr\n\n\n\n\n\n\n\u3061\u306a\u307f\u306b\uff0cVPS\u306a\u3069\u306e\u30b5\u30a6\u30f3\u30c9\u30ab\u30fc\u30c9\u306e\u306a\u3044\u8a08\u7b97\u6a5f\u306e\u5834\u5408\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u30c0\u30df\u30fc\u30c7\u30d0\u30a4\u30b9\u3092\u8aad\u307f\u8fbc\u3080\u3053\u3068\u3067\u540c\u3058\u3053\u3068\u304c\u51fa\u6765\u3066\u4fbf\u5229\u3067\u3059\uff0e\n\u5e2f\u57df\u304c\u7d30\u304b\u3063\u305f\u308aPC\u306e\u30b9\u30da\u30c3\u30af\u304c\u8db3\u308a\u306a\u3044\u3051\u3069\u97f3\u58f0\u3060\u3051\u3067\u3082\u805e\u304d\u305f\u3044\u3068\u3044\u3063\u305f\u3068\u304d\u306a\u3069\u306b\u4f7f\u3048\u307e\u3059\uff0e\n\n\n\n$ sudo modprobe -v snd-dummy\ninsmod /lib/modules/4.19.0-14-amd64/kernel/sound/drivers/snd-dummy.ko\n\n\n\n\n\n\u7d42\u308f\u308a\u306b\n\n\nSoundWire\u3068WifiAudio\u3067\u306fLinux\u3067\u306fSoundWire\u306e\u65b9\u304c\u3044\u3044\u304b\u306a\u3068\u3044\u3046\u611f\u3058\u3067\u3059\uff0e\u3057\u304b\u3057ffmpeg+VLC\u3067\u3044\u3044\u306e\u3067\u306f\u3068\u3044\u3046\u611f\u3058\u3082\uff0e\nPC\u5074\u306e\u64cd\u4f5c\u3067\u3059\u304c\uff0c\u30dc\u30ea\u30e5\u30fc\u30e0\u306f\u53cd\u6620\u3055\u308c\u305a\u97f3\u91cf0\u3067\u3082\u914d\u4fe1\u3055\u308c\u307e\u3059\u304c\uff0c\u30df\u30e5\u30fc\u30c8\u3059\u308b\u3068\u805e\u3053\u3048\u306a\u304f\u306a\u308b\u306e\u3067\u6ce8\u610f\u304c\u5fc5\u8981\u3067\u3059\uff0e\n\u518d\u751f\u30c7\u30d0\u30a4\u30b9\u306b\u8ff7\u3063\u305f\u5834\u5408\u306f pavucontrol \u306a\u3069\u3067 Recordicg \u30bf\u30d6\u3067\u30d7\u30eb\u30c0\u30a6\u30f3\u30e1\u30cb\u30e5\u30fc\u304b\u3089\u30c7\u30d0\u30a4\u30b9\u3092\u9806\u756a\u306b\u8a66\u3057\u3066\u3044\u304f\u3068\u3044\u3044\u3068\u601d\u3044\u307e\u3059\uff0e\u97f3\u306f\u51fa\u308b\u3051\u3069\u30ce\u30a4\u30ba\u304c\u591a\u3044\u5834\u5408\u306f\u30b9\u30d4\u30fc\u30ab\u30fc\u304b\u3089\u306e\u97f3\u3092\u62fe\u3063\u3066\u3044\u308b\u30de\u30a4\u30af\u30c7\u30d0\u30a4\u30b9\u3092\u9078\u3093\u3067\u8981\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\uff0e\n\n\n\u305d\u3057\u3066\u73fe\u5728\u81ea\u5b85\u306eWi-Fi\u306f\u53bb\u5e74\u306e\u53f0\u98a8\u6642\u306b\u58ca\u308c\u3066NotePC\u3092AP\u306b\u3057\u3066\u3044\u3066\u90e8\u5c4b\u3092\u51fa\u308b\u3068\u96fb\u6ce2\u304c\u5c4a\u304b\u305a\u5b9f\u969b\u306f\u5bb6\u306e\u4e2d\u3067\u306f\u3069\u308c\u3082\u4f7f\u3048\u306a\u3044\u3068\u3044\u3046\u554f\u984c\u304c\uff0e\u5bb6\u3092\u51fa\u3066\u5c11\u3057\u884c\u304f\u3068mobile\u56de\u7dda\u4f7f\u3048\u308b\u3093\u3067\u3059\u3051\u3069\u306d\u2026\u2026\uff0e\n\n\n\n\n\u74b0\u5883\n\n\nPC\u74b0\u5883\n\n$ SoundWireServer/SoundWireServer -nogui\n :\nSoundWire Server v3.0\n :\n\n$ dpkg-query -W ffmpeg lsof\nffmpeg 7:4.3.1-8\nlsof 4.93.2+dfsg-1.1\n$ lsb_release -dr\nDescription: Debian GNU/Linux bullseye/sid\nRelease: unstable\n$ uname -m\nx86_64\n\n\n\nAndroid\u74b0\u5883\n\nSoundWire (free)\nVersion 3.0\nWiFiAudio\nVersion 2.0\nVLC\nVersion 3.3.4\n\u672c\u4f53\nRakuten mini(C330)\nAndroid\n9(\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 \u30a2\u30c3\u30d7\u30c7\u30fc\u30c8:2020\u5e7412\u67085\u65e5)", "date_published": "2021-02-15T23:07:55+09:00", "date_modified": "2021-02-15T23:07:55+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "SoundWire", "streaming", "VLC", "WiFiAudio", "Debian", "Linux", "sid" ] } ] }