我刚刚开始使用YouTube数据API,并努力挣扎着块大小。
这是文档中的PHP代码示例中设置块大小的方式:
// Specify the size of each chunk of data, in bytes. Set a higher value for
// reliable connection as fewer chunks lead to faster uploads. Set a lower
// value for better recovery on less reliable connections.
$chunkSizeBytes = 1 * 1024 * 1024;
在进行了更多测试之后,我发现 YouTube仅接受了前5-10个块,然后上传停止(有时它会在2分钟后继续进行,但仅用于几个块,然后停止永远)。
然后,我将块大小增加到10MB(10 * 1024 * 1024),但仍然存在相同的问题。档案大于50-100MB,只是在几块之后流产。现在,我将块大小设置为100MB(100 * 1024 * 1024),到目前为止工作正常,但是我尚未使用1GB 文件进行测试。
为什么会发生这种情况?如何解决此问题?
我无法想象如果要上传20GB视频,发送5GB块是最好的做法,是吗?
尝试使用可简历上传。与简单的上传相比,可重新上传是为较大文件设计的。
使用可重新上传在以下任何一个中都特别有用 案例:
- 您正在传输大文件。
- 网络中断的可能性很高。
- 上传源于具有低频带宽度或不稳定的Internet连接的设备,例如移动设备。
要启动可重新启动视频上传,请将发布请求发送到 遵循URL。在URL中,将零件参数值设置为 适合您的请求的价值。请记住参数值 标识包含您要设置的属性的零件,以及 它还标识了您想要API响应的零件 包括。请求URL中的参数值必须为URL编码。
https://www.googleapis.com/upload/youtube/v3/videos?uploadType=resumable&part=PARTS