Coder Social home page Coder Social logo

goydl's Introduction

goydl

A simple youtube-dl library for go.

CircleCI Go Report Card Sourcegraph

See the main page for youtube-dl for more information.

Get the package

go get github.com/BrianAllred/goydl

Use the code

See the documentation for youtube-dl first to understand what it does and how it does it.

  1. Create a new youtubeDl client:

     youtubeDl := goydl.NewYoutubeDl()
    
  2. The Options object contains the various youtube-dl download parameters:

     youtubeDl.Options.Output.Value = "/path/to/downloads/video.mp3"
     youtubeDl.Options.ExtractAudio.Value = true
     youtubeDl.Options.AudioFormat.Value = "mp3"
    
     // Or update the binary
     youtubeDl.Options.Update.Value = true
    
     // Optional, required if binary is not in $PATH
     youtubeDl.YoutubeDlPath = "/path/to/youtube-dl"
    
  3. Listen to console output (optional, but recommended):

     go io.Copy(os.Stdout, youtubeDl.Stdout)
     go io.Copy(os.Stderr, youtubeDl.Stderr)
    
  4. Start the download:

     cmd, err := youtubeDl.Download("http://videosite.com/videoURL")
    
     if err != nil {
         log.Fatal(err)
     }
    
  5. Check the video's info:

     fmt.Printf("Title: %s\n", youtubeDl.Info.Title)
    
  6. Wait for the download to finish:

     // Synchronously:
     cmd.Wait()
     
     // Asynchronously:
     defer cmd.Wait()
    

goydl's People

Contributors

brianallred avatar snicol avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.