Help us understand the problem. What is going on with this article?

NHKネットラジオをVLCで録音するスクリプト

More than 5 years have passed since last update.

そんでもってcronで定期予約をして語学勉強したい。

VLCでストリームをmp3に変換してファイル出力するスクリプト。
第一引数に、録音時間を指定できます。

recording.sh
#! /bin/bash

DEST_FILE_NAME_BASE=`date +%Y%m%d-%H%M`

## 録音時間
if [ $# = 0 ]
then
  RECORDING_MINUTES=15
else
  RECORDING_MINUTES=$1
fi

DEST_DIR="/Users/flo_jack/NHK_Radio"

DEST_FILE="$DEST_DIR/$DEST_FILE_NAME_BASE.mp3"

# ストリームには10〜20秒のタイムラグがあるため、30秒余分に保存
RECORDING_TIME=$(($RECORDING_MINUTES * 60 + 30))

# らじる★らじるのラジオ第2放送ストリーム
STREAM_SOURCE="mms://a57.l12993246056.c129932.g.lm.akamaistream.net/D/57/129932/v0001/reflector:46056"
# ラジオ第1ストリーム
#STREAM_SOURCE="mms://a33.l12993146032.c129931.g.lm.akamaistream.net/D/33/129931/v0001/reflector:46032"
# NHK-FMストリーム
#STREAM_SOURCE="mms://a52.l12993346051.c129933.g.lm.akamaistream.net/D/52/129933/v0001/reflector:46051"

if [ ! -e "$DEST_DIR" ]
then
  mkdir "$DEST_DIR"
fi

/usr/local/bin/vlc -I rc $STREAM_SOURCE :sout="#transcode{acodec=mp3}:std{access=file,mux=raw,dst=$DEST_FILE}" --run-time $RECORDING_TIME vlc://quit

録音時間以外の指定、たとえば保存場所の指定などを引数から行うことは、このスクリプトではできません。シェルスクリプトに不慣れなものですみません。
パスはMacな感じで書いてあるため、使用している環境に応じて書き換える必要があります。VLCのパスも同様です。Macの場合、VLCはVLCを右クリックして『パッケージの内容を表示』してから Contents/MacOS/VLC に存在します。VLCをアプリケーションフォルダにインストールしていれば /Applications/VLC/Contents/MacOS/VLC となるでしょう。私はこのシンボリックリンクを /usr/local/bin/vlc になんとなく作りました。

10分番組を記録する使い方。

recording.sh 10

ラジオ英会話(月~金曜日の6:45から15分間)を保存する場合のcrontab例

45  6   *   *   1-5 /Users/flo_jack/NHK_Radio/recording.sh 15

当然ながら、この時間にコンピュータを起動しておく必要があります。
放送は実際の時間より10〜20秒の時間差をもって送信されますので、時間ちょうどにcronを設定しても、うまいぐいあいに開始より先に記録が始まります。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした