-
Notifications
You must be signed in to change notification settings - Fork 10.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[SlidesLive] Use token for JSON retrieval and improve metadata extraction #29958
base: master
Are you sure you want to change the base?
Conversation
56c6a1c
to
666a963
Compare
The second download test fails (E) because ffmpeg is needed to download m3u8. Isn't ffmpeg in the CI VMs? |
You are supposed to just use |
Thanks, that makes sense, in that it accords with what I've seen. The second test didn't have |
I think he means that you should add a |
Indeed, not running the failing part of the test would stop it failing. The point is that this test as originally written didn't skip the download test (see |
download test with ffmpeg passes on the machine the test is written in. Once ffmpeg version changes, it may no longer pass. So ig the maintainers never tested it 🤷 |
Is this ffmpeg version dependency because different versions may download different-sized initial pieces of the video, which should be addressed here? Or is it that different versions of ffmpeg may reassemble the video in equivalent but bit-different ways? In which case we should be testing some invariant(s) rather than the MD5 of the download. |
I am not entirely sure. It's just something I have noticed from experience btw, the link in ur comment is broken |
Apparently, to put an anchor in GH Markdown you say:
And then this makes an anchor with actual HTML name Who could guess? Anyway, better now. |
Hi! Thank you for fixing the issue with slideslive! I am trying to download my video I recorded for a conference: https://slideslive.com/38972123/mix3d-outofcontext-data-augmentation-for-3d-scenes However, now I get an Error related to parsing JSON:
Do you have a clue where should I look to solve it? |
The supposed JSON downloaded from
|
Hi @dirkf |
Depending on what type of yt-dl installation you have, you can replace the However, as you appear to have the Windows self-extracting version, it's not so easy. It is reported that WinRAR can manipulate the yt-dl self-extracting archive (~8MB). Or if Python is installed on your Windows system (rather than using the version bundled into the self-extracting archive), you can install yt-dl 2021.12.17 with pip or pip3 and then update the extractor. When replacing the extractor, any compiled version ( |
Thanks @dirkf I'm fine with that, I was referring to latest issue "Failed to parse JSON" reported above. I do get the same thing. Example below.
|
Ah, I understand. Let's assume that the unparsable JSON is always a .m3u8 playlist pointing to JSON that has a similar format to the one I quoted, ie has a So is the right thing just to extract a playlist of all the videos in time order? |
I think that would be the right thing to do. Looking at the `'duration_ms' fields I'm guessing each chunk corresponds to a portion of the video to be synced with a specific slide. It did not use to be the case before so I wonder why the change, given that the website has no new functionalities compared to ~6 months ago. Anyway thanks again @dirkf. |
Anyone (@dirkf or others) keen to implement a fix for this ? I can offer a personal donation to the developer or the project if anyone can bump this up in the list of request priorities :) |
CTO from SlidesLive here. When you fetch When video service is When video service is Slides JSON contains images and videos. These are static slides and animations. Video slides are a little bit trickier to download and right now there isn't straightforward way to do that, unfortunately. Each slide has a However, we are in the process of upgrading our infrastructure a little bit right now. I cannot promise any kind of compatibility, unfortunately. Also, the custom M3U8 playlist might contain slides information directly in the future instead of the JSON link. Also, I would like to remind everyone to download videos in moderation. Traffic is not free and if too many videos would be downloaded causing high traffic charges we would have to start fighting against it. Also, videos are a property of conferences organizers. EDIT: I would love to help with fixing |
Your contribution is highly appreciated, as is the reminder to respect the site's resources. When a conference user archives a session for private use it may well save the site the cost of serving that session repeatedly whenever the user reviews it. And while wishing the site success and longevity, circumstances might lead to the session being unavailable online. |
This is great to hear, thanks for getting involved in the discussion @vojtad. You may be interested in hearing that my use case is to download conference talks in audio format for offline/>1x listening (e.g. with an MP3 player). The possible time savings for academics make this is a key feature of conferences turning online. Conferences that choose YouTube as a host make this effortless. So I think it's indeed in Slideslive's interest to make this possible (perhaps as a built-in feature ?). |
Please follow the guide below
Before submitting a pull request make sure you have:
In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:
What is the purpose of your pull request?
Description of your pull request and other information
The SlidesLive extractor now needs a
player_token
query parameter in the JSON URL, whose value is given by thedata-player-token
attribute in the HTML element (<div>
) withid="player"
.Also, some of the expected metadata (
timestamp
, eg) wasn't being collected.Resolves #29954.
May resolve #30881.