手元に https://www.amazon.co.jp/dp/B00VDSFXDC/ の RTL-SDR があるので,ひとまず FM を聞いてみる.何故かリモート計算機に RTL-SDR を接続してあるので,リモートでごにょごにょするメモ.
リモートサーバ(hoge; 実際には手元)で起動している pulseaudio にデータを送って,それで聞く.
% export PULSE_SERVER=hoge
% sudo rtl_fm -f 80.4M -Mwbfm | ffplay - -f s16le -nodisp -ar 32000
環境変数 PULSE_SERVER
については こちら 参照.なお,この場合 hoge 側で TCP/IP で受けられる設定が必要.
/etc/pulse/default.pa
を~/.config/pulse/default.pa
に copy して,load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/24 auth-anonymous=1
とかを書く(192.168.0.0/24
はローカルネットワーク)systemctl --user status pulseaudio.service
で pulseaudio 再起動
あるいは,nc で送って,ただし AAC で圧縮する.
@hoge
% nc -l -p 2000 | ffplay - -f aac
@RTL-SDR
% sudo rtl_fm -f 80.4M -Mwbfm | ffmpeg -f s16le -ar 32000 -i - -f adts -y /dev/stdout | nc hoge 2000
先に hoge 側で nc
を起動しておく必要があるし,接続が途絶えると nc
の process が終了する.
なお,-Mwbfm
は -M fm -s 170k -o 4 -A fast -r 32k -l 0 -E deemp
と同じで,ffmpeg
や ffplay
の -ar 32000
はこれ由来のオーディオサンプリングレート.