[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

Google Drive網址格式

https://drive.google.com/file/d/13LaALYNOmdN3GfD7aeKreyzshdKX-Tvz/view?t=884&end=1166&shuffle=1&playlistinclude=quon&playlistexclude=member

參數說明

  • VideoID: 在Youtube為原生v參數,在Google Drive中是在路徑中
  • t: 影片播放開始時間
  • end: 在指定秒數停止播放影片
  • shuffle: Playlist隨機播放,1為啟用;0為禁用(等同不傳入) 
  • playlistinclude: 讀入Playlist標籤
  • playlistexclude: 排除Playlist標籤

功能

  • 在設定end後,能在指定秒數停止播放器
  • end功能並不依賴播放清單功能,end參數可以單獨傳入
  • 若傳入playlistinclude,則只會載入有該標籤的清單
  • 若傳入playlistexclude,則會排除有該標籤的清單Exclude優先於Include
  • Playlist自外鏈載入,方便自動更新
  • 若在Playlist中能找到和當前VideoIDtend三個參數都相同之項目,則會進入播放清單功能
    (在播放完該曲後循序/隨機播放下一首歌)
  • 隨機功能為建立亂序清單後播放,在所有歌曲都放過後才會循環
  • 傳入startplaylist參數時會立刻重建亂序清單
  • 支援以鍵盤的媒體按鍵(Media Keys)操作「下一首
  • 在佇列播放中,會遮蔽「影片已暫停,要繼續觀賞嗎?」功能

安裝步驟

  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)

目前內建的是久遠たま的歌單
你完全可以做一份你自己的

建立

歌單的建立請參考這裡

Array中儲存以下項目: [VideoID, StartTime, EndTime, Title, SubSrc]

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

載入

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


更新

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

字幕

此工具支援載入WebVTT字幕(.vtt),請將字幕直鏈傳入歌單之SubSrc
範例: 這裡是WebVTT檔案,並在此處傳入連結

沒有留言:

張貼留言