gpt4 book ai didi

javascript - 将 Google 云端硬盘内容流式传输到 Chromecast

转载 作者:行者123 更新时间:2023-11-29 02:24:45 27 4
gpt4 key购买 nike

我正在尝试构建一个应用程序,用户可以在其中播放本地存储的 Google 云端硬盘内容并进行转换。

根据谷歌驱动器文档 Google Drive Developers Docs ,我必须发出这样的 http 请求:

GET https://www.googleapis.com/drive/v3/files/0B9jNhSvVjoIVM3dKcGRKRmVIOVU?alt=media
Authorization: Bearer <ACCESS_TOKEN>

要在本地播放,我使用 exoplayer ,工作非常顺利,我的问题是当我尝试转换内容时。

我想我已经阅读了来自 google cast 开发者网站 Google Cast Developers Docs 的所有引用发送者和接收者应用程序的文档。 , 我一直无法转换内容。

接收器应用程序正在获取 403 error当我调试时,因为它需要身份验证。 403 Error on browser .

此错误是因为我无法设置 HTTP header “Authorization: Bearer ACCESS_TOKEN”,因为据我所知没有设置 HTTP header 的选项。

我什至打开了一个 issue ticket to google Here ,我要求将该功能包含在通用接收器应用程序中,这样我们就不必仅为该功能托管接收器应用程序。他们回答了这个问题

您需要编写一个接收器并在 playbackConfig.manifestRequestHandler 中提供一个处理程序来添加 header 。您将需要使用加载请求的 customData 字段来传递您的 token 或任何其他数据。"

因此,我尝试按照他们告诉我的去做,现在发送方应用程序将授权 token 发送到接收方应用程序,但我无法将 token 设置为请求 header 。

这是接收器应用程序的当前代码。

const context = cast.framework.CastReceiverContext.getInstance();
const castOptions = new cast.framework.CastReceiverOptions();
const playerManager = context.getPlayerManager();

let playbackConfig = (Object.assign(new cast.framework.PlaybackConfig(), playerManager.getPlaybackConfig()));

playerManager.setMessageInterceptor(
cast.framework.messages.MessageType.LOAD,
request => {
console.log("token: ", request.media.customData.token);

playbackConfig.manifestRequestHandler = requestInfo => {
requestInfo.withCredentials = true;
requestInfo.headers = {};
requestInfo.headers['Authorization'] = request.media.customData.token;
};
return request;
});
castOptions.playbackConfig = playbackConfig;
context.start(castOptions);

如果有人能帮助我或指导我,那就太好了。谢谢

最佳答案

经过数月的研究,我改变了构建发送给 cast 的 URL 的方式,无需访问 token 。现在我只需按以下格式发送我要转换或下载的文件。(API key 必须有权访问这些文件)

https://www.googleapis.com/drive/v3/files/GOOGLE_DRIVE_ID_OF_THE_FILE?alt=media&key=API_KEY

之后我收到了其他错误,我在这个 Link 中报告给了谷歌,他们发现我的视频的编解码器有问题(Here 是支持的编解码器列表)。所以我不得不重新编码我所有的视频。我用了Handbrake为此,它甚至有一个 chromecast 预设。最后我能够从谷歌驱动器中转换我的视频。

关于javascript - 将 Google 云端硬盘内容流式传输到 Chromecast,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52940227/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com