Add yt-dlp path config value
This commit is contained in:
parent
6fed527515
commit
0b990c082b
|
@ -50,16 +50,19 @@ func init() {
|
||||||
rootCmd.PersistentFlags().IntP("port", "p", 8080, "port to listen on (default is 8080)")
|
rootCmd.PersistentFlags().IntP("port", "p", 8080, "port to listen on (default is 8080)")
|
||||||
rootCmd.PersistentFlags().StringP("listen", "l", "127.0.0.1", "address to listen on (default is 127.0.0.1)")
|
rootCmd.PersistentFlags().StringP("listen", "l", "127.0.0.1", "address to listen on (default is 127.0.0.1)")
|
||||||
rootCmd.PersistentFlags().StringP("base-path", "b", "", "the base path, used when behind reverse proxy (default is \"\")")
|
rootCmd.PersistentFlags().StringP("base-path", "b", "", "the base path, used when behind reverse proxy (default is \"\")")
|
||||||
|
rootCmd.PersistentFlags().StringP("ytdlp-path", "y", "yt-dlp", "the path to the yt-dlp binary, used when it is not in $PATH (default is yt-dlp)")
|
||||||
|
|
||||||
// trunk-ignore-begin(golangci-lint/errcheck): Ignoring errors
|
// trunk-ignore-begin(golangci-lint/errcheck): Ignoring errors
|
||||||
viper.BindPFlag("port", rootCmd.PersistentFlags().Lookup("port"))
|
viper.BindPFlag("port", rootCmd.PersistentFlags().Lookup("port"))
|
||||||
viper.BindPFlag("listen", rootCmd.PersistentFlags().Lookup("listen"))
|
viper.BindPFlag("listen", rootCmd.PersistentFlags().Lookup("listen"))
|
||||||
viper.BindPFlag("base_path", rootCmd.PersistentFlags().Lookup("base-path"))
|
viper.BindPFlag("base_path", rootCmd.PersistentFlags().Lookup("base-path"))
|
||||||
|
viper.BindPFlag("ytdlp_path", rootCmd.PersistentFlags().Lookup("ytdlp-path"))
|
||||||
// trunk-ignore-end(golangci-lint/errcheck)
|
// trunk-ignore-end(golangci-lint/errcheck)
|
||||||
|
|
||||||
viper.SetDefault("port", 8080)
|
viper.SetDefault("port", 8080)
|
||||||
viper.SetDefault("listen", "127.0.0.1")
|
viper.SetDefault("listen", "127.0.0.1")
|
||||||
viper.SetDefault("base_path", "")
|
viper.SetDefault("base_path", "")
|
||||||
|
viper.SetDefault("ytdlp_path", "yt-dlp")
|
||||||
}
|
}
|
||||||
|
|
||||||
func initConfig() {
|
func initConfig() {
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
port: 8080
|
port: 8080
|
||||||
listen: 0.0.0.0
|
listen: 0.0.0.0
|
||||||
base_path: ""
|
base_path: ""
|
||||||
|
ytdlp_path: yt-dlp
|
||||||
|
|
|
@ -4,11 +4,13 @@ import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
|
|
||||||
|
"github.com/spf13/viper"
|
||||||
)
|
)
|
||||||
|
|
||||||
func GetMetadata(url string) (Metadata, error) {
|
func GetMetadata(url string) (Metadata, error) {
|
||||||
cmd := exec.Command(
|
cmd := exec.Command(
|
||||||
"yt-dlp",
|
viper.GetString("ytdlp_path"),
|
||||||
"-J",
|
"-J",
|
||||||
"--cookies-from-browser", "firefox",
|
"--cookies-from-browser", "firefox",
|
||||||
url,
|
url,
|
||||||
|
|
|
@ -3,11 +3,13 @@ package ytdl
|
||||||
import (
|
import (
|
||||||
"io"
|
"io"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
|
|
||||||
|
"github.com/spf13/viper"
|
||||||
)
|
)
|
||||||
|
|
||||||
func Stream(wr io.Writer, url string, format Format) error {
|
func Stream(wr io.Writer, url string, format Format) error {
|
||||||
cmd := exec.Command(
|
cmd := exec.Command(
|
||||||
"yt-dlp",
|
viper.GetString("ytdlp_path"),
|
||||||
"-o", "-",
|
"-o", "-",
|
||||||
"-f", format.FormatID,
|
"-f", format.FormatID,
|
||||||
"--merge-output-format", "mkv",
|
"--merge-output-format", "mkv",
|
||||||
|
|
Loading…
Reference in New Issue