Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upGitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
[Youtube.com] Incompatible mixing of DASH formats #20498
Comments
|
This is expected behavior. If you don't need such behavior pass proper format selection expression. |
|
Instead of saying this is expected behavior, can we say this is undesirable behavior? Why would we want youtube-dl to download two incompatible streams that cannot live together, and indeed, YouTube itself would never pair together while watching from their website. I need a second opinion from somebody who understands that H264 (mp4) and AAC (m4v) can go together, but .H64 and Opus Audio (webm) cannot live together. Nobody sells a television set that will play a .mkv file with these two streams combined. Youtube-dl is doing it wrong, and everyone is going to have to re-download their archive materials because of it. |
|
But they are not incompatible? MKV works just fine. And what YT itself does with their JS player is something entirely different, I don't know why you would mention this. |
|
The point is they are dissimilar formats using dissimilar codecs that require a hack-job container (mkv) in order to cobble them together into a single file, which is incompatible for playback on the vast majority of set-top box and television hardware that would otherwise support properly paired DASH formats that are supposed to go together (h264+aac). I mentioned what YouTube does, because Google created the source material and knows their stuff -- it's an appeal to authority. I would add that VideoLAN (vlc player) also pairs DASH formats in the proper way. |
youtube-dl will often (typically) attempt to download the .mp4 video and the .webm audio DASH streams from YouTube, which is an inappropriate mix and creates an incompatible union that cannot be merged into a SANE format. They have to be glommed together in a makeshift .mkv container. When downloading the .mp4 video then only the .m4a audio should be downloaded along with it, so they can be merged together into a healthy .mp4 container that will play on normal devices.