我一直在使用 YouTube API v3 进行一些测试,使用以下命令上传 Apache 服务器(在 Virtuozzo 上运行 CENTOS 6.7 x86_64 的 VPS、2GB RAM 和大量 CPU)上现有的视频文件提供断点续传脚本 https://developers.google.com/youtube/v3/code_samples/php?hl=en#upload_a_video.
在尝试了所有方法后,我能够达到的最大上传速度不超过 120KB/s。
我一直在玩输出缓冲区,关闭 GZipping https://github.com/google/google-api-php-client/issues/59,改变块大小(从 1 到 30MB),并检查服务器带宽速度(上传方向始终超过 250 Mb/s)。
考虑到您通过浏览器上传的速度有多快(我现在无法测试这个理论,因为我的互联网连接速度非常慢 - 但这是基于过去的经验),我很难相信这是 YouTube 的限制,除非是故意节流。我在 YouTube 文档或互联网上的任何地方都找不到通过 API 实现预期速度的任何文档。
有其他人遇到过上传速度慢的情况吗?有什么办法可以解决吗?提前致谢。
做了更多的测试后,我得出的结论是,速度慢的原因不是 YouTube 端的节流,而是 PHP 本身的核心基础设施内部的限制。然而,我确实通过改变 Google 的示例方法,使用 PHP 将速度从 ~120KB/s 提高到 ~770KB/sstream_get_contents
代替fread
(归功于这篇文章 https://stackoverflow.com/a/14670761/3596962).
但是,如果您仍然需要更多,我建议采用 Python 方法。通过 API,我在 83 秒内上传了 2GB 文件,速度约为 24MB/s。如果有人知道的话,了解速度巨大差异背后的基本编程原因会很有趣,尽管这超出了我的范围,我会赶紧补充。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)