Loading repository data…
Loading repository data…
jim60105 / repository
Youtube錄影伺服器 (Docker Compose) https://blog.maki0419.com/2020/11/docker-youtube-dl-auto-recording-live-dl.html
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
本專案從屬於 jim60105/docker-ReverseProxy
本專案logging經過調整,可搭配jim60105/docker-Seq使用
本專案希望建置起能永久自動運作的Youtube直播備份機
此專案目標定位為「錄影備份」,在發生直播主事後砍檔時,我才會到伺服器尋找備份
是故,本專案不著重在錄影後的檔案處理,而是在磁碟滿時做自動刪檔
WWW
│
nginx Server (Reverse Proxy) (SSL證書申請、Renew)
├ Jobber (Cron) (定時檢查磁碟使用率,在高於設定之百分比時,自動由舊起刪除錄影)
├ live-dl (直播監控錄影機)
└ youtube-dl-server (WebUI下載器)
../YoutubeRecordings/ 之下,可以在 docker-compose.yml修改本專案有submodule
如果想要build docker image,請用git pull --recurse-submodules
.env_sample 建立 .env
LETSENCRYPT_EMAIL=你的emailHOST=WebUI網址DelPercentage=要執行刪除功能的磁碟使用百分比LOGSERVER=GELF log server位置,詳細請參照後文config_live-dl.yml 在map處建立名稱表,此表用於自動錄播時的資料夾建立
- name: 久遠たま
youtube: https://www.youtube.com/channel/UCBC7vYFNQoGPupe5NxPG4Bw
Monitor/tama.sh 建立要自動錄播的頻道,所有Monitor下的檔案都會被執行nohup /bin/bash live-dl {{Youtube URL}} &>/youtube-dl/logs/live-dl-{{Channel Name}}.$(date +%d%b%y-%H%M%S).log &
find ./ -type f -iname "*.sh" -exec chmod +x {} \;.env 中的 LETSENCRYPT_TEST=trueyoutube-dl支援以cookie的方式登入,可以下載會限影片
youtube-dl的帳密功能目前確定是壞的,只能以cookies方式登入
此cookies file包含了你的Youtube登入授權,請務必妥善保管
youtube.com網域的所有cookiecookies.txt如果需要在下載完成後回呼,請修改docker-compose.yml,將回呼腳本bind至livedl之下的/usr/src/app/callback.sh
本專案提供的 download_again.sh ,能在下載完成後等待一分鐘,再下載第二次
由於串流中錄影容易有漏秒,這功能用於「直播結束後至Youtube版權砲前」再下載一次
__info "Calling callback function..."
local cmd=( "$CALLBACK_EXEC" "${OUTPUT_PATH}.mp4" "$BASE_DIR/" "$VIDEO_ID" "$FULLTITLE" "$UPLOADER" "$UPLOAD_DATE" )
nohup "${cmd[@]}" &>> "$OUTPUT_PATH.log" &
bash參數
本專案logging經過調整,可搭配Seq Log Server使用 (或是任何支援GELF http post的log server)\
IP:埠號docker-compose -f docker-compose.yml -f docker-compose.log-server.yml up -ddocker-compose.log-server.yml重命名為docker-compose.override.yml,使docker-compose up -d可以自動應用override檔本專案使用AGPL-3.0,遵循自 sparanoid/live-dl