Paul, your comment above about YouTube mkv incompatibility with ffmpeg intrigued me. I
went back to the German ASMR video mentioned upthread & downloaded the 4K video track &
the "medium quality" (YouTube's terminology) audio track using ffmpeg. I've attached my
ffmpeg logs for those operations to this post. For the audio, I got this odd error that
you can see in the log. Since the download was fairly short, I tried a second time.
That second try is what is in the attached log, but the first try gave identical results.
I don't know if this is what you meant when you said there are incompatibilities with
ffmpeg. It would take testing with plenty of other examples to reach a conclusion. But
the error I got was about 3 seconds from the end. I did successfully download almost the
whole audio track with ffmpeg. It seems almost compatible. Maybe there is just an error
in this content. Firefox Save Audio As had no trouble with it when I did that earlier in
this discussion. So I don't know exactly what to make of this error.
The video track downloaded completely, no errors, & it played fine. You will note,
however, the utterly putrid download speeds I was getting for these downloads. It is my
understanding that there is this magic formula you apply to the URLs for the tracks. I
am under the impression that this involves applying certain javascripts to parts of the
URL, then adding certain & qualifiers to the URL. When you do that, you get
multi-million bytes per second download speeds from YouTube. Since I don't know the
magic formula, my download of the video track lasted 6 hours. The audio track seemed to
get the speed we used to get with VDH in previous releases, that is, half the duration of
the clip. But my video download was in the 0.04-0.05 speed range. I thought the download
was going to last 10 hours, so 6 hours was better than expected. But still putrid. It's
a good thing computers (not to mention humans) can multitask. I was determined to see
this through so I just let it run while I went about doing other things.
Since I only just a couple of weeks ago got on Windows 11, I thought I would try playing
these 2 mkv tracks synchronously in VLC. I wanted to verify that the problems I had seen
on Windows 7 playing synchronous mkv content in VLC were still in W11. They are. When
you try to play separate mkv tracks synchronously in VLC, you can't skip. Skipping works
for a couple of skips, then the video resets to time index 0. This is the problem I saw
on W7 & it is still the problem I see on W11. This is obviously a bug in VLC. But it's
easily circumvented. I simply merged the 2 tracks into a single file. That lets you
skip around in the file just fine. That is the file I played to test my download
results. It worked fine, except for the last 3 seconds being silent.
There are a couple of advantages to downloading mkv content, no matter whether you do it
with ffmpeg or VDH. During download of mp4 content, you usually (not always, but almost
always) cannot play the content while the download is still in progress. This is not
true of mkv downloads. You can chase-play an mkv while it is still being downloaded.
VLC can read from the front of the file while your download is writing to the back of the
file. Of course, you can play only the portion of the clip that has been downloaded, but
still, this is an improvement over mp4. Another improvement over mp4 is what happens
when a download fails. With mp4, usually an interrupted download leaves you with a file
that cannot be played & cannot be repaired. The all-powerful moov atom is missing. I'm
talking about a download that ends with an error, not a download that you terminate early
yourself. Such mp4 content can be stopped via the VDH stop or abort button in the blue
dot status menu & you'll have a playable file. This was something you corrected in one
of the recent 8.x betas. Ditto for entering q in an ffmpeg command window. But if there
is for example a line error with an mp4, you usually end up with garbage no matter what
tool you're using. This is not true with mkv. There is no such thing as a moov atom in
mkv. I think the ability to chase play mkv content & the ability to play unexpectedly
interrupted mkv content are probably both the result of this same absence of a moov atom.
The file structure is just different. I imagine it was a design criterion for whoever
came up with the mkv file architecture. The goal was to eliminate the restrictions
imposed by the moov atom in mp4. Now, I might sound like some kind of expert. I'm not.
I don't know what the actual file structures are. I could not construct either mkv or
mp4 content from scratch. I need recording apps to do that, same as any other ordinary
user. I'm just describing what I have observed as a regular old user. Given these
advantages of mkv over mp4, I would probably always prefer to download mkv content,
except for the VLC thing. Maybe I should pursue that as a bug with the Videolan folks.
Maybe. If I get up the energy to sign up to their support forum & file a bug report. I
wouldn't hold my breath waiting for that.
So the point of my exercise was to question exactly what you mean by ffmpeg
incompatibility. It looks compatible to me, even if the downloads run at a snail's pace.
Can you give me some examples of YouTube content that refuses to download with ffmpeg?
And while I have your attention, please look in on this one:
https://groups.google.com/g/video-downloadhelper-q-and-a/c/AmqrGD84Lsc
It seems that the ffmpeg you have bundled with the CoApp has support for AES-128
encryption but not SAMPLE-AES encryption. My suspicion is that you need to build ffmpeg
differently. Unfortunately, I can't test out my theory on the content mentioned in that
thread because it is behind a user ID & password. But my web searches lead me to believe
that the real ffmpeg I have would support SAMPLE-AES encryption, whereas the user in that
other thread is reporting that the captive ffmpeg that you distribute with the CoApp is
missing this support due to the ffmpeg build parameters you use. Do please look at that
other thread.