jely2002 / youtube-dl-gui

A cross-platform GUI for youtube-dl made in Electron and node.js
GNU Affero General Public License v3.0
6.5k stars 454 forks source link

The GUI is not selecting the highest quality format when downloading TikTok videos #391

Open asosaug opened 2 years ago

asosaug commented 2 years ago

Describe the bug Open Video Downloader, the gui, is not auto selecting the best available quality when downloading TikTok videos (haven't tried it on other websites, but may be a similar problem). The resolution which is selected automatically by gui as best, and no higher resolution is available in the gui if you try to select it manually, is 576x1024. If I try to download the same video using yt-dlp through command line the highest available resolution is 720x1280.

To Reproduce Steps to reproduce the behavior:

  1. Using Open Video Downloader(this gui) download https://www.tiktok.com/@willsmith/video/7074628474593545518
  2. Using yt-dlp download https://www.tiktok.com/@willsmith/video/7074628474593545518 using the following command: yt-dlp --format "bv*+ba/b" "https://www.tiktok.com/@willsmith/video/7074628474593545518"
  3. You will see that the resolution of the video downloaded in the first step is 576x1024, the size is 671kb. The resolution of video downloaded in step 2 is 720x1280, the size 854kb.

Expected behavior The gui would automatically select the highest available quality from yt-dlp.

Screenshots Screenshot 2022-07-04 133752

Maybe the problem resides in the fact that yt-dlp lists the resolution for 720x1280 format as unknown instead of listing it as 720x1280. It is highlighted in the red rectangular in the screenshot. I checked the resolution of videos downloaded in that format and they indeed are 720x1280. As I understand this therefore is a higher quality video than the 576x1024 automatically selected as the best quality by the gui?

EDIT: Also, related to this, YT-DLP is not actually itself not downloading the highest quality TikTok videos possible, a thread has been made about this on yt-dlp: https://github.com/yt-dlp/yt-dlp/issues/4138