上传带有字幕的视频

时间:2014-10-30 15:30:33

标签: java youtube google-api youtube-api youtube-data-api

如何使用Youtube Data API v3上传带有字幕的视频?

文档没有mention任何内容。

要上传,请使用示例代码,代码如下:

VideoContentDetails contentDetails = new VideoContentDetails();
contentDetails.setCaption("00:00:00.105,00:00:05.413\nSubtitle 1\n\n00:00:05.667,00:00:08.750\nSubtitle 2");
videoObjectDefiningMetadata.setContentDetails(contentDetails);

根据this description from Youtube Data v2.

,我使用了标题的格式

但是当我尝试上传时:

com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 Bad Request
{
  "code" : 400,
  "errors" : [ {
    "domain" : "global",
    "message" : "Invalid value for: (.....) is not a valid value",
    "reason" : "invalid"
  } ],
  "message" : "Invalid value for: (.....) is not a valid value"
}
at com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:145)
at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:113)
at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:40)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:423)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:343)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:46)

1 个答案:

答案 0 :(得分:0)

目前Data API v3上没有Caption支持。 (你在代码中尝试的那个)

您只能通过v2设置标题,直到建立v3支持。

因此,如上所述,在使用v3上传视频后,您可以使用相同的ID来调用v2 api,如https://developers.google.com/youtube/2.0/developers_guide_protocol_captions#Create_Caption_Track