gpt4 book ai didi

chromecast - 为什么 Chromecast 无法流式传输此 HLS 视频? "Neither ID3 nor ADTS header was found"/错误网络/315

转载 作者:行者123 更新时间:2023-12-01 00:13:48 26 4
gpt4 key购买 nike

我正在尝试通过发件人应用将一些 URL 流式传输到我的 Chromecast。它们是 HLS/m3u8 URL。

这是一个这样的示例 URL:https://qa-apache-php7.dev.kaltura.com/p/1091/sp/109100/playManifest/entryId/0_wifqaipd/protocol/https/format/applehttp/flavorIds/0_h65mfj7f,0_3flmvnwc,0_m131krws,0_5407xm9j/a.m3u8

然而,尽管其他 HLS/m3u8 URL 正常工作(example of an HLS stream that does work),但它们似乎从未加载到 Chromecast 上。

它与 CORS 无关,因为它们确实具有正确的 CORS header 。

我注意到他们在根 HLS list 文件中有单独的音频组。

当我将它连接到自定义接收器应用程序时,我得到以下日志:

enter image description here

相关位是(我认为):在 0 和 cast.player.api.ErrorCode.NETWORK/315 处都找不到 ID3 和 ADTS header (我相信这是第一个的结果)

这些是完全有效/有效的 HLS URL。它们可以在 iOS 和桌面上的 Safari 以及 VLC 中完美播放。

我需要做些什么(在我的发送者应用程序或我的接收者应用程序中)以启用诸如音轨之类的东西吗? The docs seem to indicate something about that .

我还发现了这个谷歌问题,一个人有类似的问题,但以某种我无法理解的方式解决了它。 https://issuetracker.google.com/u/1/issues/112277373

如何在 Chromecast 上正确播放此 URL?我要在代码中做点什么吗?

最佳答案

这已经有解决方案here但我会添加这个答案,以防有人查找确切的错误消息/代码。

问题出在hlsSegmentFormat初始化为 TS对于多路复用段,但当前默认为带有备用音轨的 HLS 打包音频。

解决办法是拦截CAF LOAD请求并设置正确的段格式:

const context = cast.framework.CastReceiverContext.getInstance();
const playerManager = context.getPlayerManager();
// intercept the LOAD request
playerManager.setMessageInterceptor(cast.framework.messages.MessageType.LOAD, loadRequestData => {
loadRequestData.media.hlsSegmentFormat = cast.framework.messages.HlsSegmentFormat.TS;
return loadRequestData;
});
context.start();

来源:Google Cast issue tracker

关于chromecast - 为什么 Chromecast 无法流式传输此 HLS 视频? "Neither ID3 nor ADTS header was found"/错误网络/315,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55385491/

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