在Update XE6之后使用video / vnd.google-glass.stream-url附加视频

时间:2013-06-08 09:12:54

标签: google-mirror-api google-glass

使用XE6 Google视频更新附加视频时会遇到困难。 我正在使用的代码是:

    String videoUrl = "http://www.youtube.com/watch?v=9bZkp7q19f0"; 
    if (videoUrl != null) {
      String contentType = "video/vnd.google-glass.stream-url";
      InputStream is = new ByteArrayInputStream( videoUrl.getBytes( ) );
      MirrorClient.insertTimelineItem(credential, timelineItem, contentType, is);
    }

不确定我做错了什么,但视频仍在尝试下载并且它正在杀死我的电池......

2 个答案:

答案 0 :(得分:3)

我认为问题在于您尝试流式传输YouTube网页,而不是从该网页流式传输视频。

不幸的是,YouTube并不是非常关注如何获取不属于您的视频的视频流。 (甚至对于那些有用的视频都没有帮助。)

答案 1 :(得分:2)

(使用下面的curl命令更新)

基于此处的文档:

https://developers.google.com/glass/timeline#attaching_video

将视频流式传输到时间轴不会像将视频附加到时间轴那样。相反,你应该做一个多部分的帖子。请注意,实际帖子的内容类型如下所示:

Content-Type: multipart/related; boundary="mymultipartboundary"

然后会有另外两种内容类型,即多部分内容的部分,第二种内容类型将是您指定的内容类型。

一些支持信息在“分段上传”下:

https://developers.google.com/glass/media-upload

如果你想要一个有猫的静态视频,你可以试试这个:)

Sweetie-Cat-Video

这是一个curl命令,我已经测试并使用上面的静态视频链接,以及如下的NASA流:

curl --header "Authorization: Bearer your_token_here" -H "Content-Type: multipart/related; boundary=mymultipartboundary" --data-binary @input.txt https://www.googleapis.com
/upload/mirror/v1/timeline

其中input.txt如下所示:

--mymultipartboundary
Content-Type: application/json; charset=UTF-8

{ "text": "Sweetie" }
--mymultipartboundary
Content-Type: video/vnd.google-glass.stream-url

http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8
--mymultipartboundary--

如果我执行此命令然后进入时间线,我会看到一张带有clapper board图标的加载卡,然后是带有加载文字的视频的第一帧。然后流开始。我没有看到我发布的文字(“Sweetie”)。如果我稍后返回该卡,则在nasa示例中,该流从当前时间开始。对于cat视频(不是流),视频不会被缓存,而是重新下载。