我使用 Http.fileSever() 将 m3u8 文件和一些 ts 文件上传到服务器。现在,我请求它们并通过 ioutil.ReadAll 读取它们。我应该怎么做才能播放 m3u8 文件。我试图只请求 m3u8 文件,但我发现我无法通过 ffplay 播放它。这是我的请求代码
res, err := client.Get(url)
if err != nil {
panic(err)
}
data, err := ioutil.ReadAll(res.Body)
defer res.Body.Close()
if err != nil {
log.Fatal(err)
}
fmt.Println(string(data))
这就是我得到的:
<pre>
<a href="origin.m3u8">origin.m3u8</a>
<a href="origin0.ts">origin0.ts</a>
<a href="origin1.ts">origin1.ts</a>
</pre>
我应该怎么做才能播放 m3u8 文件。实际上,我可以播放这个 m3u8 文件,如果我使用 ffplay 请求这样的 url 目录:
url := "http://192.168.0.110:8080/origin.m3u8"
res, err := http.Get(url)
if err != nil {
panic(err)
}
defer res.Body.Close()
data, err := ioutil.ReadAll(res.Body)
c := exec.Command("cmd", "/c", "ffplay", url)
if err := c.Run(); err != nil {
fmt.Println("Error: ", err)
}
但是现在,我正在尝试实现一个 p2p 系统,这样我只能从客户端获取数据,而不是跨 url