bypass throttling
This commit is contained in:
parent
fbd683e094
commit
3a0882230a
1 changed files with 13 additions and 1 deletions
|
@ -276,6 +276,10 @@ func (v *YoutubeVideo) download() error {
|
||||||
"1",
|
"1",
|
||||||
"--cookies",
|
"--cookies",
|
||||||
"cookies.txt",
|
"cookies.txt",
|
||||||
|
"--extractor-args",
|
||||||
|
"youtube:player_client=android",
|
||||||
|
//"--concurrent-fragments",
|
||||||
|
//"2",
|
||||||
"--load-info-json",
|
"--load-info-json",
|
||||||
metadataPath,
|
metadataPath,
|
||||||
}
|
}
|
||||||
|
@ -319,11 +323,15 @@ func (v *YoutubeVideo) download() error {
|
||||||
sourceAddress,
|
sourceAddress,
|
||||||
fmt.Sprintf("https://www.youtube.com/watch?v=%s", v.id),
|
fmt.Sprintf("https://www.youtube.com/watch?v=%s", v.id),
|
||||||
)
|
)
|
||||||
|
//speedThrottleRetries := 3
|
||||||
for i := 0; i < len(qualities); i++ {
|
for i := 0; i < len(qualities); i++ {
|
||||||
quality := qualities[i]
|
quality := qualities[i]
|
||||||
argsWithFilters := append(ytdlArgs, "-fbestvideo[ext=mp4][vcodec!*=av01][height<="+quality+"]+bestaudio[ext!=webm][format_id!=258][format_id!=251][format_id!=256][format_id!=327]")
|
argsWithFilters := append(ytdlArgs, "-fbestvideo[ext=mp4][vcodec!*=av01][height<="+quality+"]+bestaudio[ext!=webm][format_id!=258][format_id!=251][format_id!=256][format_id!=327]")
|
||||||
argsWithFilters = append(argsWithFilters, userAgent...)
|
argsWithFilters = append(argsWithFilters, userAgent...)
|
||||||
|
//if speedThrottleRetries > 0 {
|
||||||
|
// speedThrottleRetries--
|
||||||
|
// argsWithFilters = append(argsWithFilters, "--throttled-rate", "180K")
|
||||||
|
//}
|
||||||
cmd := exec.Command("yt-dlp", argsWithFilters...)
|
cmd := exec.Command("yt-dlp", argsWithFilters...)
|
||||||
log.Printf("Running command yt-dlp %s", strings.Join(argsWithFilters, " "))
|
log.Printf("Running command yt-dlp %s", strings.Join(argsWithFilters, " "))
|
||||||
|
|
||||||
|
@ -370,6 +378,10 @@ func (v *YoutubeVideo) download() error {
|
||||||
userAgent = []string{downloader.GoogleBotUA}
|
userAgent = []string{downloader.GoogleBotUA}
|
||||||
log.Infof("trying different user agent for video %s", v.ID())
|
log.Infof("trying different user agent for video %s", v.ID())
|
||||||
continue
|
continue
|
||||||
|
//} else if strings.Contains(string(errorLog), "yt_dlp.utils.ThrottledDownload") {
|
||||||
|
// log.Infof("throttled download speed for video %s. Retrying", v.ID())
|
||||||
|
// i-- //do not lower quality when we're retrying a throttled download
|
||||||
|
// continue
|
||||||
}
|
}
|
||||||
return errors.Err(string(errorLog))
|
return errors.Err(string(errorLog))
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue