37 lines
593 B
Go
37 lines
593 B
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"fmt"
|
|
"os"
|
|
"os/exec"
|
|
)
|
|
|
|
type MPV struct {
|
|
cmd *exec.Cmd
|
|
socketPath string
|
|
}
|
|
|
|
func NewMPV(streamUrl string, socketPath string) MPV {
|
|
return MPV{
|
|
cmd: exec.Command("mpv", fmt.Sprintf("--input-ipc-server=%s", socketPath), streamUrl),
|
|
socketPath: socketPath,
|
|
}
|
|
}
|
|
|
|
func (mpv *MPV) Spawn() error {
|
|
mpv.cmd.Stdout = os.Stdout
|
|
mpv.cmd.Stderr = os.Stderr
|
|
|
|
return mpv.cmd.Start()
|
|
}
|
|
|
|
var testUrl string
|
|
|
|
func main() {
|
|
flag.StringVar(&testUrl, "test-url", "", "test url")
|
|
flag.Parse()
|
|
|
|
mpv := NewMPV(testUrl, "/tmp/mptv3.sock")
|
|
mpv.Spawn()
|
|
}
|