macOS Shortcut App
前回記事でVLC media player を使って「らじる★らじる・聴き逃し番組」のストリーミング音声をMP3(その他FLAC等)に高倍速で収録する方法を紹介しました。
今回は、VLCの代わりにFFmpeg コマンドラインで、高倍速で収録する方法を紹介します。 併せて、macOS のショートカットアプリを使って収録作業の簡略化も行いました。
Video DownloadHelper バージョンアップ(var 9.1.0.42)に伴い、ページ内容を変更しました。(2024/8/16変更)
配信されているコンテンツは著作物なので、コンテンツを収録して個人的に利用する以外は著作権法違犯になる恐れがありますので、収録音源の取り扱いには注意が必要です。
FFmpeg コマンドラインでストリーミング収録するには
FFmpegコマンドラインを実行するには予めFFmpegをインストールしておく必要があります。
ストリーミング収録方法
「らじる★らじる・聴き逃し番組」で使用されている「M3U8ファイル」のURLが分かれば、FFmpeg コマンドラインで配信ファイルを簡単にコピー(複製)できます。(「M3U8ファイル」のURLの特定は次節で説明)
ストリーミング収録は、macOSのターミナルを開き、以下のコマンドラインを実行します。
ターミナル ffmpeg -http_seekable 0 -i “「M3U8ファイル」のURL” -vn -acodec copy “聴逃し番組_収録.m4a” -------- (注記) FFmpegがApplicationsフォルダーにインストールされている時は、/Applications/ffmpeg にします。 また、「聴逃し番組_収録.m4a」はフルパスで記述します。
オプションの説明
FFmpegのコマンドラインライン中に - で示される部分がオプションです。
オプション | 内容 |
-http_seekable 0 | ffmpeg version 5.1では、このオプションを記述しないと、エラーになり コピー出来ません。 又、このオプションはコマンドラインの先頭に置く 必要がる様です。 詳細は "FFmpeg Formats Documentation"を参照し てください。 |
-i | 入力ファイルのパス |
-vn | -vnは、オーディオを指定します。(-vnを指定しないとエラーになり AAC変換できない場合があります) |
-acodec copy | 音声コーデックを指定 ("copy" でストリームの直接コピー) |
以上のコマンドラインを実行することで、例えば「らじる★らじる・聴き逃し」50分番組の場合、収録に要する時間は、約1分程度でコピー(複製)できます。 (複製されたファイルはHE-AACで拡張子.m4a で保存されます)
「M3U8ファイル」のURLを特定(抽出)するには
Chrome 又はFirefoxブラウザの機能に「Video DownloadHelper」を追加して「M3U8ファイル」のURLを特定(抽出)します。
「Video DownloadHelper」のインストール及び「M3U8ファイル」のURLを特定(抽出)方法は下のボタンをクリックして参照してください。
macOSのショートカット・アプリで効率化
M3U8ファイルURLの特定(抽出)した後、一々ターミナルを開いて、FFmpegコマンドラインを実行して番組コピーするのは面倒です。 そこで、Video DownloadHelperで「らじる★らじる・聴き逃し」M3U8ファイルURLをコピーした後、ショートカット・アプリを実行することで指定フォルダ(/Users/らじるらじる収録/)にコピーファイルを保存する様にしてみました。
ショートカット・作成(手順)
macOSのLaunchpadから「ショートカットApp」を開きます。 ファイル > 新規ショートカットを選択しショートカット名の欄に「らじる★らじる・聴き逃し番組」収録 と記入します。今回作成したショートカットは、2つのACTION で構成されています。 夫々のACTIONを説明します。
ACT
1 「AppleScriptを実行」を選択
アクションの中から「AppleScriptを実行」を選択して「ショートカットエディタ」エリアにドラッグアンドドロップします。
AppleScriptのエディタエリアのデフォルトコード(on run .......)を全て削除して下のコードをコピペします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
display dialog "Firefoxで「らじる★らじる・聴き逃し番組」ジャンルページを開く " buttons {"OK", "キャンセル"} with title "NHK「聴き逃し番組」のストリーミング音声を高倍速で収録" -- firefoxでらじるらじるのジャンルページを開く do shell script "open -a Firefox 'https://www.nhk.or.jp/radio/ondemand/index_genre.html'" display dialog "次の手順で「らじる★らじる・聴き逃し番組」のストリーミング音声を高倍速で収録します。 Step.1: Firefox「聴きたい番組」の「このページで再生」ボタン(▶)を押す。 Step.2: ブラウザ画面の右上にVideo DownloadHelperアイコンを押し、縦の3点リーダ 【︙】を押して「URLのコピー」を押す。 「URLのコピー」ボタンを押してから「収録実行」ボタンを押す。 (「聴き逃し番組」が「らじる★らじる」フォルダーに保存されます) " buttons {"収録実行", "キャンセル"} with title "NHK「聴き逃し番組」のストリーミング音声を高倍速で収録" |
Scriptのポイント説明
1行目〜10行目:「FFmpeg AAC with Artwork」の概要説明ダイアログを表示するコードです。10行目では、ボタンの名称を指定しています。
ACTION-1が実行されるとダイアログが表示されます。 キャンセルでショートカットを終了します。
ACT
2 「シェルスクリプトを実行」を選択
アクションの「シェルスクリプトを実行」を選択して「ショートカットエディタ」エリアにドラッグアンドドロップします。
オプションは上の設定にして、bash Scriptのエディタエリアのデフォルトコード(echo....)を全て削除して下のコードをコピペします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# 文字化け対策 mediainfo で出力されたtxtファイルが文字化けするのを対策 export LANG=ja_JP.UTF-8 # クリップボードにコピーされたM3U8ファイルURLをURLに代入 URL=$(pbpaste) # .m3u8 文字が無ければ終了 if [[ "$URL" != *.m3u8* ]]; then osascript -e 'display alert "ストリーミングURLが不正です。 再度M3U8ファイルのURLをコピーしてください"' exit fi osascript -e 'display notification "「らじる★らじる・聴き逃し番組」" with title "収録を開始しました"' NOW_TIME=`date "+%Y%m%d_%H-%M"` # 変数 f_aacに ファイル名+日時+拡張子(m4a)を代入 f_aac=/Users/らじるらじる収録/聴逃し番組_収録${NOW_TIME}.m4a # ストリーミングM3U8ファイルを「らじる★らじる」フォルダーにm4aファイルで保存 /opt/homebrew/bin/ffmpeg -http_seekable 0 -i "$URL" -vn -acodec copy "$f_aac" osascript -e 'display alert "聴き逃し番組_収録を「らじる★らじる」フォルダーに保存しました"' |
Scriptのポイント説明
17行目:日時を 変数 NOW_TIME に代入しています。 この日時を20行目のストリーミングされたファイル名に追記します。 26行目:AppleScriptのalert dialog を呼び出し、収録の終了を表示します。以上で「らじる★らじる・聴き逃し番組」収録 ショートカットの完成です。
ショートカットのアプリ化
タスクバーの ファイル > Dockに追加 を選択します。
すると、Dockに【「らじる★らじる・聴き逃し番組」収録 】が追加されますので、右クリックで、オプション > Finderに表示 を選択します。
するとFinderにアプリ化された、「らじる★らじる・聴き逃し番組」収録.app が存在している筈です。
「らじる★らじる・聴き逃し番組」収録.app の使い方
- ブラウザに機能追加したVideo DownloadHelperでNHK「らじる★らじる・聴き逃し」のM3U8ファイルURLをコピーした後
- 「らじる★らじる・聴き逃し番組」収録.app をクリックして実行すれば、指定フォルダ(/Users/らじるらじる収録/)にコピーファイルが保存されます。
以上、FFmpeg で「らじる★らじる・聴き逃し番組」のストリーミング音声を高倍速で収録する方法でした。
合わせて読む・収録ファイル分割
-
収録ファイル分割−1NHKの「らじる★らじる」の聴き逃し番組などを収録した音声ファイルをAudacityで楽曲毎に分割保存する
NHKの「らじる★らじる」の聴き逃し番組を高倍速で収録する方法等(下の参考を参照)を当ブログで紹介して来ましたが収録した後、楽曲毎に分割して保存したくなる時があります。 分割保存できるオーディオ編集 ...
-
収録ファイル分割−2音声ファイルのお気に入り部分を切出すmacOSショートカットアプリを作成してみました。(FFmpeg CLI)
例えば、NHK「らじる★らじる・聴き逃し番組」のクラシックカフェ(収録時間は約2時間)を収録すると多くのクラシック曲が混在しています。 収録ファイルの中でお気に入りのクラシック曲を切出し(抽出)たい時 ...