使用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);
}
不确定我做错了什么,但视频仍在尝试下载并且它正在杀死我的电池......
答案 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
如果你想要一个有猫的静态视频,你可以试试这个:)
这是一个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视频(不是流),视频不会被缓存,而是重新下载。