Switch to ytdlp raw because youtube fucked something again

This commit is contained in:
2025-10-23 23:52:09 +02:00
parent 999846335b
commit 0a71ef412a
2 changed files with 8 additions and 19 deletions

View File

@@ -2,40 +2,29 @@ package downloaders
import ( import (
"fmt" "fmt"
"log"
"os" "os"
"os/exec" "os/exec"
"github.com/gen2brain/beeep" logger "git.site.quack-lab.dev/dave/cylogger"
) )
type YTDLPRawDownloader struct{} type YTDLPRawDownloader struct{}
func (d *YTDLPRawDownloader) Download(url string) error { func (d *YTDLPRawDownloader) Download(url string) error {
downloadlogger := logger.Default.WithPrefix(fmt.Sprintf("url=%q", url))
_, ongoing := ongoingDownloads[url] _, ongoing := ongoingDownloads[url]
if ongoing { if ongoing {
// return fmt.Errorf("Download %s is already ongoing", url) // return fmt.Errorf("Download %s is already ongoing", url)
log.Printf("Download %s is already ongoing", url) downloadlogger.Info("Download is already ongoing")
return nil return nil
} }
ongoingDownloadsMutex.Lock() ongoingDownloadsMutex.Lock()
ongoingDownloads[url] = struct{}{} ongoingDownloads[url] = struct{}{}
ongoingDownloadsMutex.Unlock() ongoingDownloadsMutex.Unlock()
log.Printf("YTDLPRaw downloading %s", url) downloadlogger.Info("YTDLPRaw downloading")
go func() { cmd := exec.Command("yt-dlp", "-o", "C:/Users/Administrator/ytdlpVideos/%(uploader)s/%(title)s.%(ext)s", "-f", "bestvideo[ext=mp4]+bestaudio[ext=m4a]", "-N", "12", "--sponsorblock-mark", "all", url)
err := beeep.Beep(beeep.DefaultFreq, beeep.DefaultDuration)
if err != nil {
log.Printf("Failed beeping with %+v", err)
}
err = beeep.Alert("Download Started", url, "assets/information.png")
if err != nil {
log.Printf("Failed alerting with %+v", err)
}
}()
cmd := exec.Command("yt-dlp", "-o", "C:/Users/Administrator/ytdlpVideos/%(title)s.%(ext)s", "-f", "bestvideo[ext=mp4]+bestaudio[ext=m4a]", "-N", "12", "--sponsorblock-mark", "all", url)
cmd.Stdout = os.Stdout cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr cmd.Stderr = os.Stderr
err := cmd.Run() err := cmd.Run()
@@ -43,7 +32,7 @@ func (d *YTDLPRawDownloader) Download(url string) error {
return fmt.Errorf("failed downloading %s with %+v", url, err) return fmt.Errorf("failed downloading %s with %+v", url, err)
} }
log.Printf("Downloaded %s", url) downloadlogger.Info("Downloaded")
ongoingDownloadsMutex.Lock() ongoingDownloadsMutex.Lock()
delete(ongoingDownloads, url) delete(ongoingDownloads, url)
ongoingDownloadsMutex.Unlock() ongoingDownloadsMutex.Unlock()

View File

@@ -15,9 +15,9 @@ import (
"github.com/nsqio/go-nsq" "github.com/nsqio/go-nsq"
) )
// var downloader downloaders.Downloader = &downloaders.YTDLPRawDownloader{} var downloader downloaders.Downloader = &downloaders.YTDLPRawDownloader{}
// var downloader downloaders.Downloader = &downloaders.KidaiDownloader{} // var downloader downloaders.Downloader = &downloaders.KidaiDownloader{}
var downloader downloaders.Downloader = &downloaders.YTDLPLibDownloader{} // var downloader downloaders.Downloader = &downloaders.YTDLPLibDownloader{}
type DLHandler struct{} type DLHandler struct{}