[UserScript] Youtube影片截選播放清單 (Youtube End Param Handler)

這是截選播放清單功能,專門設計來聽Vtuber的歌枠

和看烤肉或剪片相比的優點為

  • 觀看數都會算在VT身上
  • 只要清單化起始/結束時間就完事,比剪片快得多

缺點,手機不能用ww


最近迷上幾位歌勢Vtuber,把她們的歌枠影片掛著當作業用BGM
但做為BGM時,穿插在歌曲中間的談話聲總會把我的注意力拉走
後來看到一種標「歌枠切り抜き」的剪片,單純把歌枠中的歌曲剪出 ,這很接近我要的東西
但剪接影片重新上傳,這不是自稱程式設計師的做法 _(:3 ⌒゙)_

我要的是播放清單,能設定歌曲起始時間、結束時間,並在播完截選段後播放下一首

翻了Youtube API,有關「結束時間」的功能只有提供在embed player上頭,所以我最開始是打算寫個網頁
但很快就發現──因為版權關係,多數的歌枠影片都不開放站外播放,這功能不能由嵌入實現
若限定在Youtube網域執行,那麼就只能從瀏覧器端下手

所以最後就是~~油猴腳本!

說明

我們的Youtube網址格式如下:

https://www.youtube.com/watch?v=ETjgki1sSgc&t=1591&end=1880&shuffle=1&playlistinclude=quon&playlistexclude=member
此腳本用到Youtube的兩個原生參數
  • v: VideoID,每個影片Unique
  • t: 影片播放開始時間

並另外新增四個此腳本用參數

  • end: 在指定秒數停止播放影片
  • shuffle: Playlist隨機播放,1為啟用;0為禁用(等同不傳入) 
  • playlistinclude: 讀入Playlist標籤
  • playlistexclude: 排除Playlist標籤

功能

  • 在設定end後,能在指定秒數停止播放器
  • end功能並不依賴播放清單功能,end參數可以單獨傳入
  • Playlist自外鏈載入,方便自動更新
  • 若在Playlist中能找到和當前VideoIDtend三個參數都相同之項目,則會在播放完單曲後播下一首歌 (或是隨機播放)
  • 如果有傳入playlistinclude,則只會載入有該標籤的清單
  • 如果有傳入playlistexclude,則會排除有該標籤的清單Exclude優先於Include

安裝步驟

  1. 安裝瀏覧器擴充: Tampermonkey
  2. 安裝腳本: Youtube End Param Handler
  3. 修改Tampermonkey設定,使之每次播放時都會重載歌單
    1. 一般→設定模式: 進階
    2. 外部→更新週期: 永遠
  4. 播放Playlist,請手動儲存連結至書籤: https://www.youtube.com/?startplaylist 
如果是使用Firefox,需要關閉「阻擋媒體自動播放」功能,請參閱:
https://support.mozilla.org/en-US/kb/block-autoplay

歌單(Playlist)

目前內建的是久遠たま的歌單
如果有小夥伴更新了歌單,直接丟PR過來就行

建立

歌單的建立請參考這裡

Array中儲存三個項目: [VideoID,StartTime,EndTime]

  • VideoID: 必須用引號包住,為字串型態
  • StartTime: 必須是非負數,為數字型態。如果要從頭播放,輸入0
  • EndTime: 必須是非負數,為數字型態。如果要播放至尾,輸入0

載入

在腳本註解中加上@require,寫上歌單直鏈
支援載入複數歌單,會依照給定條件全部合併在一起播放
如下第11、12行


更新

每次播放時都會由上方的連結下載歌單,建議把歌單用Github管理
如此只要更新了歌單文檔,git push上去就能完成推送

沒有留言:

張貼留言