FLV配信になった超A&G+の予約録画をする

agqr.batを書き換えました - 2013/03/18

突然録画に失敗するようになったら、--playpathのaandgの数字を変えると通るようになります。

7/30から超A&G+の配信がDRM付きWMVからFLV方式に代わった。
これまでGASで予約録画&DRM解除していた人にとっては「なんと面倒な」、と思うかもしれないが、暗号解除が黒になる10月を前にこの変更はとても素晴らしいことである。

しかし録画環境がないのはやはり困るのでWindowsの標準装備であるタスクマネージャと、rtmpdump 2.4を使って自動録画環境を作成した。

仕組みとしてはタスクスケジューラで時間になったらrtmpdumpを呼び出すだけだが、そのままだとファイル名が固定になったり、リトライ処理ができないのでそこをバッチで処理させることで対応した。

agqr.bat(2013/03/18改定)

@echo off
setlocal
set title=%~1
set dur=%~2
set time2=%time: =0%
set ymd=%date:~-10,4%%date:~-5,2%%date:~-2,2%%time2:~0,2%%time2:~3,2%%time2:~6,2%

rem ■以下、環境に応じて書き換えること■
rem 保存先(デフォルトではCドライブのルートに"第1引数-yyyymmdd.flv"の形式で保存される。)
set out="C:\%title%-%ymd%.flv"
rem リトライ回数
set maxct=200
rem rtmpdumpのパス
set rtmp=C:\rtmpdump\rtmpdump.exe
rem ■書き換えるのはここまで■

set /A count=0
:RET
set /A count+=1
IF %count% == %maxct% goto END
@echo on
%rtmp% --rtmp "rtmpe://fms2.uniqueradio.jp/" --playpath "aandg2" --app "?rtmp://fms-base1.mitene.ad.jp/agqr/" --stop %dur% --live -o %out%
@echo off
FOR %%I IN (%out%) DO IF %%~zI==0 goto RET
:END
endlocal


参考までに作成したバッチファイルを添付。これをテキストエディタに貼り付け→agqr.batという名前で保存。
このバッチファイルをタスクスケジューラで呼び出す。

新規タスクを作成したらトリガータブで予約時間をスケジュールし、操作タブから新規を選び以下の画像のようにする。


プログラムは上のagqr.batを指定。引数の追加部分にはファイル名と録画時間を秒指定で入力する。
"杉田智和のアニゲラディドゥーン" "3720"
どちらもダブルクオーテーションで囲み、間に半角スペースが必要。
ファイル名についてはコマンドプロンプトでは扱えない文字もあるので基本的にはアルファベットのみで書くか、事前にテストをしっかりしておく必要が有る。
録画時間が3720sec=62minになっているが、これは予約時間を2分前に設定しているから。
(32min=1920sec 62min=3720sec 122min=7320)

こんなかんじでタスクをモリモリ追加しておけば一つのタスクで複数の時間を指定できるのでリピート予約も楽になった。