ytdl-org / youtube-dl

Command-line program to download videos from YouTube.com and other video sites
http://ytdl-org.github.io/youtube-dl/
The Unlicense
131.31k stars 9.95k forks source link

NTV.RU no longer embed mp4 files and instead stream using MPEG-DASH #27540

Open Bugg5Bunny opened 3 years ago

Bugg5Bunny commented 3 years ago

Since as it's "too much effort" for devs to verify a simple issue like "the site no longer provides something" and they expect to be shown it here expressly:-

./youtube-dl --verbose -F 'https://www.ntv.ru/peredacha/Pes/m85602/o635316/' [debug] System config: [] [debug] User config: [] [debug] Custom config: [] [debug] Command-line args: [u'--verbose', u'-F', u'https://www.ntv.ru/peredacha/Pes/m85602/o635316/'] [debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8 [debug] youtube-dl version 2020.12.22 [debug] Python version 2.7.18 (CPython) - Linux-5.4.0-54-generic-x86_64-with-Ubuntu-20.04-focal [debug] exe versions: none [debug] Proxy map: {} [ntv.ru] o635316: Downloading webpage [ntv.ru] 1977080: Downloading video XML [info] Available formats for 1977080: format code extension resolution note 0 mp4 unknown 336.82MiB

Instead, the site streams MPD with files like the one attached (wow, github bug reporting system is "interesting" too)...

Again, most basic issue, trivial bug report, but it seems easier for devs to "close as incomplete" than to actually look under the hood: it's like saying "the car no longer works because the engine is missing" and the mech. saying "provide evidence of you turning the ignition key, and that the petrol tank is full, and that the battery is fully charged..." No, the damn engine is MISSING!

manifest.zip

remitamine commented 3 years ago

instead of properly selecting the proper issue template(Site feature request), filling the template correctly(at least providing a URL that has the DASH formats, as not all videos from this website has them, and it would be better showing that the formats are not actually extracted with the latest version), which would allow to add support for them and also allow to anyone to verify that the issue has been fixed when a fix is pushed, instead you come here complaing that we're asking for unessessary info and that the developers instead of working on fixing verified issues, they should instead spend time verifying issues with with missing info. you(or anyone else) are welcome to provide the fix.

Bugg5Bunny commented 3 years ago

It's not a "site feature request," there already exists a separate module for ntv.ru, but that module is broken because, for the third time, the module assumes the site embeds MP4 videos but they have stopped doing that (save for and moved to MPEG-DASH.

Any video from the site will do, it's a site-wide issue! Although I suppose when the test harness is stuck in 2014 what can one expect?!

I'll happily provide a fix once the code is actually documented: it's very easy to write spaghetti code then tell people to spend time fixing things. Give me a document that describes how the parsing stage works for a site, the MPEG-DASH parsing interface, and what to do with the result, then sure, but asking people unfamiliar with the code to stare at the multi-thousand line code with no architectural docs, well, I ain't an idiot nor masochist.

remitamine commented 3 years ago

It's not a "site feature request," there already exists a separate module for ntv.ru, but that module is broken because, for the third time, the module assumes the site embeds MP4 videos but they have stopped doing that (save for and moved to MPEG-DASH.

no, it's not broken, the extractor would be considered broken when it can't reach the downloading stage at all, the example you have posted show the opposite, a 360p video can downloaded.

Any video from the site will do, it's a site-wide issue!

no, not all videos has the DASH formats, you're supposed to provide the example, not that the developer has to look for URLs that support the feature that you're asking for.

and for the implementation, there are hundereds of developers who have contributed code just by reading the developer instructions and looking at other extractors.

Bugg5Bunny commented 3 years ago

It's not a "site feature request," there already exists a separate module for ntv.ru, but that module is broken because, for the third time, the module assumes the site embeds MP4 videos but they have stopped doing that (save for and moved to MPEG-DASH.

no, it's not broken, the extractor would be considered broken when it can't reach the downloading stage at all, the example you have posted show the opposite, a 360p video can downloaded.

That's a funny definition of "broken," in a normal world "broken" => does not give the desired result, given that there are four video and two audio formats, I'd say only getting one format is axiomatically "broken."

Any video from the site will do, it's a site-wide issue!

no, not all videos has the DASH formats, you're supposed to provide the example, not that the developer has to look for URLs that support the feature that you're asking for.

and for the implementation, there are hundereds of developers who have contributed code just by reading the developer instructions and looking at other extractors.

There are lots of people with a lot of free time on their hands (incidentally, you could've easily fixed it by now instead of writing replies). And yes, I've got it working with simple curl, grep, and something else now, but I'll throw you a bone, here's the pattern you want to extract from the video page:'[^[]*h264\.mpd[^]]*'

remitamine commented 3 years ago

That's a funny definition of "broken," in a normal world "broken" => does not give the desired result, given that there are four video and two audio formats, I'd say only getting one format is axiomatically "broken."

put in the context, youtube-dl is video downloader, if it can't do it's function(downloading) then it's broken.

you could've easily fixed it by now instead of writing replies

yes, i can, it's a simple fix, but i'm not interested in working on it.

Bugg5Bunny commented 3 years ago

That's a funny definition of "broken," in a normal world "broken" => does not give the desired result, given that there are four video and two audio formats, I'd say only getting one format is axiomatically "broken."

put in the context, youtube-dl is video downloader, if it can't do it's function(downloading) then it's broken.

With that logic, if a car has six gear-gearbox but won't shift past 1st gear, you will deem it not broken; I get it!

you could've easily fixed it by now instead of writing replies

yes, i can, it's a simple fix, but I'm not interested in working on it.

Typical FOSS attitude: "someone fix my code!" From where I am sitting, I've spent under 5 mins writing a tiny script that does what it needs, and that is far less time than I would've spent fixing someone else's code with abysmal documentation.

remitamine commented 3 years ago

With that logic, if a car has six gear-gearbox but won't shift past 1st gear, you will deem it not broken; I get it!

for me this is refers malfunctioning not broken(nonfunctional).

Typical FOSS attitude: "someone fix my code!" From where I am sitting, I've spent under 5 mins writing a tiny script that does what it needs, and that is far less time than I would've spent fixing someone else's code with abysmal documentation.

it's not my code, the code is in the public domain, anyone can improve it.