axcore / tartube

A GUI front-end for youtube-dl, partly based on youtube-dl-gui and written in Python 3 / Gtk 3
GNU Lesser General Public License v2.1
2.03k stars 109 forks source link

Issues with v2.5.0 Release. Please fix? #642

Open case100 opened 1 month ago

case100 commented 1 month ago

I'm using TarTube - Stable Release v2.5.0

I can no longer download videos past 360p anymore like I've been able to before.

Whenever I select "Format: MP4 | Highest | Download in this format", TarTube only downloads videos up to 640x360 (360p) even if and when the videos are available in HD or higher.

BrokenTartubeFeature

I can't download 720p, 1080p, or 4K+ videos anymore unless I change the settings to either

"Format: MP4 | 1080P | Download in this format" or "Format: MP4 | Highest/1080P | Convert to this format",

Neither of these alternative options work as they make videos take forever to download (takes over 24 hours). It's extremely time-inefficient.

I haven't had any the downloading HD videos with the "Format: MP4 | Highest | Download in this format" settings until about 2-3 weeks ago. I could download over a hundred videos in less than 2 hours on average. It's not an IP issue either, I confirmed it's an issue with the app itself.

I tried uninstalling, reinstalling, closing and restarting TarTube, and updating yt-dlp. Nothing is working. Something in the program broke and I think it has something to do with YouTube updating something on their side.

UPDATE:

Here's a better screenshot of the problem. I haven't changed any settings around.

BrokenTartubeFeaturePart2

axcore commented 1 month ago

The usual reason that yt-dlp 720p videos can't be downloaded, is that FFmpeg is not installed, or not set up correctly. Another possible reason is that you have specified the wrong download options.

So, you can try this:

  1. Check that FFmpeg is installed, click Operations > Install FFmpeg
  2. Try downloading a single video, then show me the contents of Tartube's Output tab, including the yellow text at the top
case100 commented 1 month ago

The usual reason that yt-dlp 720p videos can't be downloaded, is that FFmpeg is not installed, or not set up correctly. Another possible reason is that you have specified the wrong download options.

So, you can try this:

  1. Check that FFmpeg is installed, click Operations > Install FFmpeg
  2. Try downloading a single video, then show me the contents of Tartube's Output tab, including the yellow text at the top

Thanks.

So I'm able to download videos at the highest settings again, but the speeds are very slow (I'm not being throttled by the way).

I was getting 13 MiB/s for each download, but now it's barely 1 MiB/s.

What could be wrong?!

image_2024-07-24_194339519

Update: I already tried updating yt-dlp to the v7-16-24 version, but the speeds are still too low.

axcore commented 1 month ago

That I don't know, in fact no-one knows why YouTube randomly throttles some downloads, but allows other downloads to proceed at maximum speed. Everyone gets throttled though, so it's not worth worrying about.

case100 commented 1 month ago

That I don't know, in fact no-one knows why YouTube randomly throttles some downloads, but allows other downloads to proceed at maximum speed. Everyone gets throttled though, so it's not worth worrying about.

A recent large batch of videos were downloaded yesterday, and virtually all of the videos downloaded very slowly with a speed of 1 MiB/s or less. I checked with my internet service and even tested my speeds and there's nothing wrong on my end. I strongly believe there's an issue with TarTube, ffmpeg and/or yt-dlp because I was also able to previously download videos with age restrictions, now I'm not even able to do that.

What could it be? Could you please research this?

axcore commented 1 month ago

Have you updated yt-dlp recently? There was a new release just yesterday.

case100 commented 4 weeks ago

UPDATE: I am having trouble again and all videos keep downloading at 640x360 no matter what I do even after I updated to the latest versions of Yt-dlp and ffmpeg.

Output Codes below:

FFMpeg Output:

Net Upgrade Size:       0.00 MiB
Packages (1) mingw-w64-x86_64-ffmpeg-6.1-1
Total Installed Size:  60.88 MiB
:: Proceed with installation? [Y/n]
checking keyring...
checking package integrity...
loading package files...
checking available disk space...
checking for file conflicts...
:: Processing package changes...
reinstalling mingw-w64-x86_64-ffmpeg...
Update operation finished

Download Output:

python3 -X utf8 ..\..\..\mingw64\bin\yt-dlp.exe --newline -i --hls-prefer-native --write-description --write-info-json --write-annotations --cookies C:/Users/User/Videos/TarTube/cookies.txt --write-thumbnail -f mp4 --merge-output-format mp4 --output "D:/test folder/%(title)s.%(ext)s" https://www.youtube.com/watch?v=IS_oRoTFHmQ&pp=ygUUOGsgaGRyIGRvbGJ5IHZpc2lvbiA%3D
[youtube] Extracting URL: https://www.youtube.com/watch?v=IS_oRoTFHmQ&pp=ygUUOGsgaGRyIGRvbGJ5IHZpc2lvbiA%3D
[youtube] IS_oRoTFHmQ: Downloading webpage
[youtube] IS_oRoTFHmQ: Downloading ios player API JSON
[youtube] IS_oRoTFHmQ: Downloading web creator player API JSON
[youtube] IS_oRoTFHmQ: Downloading m3u8 information
[info] IS_oRoTFHmQ: Downloading 1 format(s): 18
[info] Writing video description to: D:/test folder/Maldives OLED Demo HDR 8K Ultra HD Dolby Vision 60fps - Vibrant Tropical Island.description
[info] Downloading video thumbnail 41 ...
[info] Writing video thumbnail 41 to: D:/test folder/Maldives OLED Demo HDR 8K Ultra HD Dolby Vision 60fps - Vibrant Tropical Island.webp
[info] Writing video metadata as JSON to: D:/test folder/Maldives OLED Demo HDR 8K Ultra HD Dolby Vision 60fps - Vibrant Tropical Island.info.json
WARNING: There are no annotations to write.
[download] Destination: D:/test folder/Maldives OLED Demo HDR 8K Ultra HD Dolby Vision 60fps - Vibrant Tropical Island.mp4
[download] 100% of   13.39MiB in 00:00:04 at 2.85MiB/s

When I tested yt-dlp "Operations > Test Yt-dlp", it froze for almost 5 minutes before it only downloaded to .webm in 1.5 GB.

Starting info operation, testing downloader with specified options
..\..\..\mingw64\bin\yt-dlp.exe -o C:/Users/User/Videos/TarTube/.temp/ytdl-test/%(title)s.%(ext)s https://www.youtube.com/watch?v=IS_oRoTFHmQ&pp=ygUUOGsgaGRyIGRvbGJ5IHZpc2lvbiA%3D
[youtube] Extracting URL: https://www.youtube.com/watch?v=IS_oRoTFHmQ&pp=ygUUOGsgaGRyIGRvbGJ5IHZpc2lvbiA%3D
[youtube] IS_oRoTFHmQ: Downloading webpage
[youtube] IS_oRoTFHmQ: Downloading ios player API JSON
[youtube] IS_oRoTFHmQ: Downloading web creator player API JSON
[youtube] IS_oRoTFHmQ: Downloading m3u8 information
[info] IS_oRoTFHmQ: Downloading 1 format(s): 702+251
[download] Destination: C:/Users/User/Videos/TarTube/.temp/ytdl-test/Maldives OLED Demo HDR 8K Ultra HD Dolby Vision 60fps - Vibrant Tropical Island.f702.mp4

I don't know what to do. It's not my internet connection and I already uninstalled and reinstalled Tartube. PLEASE FIX THIS!!!

axcore commented 3 weeks ago

Sorry, I don't know why yt-dlp is choosing the wrong format. I had to force it to download the 8k version, by specifying the format directly:

-f 702

formattest

In the Videos tab, you can get a list of formats for each video, by right-clicking the video and selecting Fetch > Available formats

case100 commented 1 week ago

UPDATE:

It's not recognizing the "-f 702" command. And it still won't download videos "Title + ID" even after pressing "Apply" and then "OK", it still downloads videos in "Title" only. To make matters worse, the videos are still downloaded in 360p by default. The Tartube application is not recognizing any of the changes I make in the Download options.

Once again, I tried everything you suggested, including re-updating and reinstalling everything (Tartube, Yt-dlp and Ffmpeg directly from the Tartube site and application itself). I even tried installing streamlink and matplotlib. Absolutely nothing worked. Tartube is still downloading videos in 360p when I use "Format mp4 || Highest || Download in this format."

And whenever I select "Format: mp4 || 4320p60 || Convert / Download in this format" to override the issue I'm having with using "Format: mp4 || Highest || Download in this format", the downloads hang for several minutes and takes about 10 minutes or more to complete downloading each video (meaning it'll take forever downloading and combining the .webm (video) and .m4a (audio) to merge into a mp4 file with audio).

Each video on average used to take no more than 0-3 minutes to download (including videos that are around 1GB in size) when I was able to successfully and efficiently download HD versions of videos using the "Format: mp4 || Highest || Download in this format" feature.

I even tried testing it with VPNs and proxies and still can't efficiently download past 360p anymore. So this is not an issue with my Internet, throttling speeds, or network card, it's the Tartube application as I have zero issues downloading large videos via other sources and applications.

Download Output:

python3 -X utf8 ..\..\..\mingw64\bin\yt-dlp.exe --newline -i --hls-prefer-native --write-description --write-info-json --write-annotations --cookies C:/Users/User/Videos/TarTube/cookies.txt --write-thumbnail -f mp4 --merge-output-format mp4 --output C:/Users/User/Videos/TarTube/test2/%(title)s.%(ext)s https://www.youtube.com/watch?v=LXb3EKWsInQ
[youtube] Extracting URL: https://www.youtube.com/watch?v=LXb3EKWsInQ
[youtube] LXb3EKWsInQ: Downloading webpage
[youtube] LXb3EKWsInQ: Downloading ios player API JSON
[youtube] LXb3EKWsInQ: Downloading web creator player API JSON
[youtube] LXb3EKWsInQ: Downloading m3u8 information
[info] LXb3EKWsInQ: Downloading 1 format(s): 18
[info] Writing video description to: C:/Users/User/Videos/TarTube/test2/COSTA RICA IN 4K 60fps HDR (ULTRA HD).description
[info] Downloading video thumbnail 41 ...
[info] Writing video thumbnail 41 to: C:/Users/User/Videos/TarTube/test2/COSTA RICA IN 4K 60fps HDR (ULTRA HD).webp
[info] Writing video metadata as JSON to: C:/Users/User/Videos/TarTube/test2/COSTA RICA IN 4K 60fps HDR (ULTRA HD).info.json
WARNING: There are no annotations to write.
[download] Destination: C:/Users/User/Videos/TarTube/test2/COSTA RICA IN 4K 60fps HDR (ULTRA HD).mp4
[download] 100% of   17.69MiB in 00:00:01 at 13.62MiB/s

EDIT:

I even uninstalled the non-portable version yet again and tried the Portable version. I'm having the same exact issue with the portable version.

axcore commented 1 week ago

It's not recognizing the "-f 702" command.

[That video](https://www.youtube.com/watch?v=IS_oRoTFHmQ) is not available in that format. You should have seen this error message:

ERROR: [youtube] LXb3EKWsInQ: Requested format is not available. Use --list-formats for a list of available formats

In Tartube's Videos tab, right-click the video and select Fetch > Available formats. 702 is not available, but you could try 701.

I even uninstalled the non-portable version yet again and tried the Portable version.

The portable and non-portable versions are exactly the same, you don't need to test both of them.

axcore commented 1 week ago

The Tartube application is not recognizing any of the changes I make in the Download options.

And it still won't download videos "Title + ID" even after pressing "Apply" and then "OK", it still downloads videos in "Title" only.

In your output, I cannot see the TITLE+ID option, which looks like this:

--output ".../%(title)s-%(id)s.%(ext)s"

Tartube can create several sets of download options. Perhaps you edited the wrong set? Perhaps you didn't click the OK button in the window's bottom-right corner, which saves all of your changes?

Click Edit > System preferences... > Options, there you can see which options apply to the Videos tab. In this screenshot general is used for the Videos tab, and classic is used for the Classic Mode tab, so select one of them, then click the Edit button.

test1

In the new window, click the Files tab. Has Title + ID been selected?

test2

axcore commented 1 week ago

I even tried installing streamlink and matplotlib.

Streamlink is used for downloading livestreams, matplotlib is used for drawing graphs, if you aren't doing those things then you don't need them.

axcore commented 1 week ago

Tartube is still downloading videos in 360p when I use "Format mp4 || Highest || Download in this format."

Yes, when you select MP4 as the format, yt-dlp will download a 360p video. I don't know why that happens, but it's not a Tartube issue - yt-dlp downloads in 360p even when Tartube is not involved.

You can test that for yourself: in Tartube's main window, click Operations > Test yt-dlp, then try to download the video using -f mp4:

test3

Do the same test without the -f mp4, and yt-dlp will download a .webm in 4k.

axcore commented 1 week ago

the downloads hang for several minutes and takes about 10 minutes or more to complete downloading each video

Yes, depending on which video and audio formats you're trying to merge, FFmpeg can easily take 10 or more minutes. And with other combinations of video and audio it's very quick. These results are not unique to yt-dlp or Tartube.

the downloads hang for several minutes

Python multi-threading is not very good, to say the least. If the GUI is not updating during a download, then usually the download is continuing as normal and it's only the GUI itself that is not responsive.

(I have considered porting Tartube to C++ because of this very problem, but it would be several months of work.)

it's the Tartube application as I have zero issues downloading large videos via other sources and applications.

Are they using yt-dlp? The total download times might not be comparable. Video and audio stuff is much more complicated than people realise, and there are several possible approaches; those applications might be using a different approach than the one yt-dlp is using.

case100 commented 1 day ago

I tried everything once more. My System Preferences and Download Options look exactly the same as yours. I already tested yt-dip again. Same issue every time.

EDIT: TarTube is still using %(title)s.%(ext)s instead of %(title)s-%(id)s.%(ext)s even after pressing OK to save changes!!

python3 -X utf8 ..\..\..\mingw64\bin\yt-dlp.exe --newline -i --hls-prefer-native --cookies "C:/Users/User/Videos/TarTube/downloaded tt/cookies.txt" -f mp4 --merge-output-format mp4 --windows-filenames --output C:/Users/User/Videos/TarTube/test4/%(title)s.%(ext)s https://www.youtube.com/watch?v=yAkVfopBbN0
[youtube] Extracting URL: https://www.youtube.com/watch?v=yAkVfopBbN0
[youtube] yAkVfopBbN0: Downloading webpage
[youtube] yAkVfopBbN0: Downloading ios player API JSON
[youtube] yAkVfopBbN0: Downloading web creator player API JSON
[youtube] yAkVfopBbN0: Downloading player 5f8f5b0f
[youtube] yAkVfopBbN0: Downloading m3u8 information
[info] yAkVfopBbN0: Downloading 1 format(s): 18
[download] Destination: C:/Users/User/Videos/TarTube/test4/8k Ultra HD “Neon Light” HDR Dolby Vision.mp4
[download] 100% of   25.02MiB in 00:00:02 at 9.56MiB/s

Snapshots: stillwontwork-tartube dl-opt4-tartube dl-opt3-tartube dl-opt2-tartube dl-opt-tartube sys-pref-tartube

case100 commented 1 day ago

I forgot to add this snapshot of how I already selected Title + ID in the Download options (Files Tab) window.

titleid-tartube