一行命令,免開瀏覽器,暢聽「台北愛樂電台」

先說結論:
mpv –no-video “$(yt-dlp -g ‘https://www.e-classical.com.tw/index.html’ | grep m3u8 )” &

只要執行以上這一行命令,便可以免開瀏覽器,直接暢聽「台北愛樂電台」的音樂。


台北愛樂電台一直是我很重要的精神食糧之一。
目前該網站的設計是要使用者打開該網站,並且按「播放」鍵,才能播放音樂。

而我,真心不想為了聽音樂,而特地在瀏覽器上多開一個分頁,一方面除了節省硬體資源外,二方面是情感上,想要把他變成「純粹的背景音樂」。

幾經研究,發現只要解決以下關鍵問題:

  1. 找到並抓下播放清單
  2. 找到該網站隨機生成「Token」以及「有效時間」
  3. 目前有些網站,為了避免取巧的使用者,或是網路攻擊,所以會隨機生成「Token」以及「有效時間」,所以只要找到,便可以了!

關於以上所提問題,只要利用瀏覽器本身內建的「開發者工具」中,其中的「網路」分頁 ,便可以看到所需要的資訊:

假設抓到的值是: https://eclassicalradiow-hichannel.cdn.hinet.net/live/RA000018/chunklist.m3u8?token=79RE-JhyvukCJ9rFY6dkjw&expires=1750425396 ,這時再加上可以播放網路串流的播放器,例如 dragon(KDE), mpv, vlc, 便可以立即播放出來。

例如:
mpv “https://eclassicalradiow-hichannel.cdn.hinet.net/live/RA000018/chunklist.m3u8?token=79RE-JhyvukCJ9rFY6dkjw&expires=1750425396”

可以直接播放,方便是很方便,但是在其他機器上執行,或是音樂播放的有效期間到了,音樂就會無法播放。

而且,若每次都要透過瀏覽器的開發者工具去抓,那真的沒有必要與意義。

要解決這個問題,「yt-dlp」這個工具可以幫忙解決!

只要執行:yt-dlp -g “https://www.e-classical.com.tw/index.html” | grep m3u8 ,便可以抓到需要的資訊了。

命令特別說明:
yt-dlp -g :-g 是 –get-url 的縮寫,取得實際串流媒體檔案的 URL,不下載影片/音訊本體。

這個指令會告訴 yt-dlp:「請不要下載,只告訴我這個影片或音訊背後的 真實串流網址 是什麼。」

目前有許多網站(像 YouTube、Twitch、某些廣播電台)表面上看不到影音檔案的實際位置,yt-dlp 則可以:

  1. JavaScript 分析
  2. Token/Session 模擬
  3. 自動解密 m3u8 或 dash 串流
  4. 支援 cookies、登入驗證等等

這行指令,若再與播放器(例如:mpv)結合使用,便可以完美播放了:

mpv “$(yt-dlp -g ‘https://www.e-classical.com.tw/index.html’ | grep m3u8 )”

又以 mpv 來說,只要聽音樂,不要影片,而且背景執行,那改一下:

mpv –no-video “$(yt-dlp -g ‘https://www.e-classical.com.tw/index.html’ | grep m3u8 )” &

這樣就能播放到地老天荒了!

題外話

但若是想聽「台中 Classical FM97.7 古典音樂台」,利用以上方法,可以得知他的串流網址為: https://onair.family977.com.tw:8977/live.mp3 。

因此只要: mpv –no-video https://onair.family977.com.tw:8977/live.mp3 & 便可以直接播放了。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

*