CentOS8で構築する自宅サーバ:StreamRipperでエアチェック

CentOS8パソコン自宅サーバ

インターネットラジオから、StreamRipperを使って、こんな風に録音してます。

[zeke@ace StreamRipper]$ cat check_ripper.sh
#!/bin/sh
cd /home/zeke/StreamRipper/AnimeRadio.SU/

#PID=`ps ax | grep streamripper | grep -v grep | grep -v check | sed -e 's/^  *//' -e 's/ .*//'`
#if [ "${PID}" = "" ]; then
#       /usr/local/bin/streamripper http://animeradio.su:8000/ -d /home/zeke/StreamRipper/ -l 9000 -c -q -u "VLC/2.2.6 LibVLC/2.2.6" --quiet >/dev/null 2>&1
#fi

rm -f *.core

ls -t *.mp3 | sed -e 's/\$/"\$"/g' | sed -e 's/`/"\\`"/g' | tail -n +31 | awk '{print "rm \""$0"\""}' | sh

eyeD3 -A "AnimeRadio" -G 145 --add-image ../gar.png:OTHER --preserve-file-times . >/dev/null 2>&1

cd incomplete/
ls -t *.mp3 | sed -e 's/\$/"\$"/g' | sed -e 's/`/"\\`"/g' | tail -n +2 | awk '{print "rm \""$0"\""}' | sh

cd ../
ls -t *.mp3 | sed -e 's/\$/"\$"/g' | sed -e 's/`/"\\`"/g' | awk '{print "cp -fp \""$0"\" ../Music"}' | sh

cd ../Music
ls -t *.mp3 | sed -e 's/\$/"\$"/g' | sed -e 's/`/"\\`"/g' | tail -n +421 | awk '{print "rm \""$0"\""}' | sh

[zeke@ace StreamRipper]$

このシェルをcronで1日1回実行です。

内容は

  • StreamRipperが立ち上がっていなかったら、起動。9000秒(2.5時間)録音し続けます。録音したファイルは曲ごとに分かれて、StreamRipper/AnimeRadio.SU/に貯まります。
  • 録音し終わったら、最新30曲を残して削除します。
  • mp3ファイルには、StreamRipperが曲名、アーティスト名をつけているので、アルバム名とジャケット写真を追加します。
  • StreamRipper/AnimeRadio.SU/incomplete/内のファイルを削除します。
  • StreamRipper/AnimeRadio.SU/ 内の30曲をStreamRipper/Musicにコピーします。
  • StreamRipper/Musicから最新420曲を残して削除します。

StreamRipper/Music内には最新2週間分の曲が入っているので、スマホと1日1回自動同期します。

結構このシェルは苦労しました。ファイル名にスペース、ドル記号($)、アクセント記号(`)が入っていることがあるので、それに対応しています。

CentOS8のlsコマンドの仕様変更

CentOS8になって、lsコマンドの表示が

[zeke@ace StreamRipper]$ ls -l AnimeRadio.SU/
合計 116416
-rw-r--r-- 1 zeke zeke 4734749  2月 28 23:21 '0036_Nomizu Iori - Passionate.mp3'
-rw-r--r-- 1 zeke zeke 3485873  2月 28 23:24 '0037_Seatbelts - Tank!.mp3'
-rw-r--r-- 1 zeke zeke 4363599  2月 28 23:29 '0038_Sanada Asami - Curtain.mp3'
-rw-r--r-- 1 zeke zeke 4065634  2月 28 23:33 '0039_Nano feat. MY FIRST STORY - SAVIOR OF SONG.mp3'
-rw-r--r-- 1 zeke zeke 4794091  2月 28 23:38 '0040_Psychic Lover - XTC.mp3'
-rw-r--r-- 1 zeke zeke 4438024  2月 28 23:42 '0041_Miyamura Yuko - Kaze no Nemuru Shima.mp3'
:
省略
:
[zeke@ace StreamRipper]$

のように、スペースや記号があると、カッコで括られるようになったので、シェルに影響があるのかと思いましたが、

[zeke@ace StreamRipper]$ ls -l AnimeRadio.SU/ | cat -
合計 116416
-rw-r--r-- 1 zeke zeke 4734749  2月 28 23:21 0036_Nomizu Iori - Passionate.mp3
-rw-r--r-- 1 zeke zeke 3485873  2月 28 23:24 0037_Seatbelts - Tank!.mp3
-rw-r--r-- 1 zeke zeke 4363599  2月 28 23:29 0038_Sanada Asami - Curtain.mp3
-rw-r--r-- 1 zeke zeke 4065634  2月 28 23:33 0039_Nano feat. MY FIRST STORY - SAVIOR OF SONG.mp3
-rw-r--r-- 1 zeke zeke 4794091  2月 28 23:38 0040_Psychic Lover - XTC.mp3
-rw-r--r-- 1 zeke zeke 4438024  2月 28 23:42 0041_Miyamura Yuko - Kaze no Nemuru Shima.mp3
:
省略
:
[zeke@ace StreamRipper]$

内部では、従来どおりカッコ無しで扱っているようです。文字色と同じで修飾だけのものみたいですね。

SHOUTcastサーバについて

もうなくなっていたかと思っていたのですが、まだ残っていたんですね。

こちらのサイトでは、インターネットラジオの紹介していました。

お勧めのKindle本です!

コメント