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
1.92k stars 106 forks source link

How to replace/overwrite an already-downloaded video in the archive with a higher quality copy? #635

Open incIined opened 2 weeks ago

incIined commented 2 weeks ago

Hello,

So I have a YouTube channel I want to archive. I added the youtube.com/@username/videos as a channel, and it downloaded all of the videos, but at a low 720p30 to 360p30 quality when most of the uploads are at least 720p60.

In particular, one video was downloaded in 640p30, I adjusted the format preferences in the Edit tab and then ran a "Test system command", and it was able to download a 720p60 copy of the video. However, clicking the "Download" option gives me this message in Output: "Nothing Happened! [download] video_ID: has already been recorded in the archive". I've also added the URL to the Unsorted Videos folder but that also ended up downloading in 640p30 as well.

Is there a way I can prompt a re-download of the video in higher quality, and to replace the original low quality file already present in the database?

Thanks

axcore commented 2 weeks ago

Right-click the video and select "Re-download video".

incIined commented 2 weeks ago

When I use that option, I get the "Nothing happened?" popup and Output says "[download] video_ID: has already been recorded in the archive"

axcore commented 2 weeks ago

Please try to re-download the video, as described above. Then show me the entire contents of the Output tab, including the yellow text at the top.

incIined commented 1 week ago

Please try to re-download the video, as described above. Then show me the entire contents of the Output tab, including the yellow text at the top.

Sure. I right-clicked the video in Tartube, selected "Re-download this video", and this is what Output shows after the "Nothing happened" popup:

python3 -X utf8 ..\..\..\mingw64\bin\yt-dlp.exe --newline -i --hls-prefer-native --write-description --write-info-json --write-annotations --cookies W:/Tartube/YouTube/cookies.txt --write-thumbnail -f bestvideo[height<=?1080][fps<=?60]+bestaudio/best[height<=?1080] --merge-output-format mp4 --recode-video mp4 -k --embed-thumbnail --add-metadata --windows-filenames --write-playlist-metafiles --no-clean-infojson --output W:/Tartube/YouTube/youtube.com-@Nolimitshawnp/%(title)s-%(id)s-%(height)sp.%(ext)s --download-archive W:/Tartube/YouTube/youtube.com-@Nolimitshawnp/ytdl-archive.txt https://www.youtube.com/watch?v=IcO1fXZ6ZFw
[download] IcO1fXZ6ZFw: has already been recorded in the archive

And then when I try to download the video by itself in a different folder, it downloads, but not at the highest quality available (720p60).

python3 -X utf8 ..\..\..\mingw64\bin\yt-dlp.exe --newline -i --hls-prefer-native --write-description --write-info-json --write-annotations --cookies W:/Tartube/YouTube/cookies.txt --write-thumbnail -f bestvideo[height<=?1080][fps<=?60]+bestaudio/best[height<=?1080] --merge-output-format mp4 --recode-video mp4 -k --embed-thumbnail --add-metadata --windows-filenames --write-playlist-metafiles --no-clean-infojson --output "W:/Tartube/YouTube/Unsorted Videos/%(title)s-%(id)s-%(height)sp.%(ext)s" www.youtube.com/watch?v=IcO1fXZ6ZFw
WARNING: [generic] The url doesn't specify the protocol, trying with http
[generic] Extracting URL: www.youtube.com/watch?v=IcO1fXZ6ZFw
[youtube] Extracting URL: http://www.youtube.com/watch?v=IcO1fXZ6ZFw
[youtube] IcO1fXZ6ZFw: Downloading webpage
[youtube] IcO1fXZ6ZFw: Downloading ios player API JSON
[youtube] IcO1fXZ6ZFw: Downloading m3u8 information
[info] IcO1fXZ6ZFw: Downloading 1 format(s): 605+140
[info] Writing video description to: W:/Tartube/YouTube/Unsorted Videos/Pierre Bourne - Perfectionist⧸Futurama (LQ)-IcO1fXZ6ZFw-640p.description
[info] Downloading video thumbnail 41 ...
[info] Downloading video thumbnail 40 ...
[info] Video Thumbnail 41 does not exist
[info] Downloading video thumbnail 39 ...
[info] Video Thumbnail 40 does not exist
[info] Downloading video thumbnail 38 ...
[info] Video Thumbnail 39 does not exist
[info] Downloading video thumbnail 37 ...
[info] Video Thumbnail 38 does not exist
[info] Writing video thumbnail 37 to: W:/Tartube/YouTube/Unsorted Videos/Pierre Bourne - Perfectionist⧸Futurama (LQ)-IcO1fXZ6ZFw-640p.webp
[info] Writing video metadata as JSON to: W:/Tartube/YouTube/Unsorted Videos/Pierre Bourne - Perfectionist⧸Futurama (LQ)-IcO1fXZ6ZFw-640p.info.json
WARNING: There are no annotations to write.
[hlsnative] Downloading m3u8 manifest
[download] Destination: W:/Tartube/YouTube/Unsorted Videos/Pierre Bourne - Perfectionist⧸Futurama (LQ)-IcO1fXZ6ZFw-640p.f605.mp4
[hlsnative] Total fragments: 42
[download] 100% of    6.16MiB in 00:00:05 at 1.10MiB/s
[download] Destination: W:/Tartube/YouTube/Unsorted Videos/Pierre Bourne - Perfectionist⧸Futurama (LQ)-IcO1fXZ6ZFw-640p.f140.m4a
[download] 100% of    3.23MiB in 00:00:00 at 5.50MiB/s
[Merger] Merging formats into "W:/Tartube/YouTube/Unsorted Videos/Pierre Bourne - Perfectionist⧸Futurama (LQ)-IcO1fXZ6ZFw-640p.mp4"
[Metadata] Adding metadata to "W:/Tartube/YouTube/Unsorted Videos/Pierre Bourne - Perfectionist⧸Futurama (LQ)-IcO1fXZ6ZFw-640p.mp4"
[VideoConvertor] Not converting media file "W:/Tartube/YouTube/Unsorted Videos/Pierre Bourne - Perfectionist⧸Futurama (LQ)-IcO1fXZ6ZFw-640p.mp4"; already is in target format mp4
[ThumbnailsConvertor] Converting thumbnail "W:/Tartube/YouTube/Unsorted Videos/Pierre Bourne - Perfectionist⧸Futurama (LQ)-IcO1fXZ6ZFw-640p.webp" to png
[EmbedThumbnail] atomicparsley: Adding thumbnail to "W:/Tartube/YouTube/Unsorted Videos/Pierre Bourne - Perfectionist⧸Futurama (LQ)-IcO1fXZ6ZFw-640p.mp4"
[EmbedThumbnail] mutagen was not found. Falling back to AtomicParsley

The downloaded video ends up being 640p30.

axcore commented 1 week ago

For the re-download button, I can't reproduce or explain the behaviour you describe. "Is this video being re-downloaded?" is the first check performed when deciding whether to use an archive file. The code handling re-downloads is really very simple, I can't understand why it is failing, or what to do about it.

You could check Edit > General download options... > Name, to make sure you haven't inadvertently added something to the Additional download options box.

axcore commented 1 week ago

I tested downloading your video with the format

-f bestvideo[height<=?1080][fps<=?60]+bestaudio/best[height<=?1080]

...and I get the same result that you did, a 640p video. Apologies, I can't explain that one either.

640p