YouTube API视频上传在5-10个块之后停止(服务器到服务器)

时间:2016-11-28 17:11:19

标签: php youtube youtube-api youtube-data-api

我刚刚开始使用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块的最佳做法,是吗?

1 个答案:

答案 0 :(得分:0)

尝试使用Resumable Uploads。与简单上传相比,可恢复上传是为较大的文件设计的。

  

使用可恢复上传在以下任何一种情况下都特别有用   例:

     
      
  • 您正在传输大文件。
  •   
  • 网络中断的可能性很高。
  •   
  • 上传源自具有低带宽或不稳定互联网连接的设备,例如移动设备。
  •   
     

要启动可恢复的视频上传,请发送POST请求   以下网址。在URL中,将part参数值设置为   适合您的请求的价值。请记住参数值   标识要设置的包含属性的部分,以及   它还标识了您希望API响应的部分   包括。请求URL中的参数值必须是URL编码的。

https://www.googleapis.com/upload/youtube/v3/videos?uploadType=resumable&part=PARTS