Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Somewhat related. Anyone have a good utility for downloading youtube videos?



I'm a recent convert to youtube-dl. I use some bash scripts[0] to make youtube-dl even easier. I have a Mac but these should work elsewhere.

Copy the video page URL to your clipboard and just type

yd - download the video. Works on most popular sites with video.

yda - download just audio, best available

ypl - makes a subfolder with the whole playlist in it (Copy the playlist URL)

yc - downloads every video on the channel (Copy the channel URL)

    yd () { youtube-dl "$(pbpaste)" ; }
    yda () { youtube-dl -f bestaudio "$(pbpaste)" ; }
    ypl () { youtube-dl -i -o '%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s' "$(pbpaste)" ; }
    yc () { youtube-dl -i -o '%(channel)s/%(title)s.%(ext)s' "$(pbpaste)" ; }
I use especially yd and ypl constantly. Sites where youtube-dl doesn't work, this usually does: Get the master m3u8 or an mp4 link from the page using Developer tools->Network[1], copy link to clipboard, and

vd myfile - downloads the video as myfile.mp4

    vd () { youtube-dl -o "$1.mp4" "$(pbpaste)" ;  }
[0] Save them in your .bash_profile or equivalent on your machine.

[1] i.e. with Network tab open, refresh page and start video playing.


Nice. Thanks for the aliases. I just started using it myself for downloading and transcribing some videos. It works pretty well.


And back on topic youtube-dl uses system ffmpeg for converting youtube's .webm and other weird discrete formats into proper video (or audio) files.


Just a reminder, depending on your installation method of youtube-dl , you may have to manually install ffmpeg globally on your system in order to download/mux highest quality videos.


It should be noted that despite the name it supports a lot of different websites, not just Youtube. It's great to capture hls streams for instance.



And for good reason Insane amount of customization, and once you finally have pieces together your 10 line command with 40 parameters, you can just give it a huge list of URLs and let it do all the work in the background.


Thanks.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: