1

我使用 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

4

0 回答 0