1

使用 XE6 Google Glass 更新附加视频卡住了。我正在使用的代码是这样的:

    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);
    }

不知道我做错了什么,但视频仍在尝试下载,它正在耗尽我的电池......

4

2 回答 2

3

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

不幸的是,YouTube 对如何获取不属于您的视频的流并不十分坦率。(甚至对那些视频也没有帮助。)

于 2013-06-08T10:57:07.087 回答
2

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

根据此处的文档:

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

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

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

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

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

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

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

甜猫视频

这是我测试过的 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 视频(不是流)的情况下,视频似乎没有被缓存,它会重新下载它。

于 2013-06-09T01:29:37.517 回答