超A&G+(agqr)を気楽に見る&ffmpegでなんとやら(2020/11更新)

イラッとしたみなさんこんにちは。

PCでご視聴の皆さんおなじみのアンケート。

最近FlashからHTML5化でプレーヤーが変わりました。

後ほど解説しますが、タイムラグが増えました。仕組み上遅延は仕方ないのですが、HLSの1セグメントが12秒だなんて…。

超○&Gのシステムは今まで通り、DigiQ+N93(地上デジタルラジオ)の名残のシステムのまま変わらず…。本当にリソースを割けないようです。

おかげさまで不安定になることは本当にごく僅かな超A○G+です。

スマホアプリ用の音声OnlyモードはLimelightがCDNのようです。

話を戻しますが、例のアンケート、すぐ聞きたいときに限って出てくるじゃないですか。

そんなみなさんへ朗報です!以下のリンクをどうぞ。

なんと!余計なものが消えてシンプルなプレイヤーが!

For Windows&Mac

右上のメニューから、その他のツール→「ショートカットを作成」→「ウィンドウとして開く」でショートカットを作成しましょう

デスクトップに現れたショートカットをクリックすると、ブラウザとは別のプレイヤーが爆誕します。

Chromeでは自動再生ポリシーに抵触することがあり、音が出るまで1-Click必要な時もありますが、アプリではその制限がありません(?)。クリックしてから秒で視聴が可能です。あまりの速さにびっくりします(した)。

Ctrl+マウスホイールでいいサイズに拡大縮小、余計な黒いスペースは小さくすれば、”おそらく”次回起動時にも保存されるはずです。

中身はChromeなので、uniqueradioドメインのサイトにはズーム倍率が適用されてしまいますが、agqrドメインとは別物なのであまり気にする必要は無いかと…(無責任)

あっ、例のアンケート後の通常ページで視聴しようとするとクソ拡大されました(真顔)

Forスマホ・タブレット

iPhone、iPadのみなさんは、ChromeでもSafariでも、とりあえず開いてみてください。

iOS14以降にアップデートしたiPhoneシリーズと、 iOS9以降にアップデートしたiPadシリーズ(2014年発売の第六世代 iPad Air2以降)では、PinP機能が使えるはずです。

Twitterを見ながらだって、実況しながらだって聞けます。邪魔ならスワイプスワイプ。

画面オフ時は一瞬音が消えますが、再生ボタンを押せばOKです。

通信量的には、一時間あたり64MBが目安です。

これでもうアプリは不要!ヤッター!

録画録音の話

flashからhtml5になったということは、rtmpからhlsへシステムが変わった、即ち録画方法も変えなければなりません。

自分は以下の様なバッチファイルを作成しています。

set name_dt=%date%
set name_ti=%time: =0%
set name_ti=%name_ti:~0,5%
set FName=%name_dt:/=%_%name_ti::=%
C:\ffmpeg\ffmpeg.exe -i "https://fms2.uniqueradio.jp/agqr10/aandg1.m3u8" -t 1830 -c copy "%USERPROFILE%\Desktop\%FName%.ts"

・ファイル名はXXX.bat で。30分番組と60分番組で2つ作りたいので、30min.batと60min.batの2つ。

・他のアプリからも参照できるように、Cドライブ直下のffmpegフォルダにffmpeg、ffplay、ffprobeのバイナリを投げ込んでいる

・録画先はデスクトップで、YYYYMMDD_HHMM.tsというファイル名になるようにした

・以下ffmpegオプション解説

C:\ffmpeg\ffmpeg.exe → ffmpegの場所

-i "https://fms2.uniqueradio.jp/agqr10/aandg1.m3u8"

→agqrのメディアプレイリスト。他にもあるかもしれない…。後ほど追加解説。

-t 1830 →30分番組なので(1800秒)。バッチをジャスト00秒に起動してもHLS1~2セグメント(12~24秒)前から記録されるのでマージン30秒。切れるようなら伸ばしてください。

-c copy →videoもaudioもコピー。HE-AACv2はffmpeg標準ではないので、再エンコするなら自分でビルド必須。

"%USERPROFILE%\Desktop\%FName%.ts" → 保存場所。FNameは上で定義した変数(YYYYMMDD_HHMM.ts)。

以前のrtmpの場合、ラウンドロビンでサーバーを振り分けていたようなのですが、(getfmslist…みたいな感じだった記憶)
流れが以下のような感じなので現在はどうにも固定な気がしています。

一応/agplayer5/hls/mbr-0.m3u8に関しては、/agplayer5/hls/mbr-1.m3u8やmbr-ff.m3u8もあるのですが、中身は同じ…。

/agplayer5/player_movie-HD.js
/agplayer5/inc-player-hls.php
/agplayer5/hls/mbr-0.m3u8
/agqr10/aandg1.m3u8

自分は追っかけ倍速再生で実況に追いつくという使い方をしたいのでtsコンテナですが、そんなことしない!という方はmp4でOKです。多分シークとかも安定するはず。

"%USERPROFILE%\Desktop\%FName%.ts"

"%USERPROFILE%\Desktop\%FName%.mp4"

で完了。moov atom(-movflags faststart)つけとくと、クラウドに投げ込んだ時再生開始が素早いかも。

それでは僕はNACK5に籠もります。(agqr聞かないんかーい)