我刚刚开始使用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块的最佳做法,是吗?
答案 0 :(得分:0)
尝试使用Resumable Uploads。与简单上传相比,可恢复上传是为较大的文件设计的。
使用可恢复上传在以下任何一种情况下都特别有用 例:
- 您正在传输大文件。
- 网络中断的可能性很高。
- 上传源自具有低带宽或不稳定互联网连接的设备,例如移动设备。
要启动可恢复的视频上传,请发送POST请求 以下网址。在URL中,将part参数值设置为 适合您的请求的价值。请记住参数值 标识要设置的包含属性的部分,以及 它还标识了您希望API响应的部分 包括。请求URL中的参数值必须是URL编码的。
https://www.googleapis.com/upload/youtube/v3/videos?uploadType=resumable&part=PARTS