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.05k stars 111 forks source link

Unable to download whole channel #587

Closed Lod3 closed 10 months ago

Lod3 commented 1 year ago

Hi, I am currently planning to give a workshop on how to archive youtube videos with metadata and subtitles. But there seems to be an issue with downloading videos from channels. Individual videos seem to work fine.

What operating system are you using?

Windows 11

What version of Tartube are you using?

v2.4.412

If your bug report is "I can't download this video", please provide a link to the video

Archiving/Downloading youtube channels is not working. No channel is working, only single videos. Channel I tried to archive: https://www.youtube.com/@coherentdigital (Amongst other channels) Output from Tartube in the output tab:

 yt-dlp --newline -i --hls-prefer-native --write-description --write-info-json --write-annotations --cookies C:/Users/Clovis/Videos/studiedag-tartube/cookies.txt --write-thumbnail --merge-output-format mkv --write-sub --recode-video mkv --windows-filenames --cookies-from-browser firefox+basictext --no-cookies-from-browser --sub-lang nl,en,fr,it,live_chat --output C:/Users/Clovis/Videos/studiedag-tartube/Workshop/channel_1/%(upload_date)s-%(id)s.%(ext)s --dump-json --download-archive C:/Users/Clovis/Videos/studiedag-tartube/Workshop/channel_1/ytdl-archive.txt https://www.youtube.com/@coherentdigital
WARNING: [youtube:tab] unable to extract yt initial data; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
WARNING: [youtube:tab] Incomplete yt initial data received. Retrying (1/3)...
WARNING: [youtube:tab] Incomplete yt initial data received. Retrying (2/3)...
WARNING: [youtube:tab] unable to extract yt initial data; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
WARNING: [youtube:tab] Incomplete yt initial data received. Retrying (3/3)...
WARNING: [youtube:tab] unable to extract yt initial data; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
WARNING: [youtube:tab] Incomplete yt initial data received; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U. Giving up after 3 retries
WARNING: [youtube:tab] unable to extract yt initial data; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
WARNING: [youtube] unable to extract initial player response; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
WARNING: [youtube] Incomplete data received in embedded initial data; re-fetching using API.
WARNING: [youtube] unable to extract yt initial data; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
[channel_1] <Simulated download of: '20230531-s6VnFmNgKEY'>
WARNING: [youtube] unable to extract initial player response; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
WARNING: [youtube] Incomplete data received in embedded initial data; re-fetching using API.
WARNING: [youtube] unable to extract yt initial data; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
[channel_1] <Simulated download of: '20230524-_qQShX_rpNM'>
WARNING: [youtube] unable to extract initial player response; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
WARNING: [youtube] Incomplete data received in embedded initial data; re-fetching using API.
WARNING: [youtube] unable to extract yt initial data; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
[channel_1] <Simulated download of: '20230519-J_TEwGqjY10'>
WARNING: [youtube] unable to extract initial player response; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
WARNING: [youtube] Incomplete data received in embedded initial data; re-fetching using API.
WARNING: [youtube] unable to extract yt initial data; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
[channel_1] <Simulated download of: '20230330-P-lvTNh-zrA'>
WARNING: [youtube] unable to extract initial player response; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
WARNING: [youtube] Incomplete data received in embedded initial data; re-fetching using API.
WARNING: [youtube] unable to extract yt initial data; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
[channel_1] <Simulated download of: '20230313-arOP8DVcrqo'>
WARNING: [youtube] unable to extract initial player response; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
WARNING: [youtube] Incomplete data received in embedded initial data; re-fetching using API.
WARNING: [youtube] unable to extract yt initial data; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
[channel_1] <Simulated download of: '20221207-MPbzZmJB_wc'>
WARNING: [youtube] unable to extract initial player response; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
WARNING: [youtube] Incomplete data received in embedded initial data; re-fetching using API.
WARNING: [youtube] unable to extract yt initial data; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
[channel_1] <Simulated download of: '20221207-pKUXF4hyZ90'>
WARNING: [youtube] unable to extract initial player response; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
WARNING: [youtube] Incomplete data received in embedded initial data; re-fetching using API.
WARNING: [youtube] unable to extract yt initial data; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
[channel_1] <Simulated download of: '20221207-ywVH3U_rsy8'>
WARNING: [youtube] unable to extract initial player response; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
WARNING: [youtube] Incomplete data received in embedded initial data; re-fetching using API.
WARNING: [youtube] unable to extract yt initial data; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
[channel_1] <Simulated download of: '20221207-zY-gPVYz-Fo'>
WARNING: [youtube] unable to extract initial player response; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
WARNING: [youtube] Incomplete data received in embedded initial data; re-fetching using API.
WARNING: [youtube] unable to extract yt initial data; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
[channel_1] <Simulated download of: '20221207-BICc0Jud-Sg'>
WARNING: [youtube] unable to extract initial player response; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
WARNING: [youtube] Incomplete data received in embedded initial data; re-fetching using API.
WARNING: [youtube] unable to extract yt initial data; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
[channel_1] <Simulated download of: '20221202-eDa4GP6Bemg'>
WARNING: [youtube] unable to extract initial player response; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
WARNING: [youtube] Incomplete data received in embedded initial data; re-fetching using API.
WARNING: [youtube] unable to extract yt initial data; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
[channel_1] <Simulated download of: '20221110-lwA_Xh2aTnA'>
WARNING: [youtube] unable to extract initial player response; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
WARNING: [youtube] Incomplete data received in embedded initial data; re-fetching using API.
WARNING: [youtube] unable to extract yt initial data; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
[channel_1] <Simulated download of: '20221110-tyB5tbknm_U'>
WARNING: [youtube] unable to extract initial player response; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
WARNING: [youtube] Incomplete data received in embedded initial data; re-fetching using API.
WARNING: [youtube] unable to extract yt initial data; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
[channel_1] <Simulated download of: '20221110-QjWjBGadxzk'>
WARNING: [youtube] unable to extract initial player response; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
WARNING: [youtube] Incomplete data received in embedded initial data; re-fetching using API.
WARNING: [youtube] unable to extract yt initial data; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
[channel_1] <Simulated download of: '20221110-JKyCw25IGBc'>
WARNING: [youtube] unable to extract initial player response; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
WARNING: [youtube] unable to extract yt initial data; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
WARNING: [youtube] Incomplete data received in embedded initial data; re-fetching using API.
[channel_1] <Simulated download of: '20220626-wERkU8ZIbHk'>
axcore commented 1 year ago

You have enabled this download option:

--dump-json

This places yt-dlp into simulation mode, so subtitles, metadata, thumbnails are all downloaded, but the actual video is not.

There are two solutions:

  1. Remove --dump-json. (Did you add it to Edit > General download options... > Name > Additional download options?, If so, you should remove it)

  2. Use --dump-json --no-simulate. You can add --no-simulate in Edit > General download options... > Name > Additional download options

I have tested downloading the channel https://www.youtube.com/@coherentdigital, using very similar download options to yours (only the cookies are different). The download seems to be working as normal, although yt-dlp is generating a lot of warnings.

Lod3 commented 1 year ago

Hi thanks for your time,

Remove --dump-json. (Did you add it to Edit > General download options... > Name > Additional download options?, If so, you should remove it)

I did not add --dump-json option in "Addition download options", maybe it was added because I checked the option to save/keep the metadata file.

I went for option 2, simply adding the --no-simulate option worked and indeed all the videos are downloaded now, thank you for the advice. Since the workshop is made for a target audience of archivists and people working in the digital cultural heritage field.
Funny the result dialog box shows no videos where downloaded. But it works so not complaining. chrome_UXOlELKz7s

Cheers

axcore commented 1 year ago

From your screenshot, I can see a red icon to the left of the channel name. This means that you have disabled downloads for this channel.

disabled

Right-click the channel, and make sure that Downloads > Just disable downloading is not selected. Also make sure that Downloads > Disable checking/downloading is not selected.

axcore commented 1 year ago

When downloads are disabled, Tartube checks the channel, rather than downloading it. (In other words, the Download all button behaves like the Check all button.)

Tartube added --dump-json because because that's what the Check all button does.

Good luck with your presentation!

axcore commented 1 year ago

Funny the result dialog box shows no videos where downloaded.

I tested this using very similar download options (only the cookies are different), it seems to be working as expected. Try the suggestions above, maybe the problem will resolve itself.

changes

Lod3 commented 1 year ago

From your screenshot, I can see a red icon to the left of the channel name. This means that you have disabled downloads for this channel.

That is very strange I did not go to the context menu of that channel and checked 'just disable downloading' The option was enabled. Thanks

axcore commented 1 year ago

It's an easy option to enable by mistake, I have done that quite a few times :)

Lod3 commented 1 year ago

Hey Thanks for all your help I want to ask if there is another way that option could been enabled through settings or through an add URL dialog? Because I am 100% sure I did not go through the context menu of the channel1 and selected just disable downloading?

axcore commented 1 year ago

The setting is changed by calls to media.Channel.set_dl_sim_flag() or media.Channel.set_dl_disable_flag() (in the file /tartube/media.py).

I can see only one call to these functions, that's the one in the popup menu that I described above.

Buttons in the Gtk graphics library are a little over-sensitive; very rarely they are "clicked" even when your mouse is no longer hovering above the popup menu, because of some system delay. I have noticed it a few times.

Because there is only one channel, you probably didn't notice the red icon. But most users will have ten or a hundred channels, and the red icon will be very obvious because it's only visible in one of those channels (the one that is not downloading).

Lod3 commented 1 year ago

Ok I see, I must have done it then. Thank you very much for your time and Tartube, people working in archives etc are not the the most tech savvy users and using terminal is completely outside their skill range.

If we make pictures I will send some! Cheers