用杜松子酒提供视频

时间:2020-08-02 22:45:54

标签: go go-gin

我正在编写一个api服务器,用于通过go-gin框架上传和提供视频和图像。我已将视频上传到另一台主机,并且可以正常运行

industries = ['Manufacturing', 'Food', 'Eco']
counts = [12, 78, 1]
tot = sum(counts)

# combine the two lists with zip and then reverse sort them
data = sorted(zip(industries, counts), key=lambda v: v[1], reverse=True)

plt.figure(figsize=(16, 6))
for (i, c) in data:  # unpack and plot each tuple in sorted order
    bars = plt.bar(i, c, width=0.2, bottom=None, align='center', data=None, color='g')
    plt.annotate(f'{(c/tot)*100:0.02f}%\n', xy=(i, c), va='center', ha='center')
plt.xlim(-0.9, len(industries) - 1 + 0.9)

plt.show()

当我尝试通过铬访问router := gin.Default() //config := cors.DefaultConfig() //config.AllowAllOrigins = true routerConfig := cors.Config{ AllowAllOrigins: true, AllowMethods: []string{"GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"}, AllowHeaders: []string{"X-Requested-With", "Authorization", "Origin", "Content-Length", "Content-Type"}, AllowCredentials: false, MaxAge: 12 * time.Hour, } router.Use(cors.New(routerConfig)) router.StaticFS("/public", http.Dir("static")) err := router.Run(":5000") if err != nil { panic(err) } 时。它加载到浏览器。但是当我通过铬访问http://localhost:5000/public/{image_url}.png时,它无法从浏览器加载任何内容(无法接收)

有人可以为我解释我在做什么错吗?

更新

也许我错过了此内容:

enter image description here

enter image description here

当我调用http://localhost:5000/public/{video_url}.mp4请求时,这是我的2个http软件包

1 个答案:

答案 0 :(得分:1)

您的问题有两种可能的解释。

  1. 这不是问题,因为您的浏览器没有任何运行视频的功能。
  2. (这是可能的解释)您没有为流视频设置正确的标题,以使浏览器无法识别或不知道该URL怎么处理。

例如,我从这个video中获得,当您检查响应标题时,它应该显示

content-length: 1570024
content-range: bytes 0-1570023/1570024
content-type: video/mp4

我的建议是使用http.ServeFile,它支持服务范围请求。请参阅相关问题GoLang http webserver provide video (mp4)How to serve http partial content with Go?

已更新

检查Gin StaticFS Godoc后,我认为它不支持Range标头。

测试后

所以我尝试了您的代码,但我错了, Gin StaticFS可以提供​​视频等内容范围

这是我的屏幕截图,已经使用Chromium进行了测试,效果很好:

load test.mp4

我的结论是:您的操作系统上不支持您的Chromium或您的编解码器或视频编解码器(我不知道您的操作系统是什么),请检查以下MP4 not playing on Chrome version 27.0

由于Chrome删除了对h264的支持,因此在某些计算机上,使用h264编码的mp4视频将无法正常工作(在Firebug /“网络”标签下查看时会引发解析器错误-与此处提交的问题一致),或者导致浏览器崩溃,具体取决于根据编码设置

不一致-完全取决于计算机上安装的编解码器-虽然我的机器上没有遇到此问题,但我们确实在办公室中出现了此问题(因此我们使用了此问题进行测试)

这可能与Quicktime / divX设置有关(有问题的计算机的Quicktime版本比我的本机版本早-我们并不想丢失测试计算机,因此我们没有对其进行更新)。 / p>