问题标签 [caf-receiver-sdk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
2549 浏览

chromecast - Google Cast 自定义接收器超时

使用Google CAF Receiver SDK,当我们不使用接收器播放器时,我们如何防止接收器超时并自动终止投射会话?

标准的 Google Cast 用例是将媒体从设备发送到投射接收器,并让接收器使用播放器渲染媒体。CAF 接收器 SDK使用element 以美观、简单的方式提供此功能cast-media-player

但是对于那些我们想要从设备投射并渲染与使用无关的内容cast-media-player(例如 HTML 仪表板)的情况,我们如何让接收器保持活动状态?

例如,以下自定义接收器(为简洁起见为 HAML)导致投射会话在 5 分钟后自动终止......

接收器日志显示线路cast.framework.common.IdleTimeoutManager] timer expired,然后关闭。此处显示的示例接收器日志。

我试过了:

  • 将cast.framework.CastReceiverOptions #maxInactivity增加到一个非常大的数字
  • 定期从发送方加载新数据
  • 定期从接收方向发送方发送自定义消息
  • 定期从发送方向接收方发送自定义消息

很感谢任何形式的帮助!

0 投票
0 回答
255 浏览

android - CAF基础应用

我正在尝试使用 CAF 来创建自己的应用程序,并使用我自己的叠加层(如赞助商、徽标等)。(我想这是可能的吗?)

我从 CAF 开始,但关于它的信息很少。所以我根据https://developers.google.com/cast/docs/caf_receiver_basic创建了基本应用程序

在它下面说:

此时,用户可以打开他们的发送者应用程序,连接到他们的 Cast 设备,然后导航到媒体并按播放,这会告诉接收者将媒体流式传输到电视供用户观看。

但是,我可以将我的发送者应用程序连接到我的接收者应用程序,但没有播放。如果我使用默认接收器,则播放媒体没有问题。

0 投票
1 回答
975 浏览

chromecast - CAF Receiver:字幕定位

我创建了一个自定义 CAF 接收器,用于播放使用 Widewine 加密的 MPEG-DASH 内容。我的内容还嵌入了可以动态更改的清单中的 TTML 字幕。

播放我的加密内容就像一种魅力——甚至比在 V2 接收器上更好。我什至可以在不同的字幕之间进行选择。

但是,字幕的定位很差。它们不在播放器的中心,有时它们在球杆中间被切断(参见我的附图)。

我可以看出 CAF 接收器使用 shaka-player,据我所知,它可以处理字幕本身的解析 - https://github.com/google/shaka-player/tree/master/lib/text

据我从 CAF 接收器文档中得知,无法操纵接收器上的字幕位置。它们没有添加到 DOM 或任何东西中,所以你不能用 css 破解它。您唯一能做的就是在TextTrackStyle上设置 a TextTracksManager,它只允许设置颜色等。您没有其他选择textAlign或类似的选择。

我的问题:

  • 这是 CAF 接收器/shaka 播放器中的已知错误吗?
  • 有没有其他人有类似的问题?如果是这样,您是否设法修复它?

任何帮助是极大的赞赏!

示例 1

切断字幕

ttml 示例:

0 投票
2 回答
1721 浏览

javascript - Chromecast 定制 CAF 接收器

我遇到了新的 CAF 接收器没有将 YouTube iframe 播放器注册为播放器并且它正在播放的问题。连接到接收器 5 分钟后,连接断开,因为它认为播放器处于空闲状态。

这是发件人代码

接收器代码可以在这里找到:https ://github.com/zoff-music/zoff-chromecast-receiver/blob/feature/v3/receiver.js

是否有任何方法可以将新的 CAF 接收器挂接到 YouTube iframe 播放器,或“手动”调度 LOADED、BUFFERING、PLAYING、PAUSED、STOPPED 事件,以便接收器不会与发送器断开连接?

编辑:使用上面的代码,PlayerState 进入缓冲阶段,但停在那里。永远不会触发带有日志“加载成功”的承诺。

0 投票
0 回答
607 浏览

chromecast - CAF:即使在 shaka-player 更新后字幕定位问题

我们创建了一个自定义 CAF v3 接收器。我们遇到了与此处描述的问题相同的问题(屏幕左上角的字幕)CAF 接收器:字幕定位。看起来谷歌设法在 shaka-player v2.2.10 中解决了这个问题。https://issuetracker.google.com/issues/71890891。但是,即使在Google 将其 caf 库引用更新为 shaka-player.js v2.2.10 之后,我们仍然遇到字幕定位问题。这是一个ttml的例子。

ttml:

我不确定,但我怀疑这里的“扬声器”区域中的tts:origin可能是原因。即使在谷歌的参考更新之后,还有人遇到同样的问题吗?为了自定义字幕定位,有没有其他选择?

0 投票
1 回答
611 浏览

chromecast - 如何在 Cast SDK3 和 CAF 接收器上启用详细调试?

我正在转换为 CAF 接收器和 Cast SDK 3。我在将消息从 CAF 接收器发送到发送器时遇到了一些问题。我认为 CAF 部分正在工作,但要确保我想启用详细日志。我怎样才能为发送者(Android)和接收者做到这一点?

谢谢。

0 投票
1 回答
286 浏览

chromecast - CAF 接收器上的 cast.player.api.Player 直播选项等效于什么?

现在使用演员参考播放器作为我想要播放实时内容时传递Infinity的第二个参数。cast.player.api.Player.load()我如何使用 CAF 接收器来实现这一点?

谢谢。

0 投票
0 回答
535 浏览

chromecast - CAF:音轨更改问题

我们创建了一个自定义 CAF 接收器。当我们尝试切换音轨时,接收播放器仅在第一个请求时正常工作。如果我们尝试发出其他请求,我们能够在接收方看到正确的 EDIT_TRACK_INFO_REQUEST(带有正确的音频 TrackId),但音频不会改变。

我们在具有不同资产的 web/IOS/ANDROID 发件人上复制相同的行为。

有人有什么建议吗?提前致谢。

- -额外细节:

平滑流式处理清单音轨片段,请注意语言不遵循 RFC 规范

在接收端,实际上是在 PLAYER_LOAD_COMPLETE 上,我们对轨道进行自定义处理:

我们执行音轨的映射和处理

我们还基于文档建立了另一种处理此问题的方法,使用:

但是我们无法正确处理它,对此还有什么建议吗?

对于内部测试,我们还使用了这种具有相同行为的清晰流 - http://harmonic.e2e.purpledrm.com.edgesuite.net/Content/SS/VOD/yjO9VXw7-ElephantsDreamH264720p/ElephantsDream.ism/Manifest

非常感谢。

0 投票
1 回答
1038 浏览

chromecast - CAF 接收器:错误处理

我们基于 cast.framework.events.EventType.ERROR 事件创建了一个带有通用错误侦听器的自定义 CAF 接收器:

此处理程序正常工作,但有时播放器会为单个片段引发“404 片段错误”,导致视频停止。我们无法知道该错误是否与该特定片段相关,或者是否会有其他 404 片段,因此我们无法从错误处理程序中排除该错误。

有人知道解决此问题的更好方法吗?

0 投票
1 回答
218 浏览

chromecast - 如何在 CAF Receiver 中获取 DASH 资产的可用比特率和质量级别信息?

我正在开发一个投射 DASH 资产的 CAF 接收器。现在我想知道资产存在哪些可用比特率,以及每个片段的质量级别。

我之前开发了一个 V2 接收器。在 V2 中,使用媒体播放器库 (MPL) 可以轻松获取信息。我使用 StreamInfo.bitrates 来获取可用的比特率和 StreamingProtocol.getQualityLevel() 来获取质量级别。但我在 CAF 中找不到类似的东西。如何使用 CAF 接收器获取该信息?