diff options
-rw-r--r-- | doc/devblog/youtube-dl.mdwn | 30 | ||||
-rw-r--r-- | doc/todo/switch_from_quvi_to_youtube-dl.mdwn | 11 |
2 files changed, 33 insertions, 8 deletions
diff --git a/doc/devblog/youtube-dl.mdwn b/doc/devblog/youtube-dl.mdwn new file mode 100644 index 000000000..0a7fbb51b --- /dev/null +++ b/doc/devblog/youtube-dl.mdwn @@ -0,0 +1,30 @@ +Working on [[todo/switch_from_quvi_to_youtube-dl]], because +quvi is not being maintained and youtube-dl can download a lot more stuff. + +Unfortunately, youtube-dl's interface is not a good fit for git-annex, +compared with quvi's interface which was a near-perfect fit. Two things +git-annex relied on quvi for are a way to check if a url has embedded media +without downloading the url, and a way to get the url from which the +embedded media can be downloaded. Youtube-dl supports neither. Also it has +some other warts that make it unncessarily hard to interface with, like not +always [storing the download in the location specified by --output](https://github.com/rg3/youtube-dl/issues/14864), +and [sometimes crashing when downloading non-media urls (eg over my satellite internet)](http://bugs.debian.org/874321). + +I've found ways to avoid all these problems. For example, to make +`git annex addurl` avoid unncessarily overhead of running youtube-dl +in the common case of downloading some non-web-page file, I'll have it +download the url content, and check if it looks like a html page. +Only then will it use youtube-dl. So addurl of html pages without +embedded media will get slower, but addurl of everything else +will be as fast as before. + +But there's an unavoidable change to `addurl --relaxed`. It will not check +for embedded media and more, because that would make it a lot slower, since +it would have to hit the network. `addurl --fast` will have to be used for +such urls instead. I hope this behavior change won't affect workflows +badly. + +Today was all coding groundwork, and I just got to the point that I'm +ready to have it run youtube-dl. Hope to finish it tomorrow. + +Today's work was sponsored by Jake Vosloo [on Patreon](https://www.patreon.com/joeyh). diff --git a/doc/todo/switch_from_quvi_to_youtube-dl.mdwn b/doc/todo/switch_from_quvi_to_youtube-dl.mdwn index 7737d6bb0..cfdd8a8a6 100644 --- a/doc/todo/switch_from_quvi_to_youtube-dl.mdwn +++ b/doc/todo/switch_from_quvi_to_youtube-dl.mdwn @@ -35,11 +35,6 @@ Another gotcha is that youtube-dl's -o option does not fully determine the filename it downloads to. Sometims it will tack on an additional extension (seen with youtube videos where it added a ".mkv"). And --get-filename does not report the actual filename when that happens. -Only way I can find to avoid this wart is output to stdout with "-o -", -but that would prevent resuming. Seems it would have to be run in a temp -dir and the file moved out to the git-annex location when done, which would -prevent stuff that operates on incomplete downloads from working. - -If the download is run in a temp directory anyway, could use -o to -make the filenames start with the playlist number, and support downloading -playlists, with the playlist item number encoded in the recorded url. +This seems to be due to format merging by ffmpeg; with -f best, it does +not merge and so does not do that. +<https://github.com/rg3/youtube-dl/issues/14864> |