Maybe youtube could embed something like a signature in the video metadata so that a video file could be inspected for tampering?
Maybe youtube could embed something like a signature in the video metadata so that a video file could be inspected for tampering?
The average person isn't going to know how to use a command line program to download a Youtube video. The average person also doesn't have enough space to maintain large and old archives. The average person wouldn't care to maintain and prune an archive for relevance every now and then. And even if you manage to get the average person to care about all of this - you still face the hurdle of there not being any "official" hash to compare to.
this practice is quickly becoming a legal nightmare. Sites that let you download youtube videos are being taken down left and right these days with RIAA lawyers going after many of them for cash settlements. How soon before they go after projects like youtube-dl and other similar programs?
I understand if it's a third-party site, because they'd have to make a copy of the video for you to have downloaded it (and only if it's one of those copying types - if all the site did was to compute the download-link, then it doesn't fall foul of any copyright at all).
Youtube is the weakest link here though. If the scumbags working for the media industry put enough pressure on youtube to get into an arms race against the program (and others like it) things could get ugly fast. Especially as DRM worms it's way deeper into the most fundamental parts of both the internet and our devices. In the end, we'll always have the analog hole but software like youtube-dl is still vulnerable.
(I really hope you're asking out of intellectual curiosity and not because you're affiliated with the RIAA/BVMI/IFPI/ETC)
but i think the attacks on the devs will be fruitless, unless they can somehow intimidate them without actually suing them (in which case, it's a baseless suit).
Youtube disallowing the app is a possibility - after all, the T&C of youtube may be changed to exclude anyone they want. But the youtube website will need to somehow allow the browser, but restrict non-browsers (or non-compliant browsers). DRM is the only thing i can think of which could achieve this goal - and that is one reason why i hate that google managed to put in DRM into the web standard.
identifying a website vs a command line tool can be difficult. youtube-dl already supports custom user agent strings and cookies. youtube might check for things like installed fonts, look for randomly named web bugs in cache, or even try checking page load/render times. Once folks figure out what youtube is looking for they can try to correct for it but youtube can counter with something else and certainly make things complicated.
This also wouldn't really work because a YouTube video isn't a single file. Videos are available in different qualities and formats. The video component tends to be separated from the audio component. If you want to combine them into a single file, you have to mux them. However, this process is not deterministic, so the resulting hash would differ depending on a multitude of factors.
Then Youtube would have to publish the hashes for each and every file that they encode the source material to. Practically impossible and especially unverifiable if YouTube ever disappears (or the source gets deleted).
A digital signature of the hash, embedded in the metadata and computed similarly to Reproducible Builds... doesn't take much space and especially only requires knowledge of the public key for verification.