This package is a Youtube video download package, for more detail refer https://github.com/rg3/youtube-dl for more download options.
- Install
- Usage
- Options
- Example: Download video from [dotGo 2015 - Rob Pike - Simplicity is Complicated]
go get github.com/kkdai/youtube
OR
git clone https://github.com/kkdai/youtube.git
go run youtubedr/main.go
pkg install youtubedr
It's really simple to use, just get the video id from youtube url - ex: https://www.youtube.com/watch?v=rFejpH_tAHM
, the video id is rFejpH_tAHM
$ youtubedr QAGDGja7kbs
$ youtubedr https://www.youtube.com/watch?v=rFejpH_tAHM
package main
import (
"flag"
"fmt"
"log"
"os/user"
"path/filepath"
. "github.com/kkdai/youtube"
)
func main() {
flag.Parse()
log.Println(flag.Args())
usr, _ := user.Current()
currentDir := fmt.Sprintf("%v/Movies/youtubedr", usr.HomeDir)
log.Println("download to dir=", currentDir)
y := NewYoutube(true)
arg := flag.Arg(0)
if err := y.DecodeURL(arg); err != nil {
fmt.Println("err:", err)
}
if err := y.StartDownload(currentDir, "dl.mp4", "medium",0); err != nil {
fmt.Println("err:", err)
}
}
option | type | description | default value |
---|---|---|---|
-d |
string | the output directory | $HOME/Movies/youtubedr |
-o |
string | the output file name ( ext will auto detect on default value ) | [video's title].ext |
-d |
string | the Socks 5 proxy (e.g. 10.10.10.10:7878) | |
-q |
string | the output file quality (medium, hd720) | |
-i |
string | the output file itag (13, 17 etc..) | 0 |
-info |
bool | show information of available streams (quality, itag, MIMEtype) |
-
go get github.com/kkdai/youtube/youtubedr
Download video from dotGo 2015 - Rob Pike - Simplicity is Complicated
youtubedr -info https://www.youtube.com/watch?v=rFejpH_tAHM Title: dotGo 2015 - Rob Pike - Simplicity is Complicated Author: dotconferences -----available streams----- itag: 18 , quality: medium , type: video/mp4; codecs="avc1.42001E, mp4a.40.2" itag: 22 , quality: hd720 , type: video/mp4; codecs="avc1.64001F, mp4a.40.2" itag: 137 , quality: hd1080 , type: video/mp4; codecs="avc1.640028" itag: 248 , quality: hd1080 , type: video/webm; codecs="vp9" ........
-
go get github.com/kkdai/youtube/youtubedr
Download video from dotGo 2015 - Rob Pike - Simplicity is Complicated
youtubedr https://www.youtube.com/watch?v=rFejpH_tAHM
-
go get github.com/kkdai/youtube/youtubedr
Download video from dotGo 2015 - Rob Pike - Simplicity is Complicated to current directory and name the file to simplicity-is-complicated.mp4
youtubedr -d ./ -o simplicity-is-complicated.mp4 https://www.youtube.com/watch?v=rFejpH_tAHM
-
go get github.com/kkdai/youtube/youtubedr
Download video from dotGo 2015 - Rob Pike - Simplicity is Complicated with specific quality
youtubedr -q medium https://www.youtube.com/watch?v=rFejpH_tAHM
Installation of ffmpeg is necessary for hd1080
ffmpeg //check ffmpeg is installed, if not please download ffmpeg and set to your PATH. youtubedr -q hd1080 https://www.youtube.com/watch?v=rFejpH_tAHM
-
go get github.com/kkdai/youtube/youtubedr
Download video from dotGo 2015 - Rob Pike - Simplicity is Complicated
youtubedr -i 18 https://www.youtube.com/watch?v=rFejpH_tAHM
- Parse the video ID you input in URL
- ex:
https://www.youtube.com/watch?v=rFejpH_tAHM
, the video id isrFejpH_tAHM
- ex:
- Get video information via video id.
- Use URL:
http://youtube.com/get_video_info?video_id=
- Use URL:
- Parse and decode video information.
- Download URL in "url="
- title in "title="
- Download video from URL
- Need the string combination of "url"
- https://github.com/ytdl-org/youtube-dl
- https://github.com/lepidosteus/youtube-dl
- 拆解 Youtube 影片下載位置
- iawia002/annie
- How to get url from obfuscate video info: youtube video downloader with php
It is one of my project 52.
This package is licensed under MIT license. See LICENSE for details.