Chromecast 需要更长的时间才能从我的主机服务中投射 mp4

Posted

技术标签:

【中文标题】Chromecast 需要更长的时间才能从我的主机服务中投射 mp4【英文标题】:Chromecast taking longer time to cast a mp4 from my host service 【发布时间】:2014-02-16 04:33:42 【问题描述】:

我正在使用来自 iPhone 模拟器的 ios Chromecast 应用程序,当我尝试投射视频(例如,Big Buck Bunny)时,示例视频几乎立即开始。但是,当我使用来自源http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ 的相同 JSON 文件(videos-enhanced-b.json)托管(使用 godaddy.com ost 服务)相同的视频/mp4(Bigbuckbunny.mp4)时,渲染大约需要 2 分钟?非常感谢任何解释。谢谢

我的 media.h 如下:

#import <Foundation/Foundation.h>

#define MEDIA_URL_BASE @"http://www.myhosturl.com/subdirectory/"
#define MEDIA_URL_FILE @"videos-enhanced-b.json"

【问题讨论】:

【参考方案1】:

我建议您打开浏览器并指向接收器上的端口 9222 并观察消息进入以查看导致延迟的原因。发送方应用程序将加载消息直接发送到您的接收方,因此这显然非常快(并且不在乎您的媒体是否在这里或那里)但是在那之后,接收方必须从您的站点获取电影并渲染那。观察日志,看看你是否注意到那里有什么不寻常的地方。此外,通过您的 wifi 网络和笔记本电脑,尝试下载电影(例如,将您的浏览器指向它)并查看效果如何。

【讨论】:

如何获取Chromecast设备的IP/主机名,没有它,我不知道如何“指向你的接收器上的9222端口”/ 当我使用 chrome 浏览器打开 mp4 文件(大约 150MB - Bunny)时,没有观察到延迟。 抓取安卓手机并在那里安装 chromecast 设置应用程序;在那里你可以进入每个设备的设置并查看它们的 IP 地址【参考方案2】:

根据我从 X-Code 获得的日志,在“媒体控制通道元数据更改”后大约需要 3 分钟,如下所示。

2014-02-17 00:08:45.337 YouCast[1510:a0b] -[GCKMediaControlChannel didReceiveTextMessage:]  message received: "type":"MEDIA_STATUS","status":["mediaSessionId":1,"playbackRate":1,"playerState":"PAUSED","currentTime":0,"supportedMediaCommands":15,"volume":"level":1,"muted":false,"media":"contentId":"http://myurl.com/dd1.mp4","streamType":"NONE","duration":40.77424,"contentType":"video/mp4","metadata":"title":"Elephant Dream","images":["url":"http://myurl.com/images_480x270/ElephantsDream.jpg","width":200,"height":100],"metadataType":0,"subtitle":"Blender Foundation"],"requestId":3
2014-02-17 00**:08:45.338** YouCast[1510:a0b] Media control channel status changed
**2014-02-17 0**0:08:45.34**0 YouCast[1510:a0b] Media control channel metadata changed
2014-02-17 00:08:48.617 YouCast[1510:a0b] -[GCKCastSocket socket:didReadData:withTag:]  prefix read, expected message length=248**
2014-02-17 00:08:48.618 YouCast[1510:a0b] -[GCKMediaControlChannel didReceiveTextMessage:]  message received: "type":"MEDIA_STATUS","status":["mediaSessionId":1,"playbackRate":1,"playerState":"PLAYING","currentTime":1.291666,"supportedMediaCommands":15,"volume":"level":1,"muted":false],"requestId":0

Note:not able to point chrome browser  to 9222 

【讨论】:

如果出现问题,接收器日志确实会有所帮助。如果您尝试投射非常短的文件或不同的长文件,会发生什么情况?如果您在本地而不是通过 GoDaddy 提供文件怎么办? 我已经尝试过非常短且种类繁多的不同 MP4 文件。顺便说一句,它也发生在 PNG 和 JPG 文件中。无论如何,我尝试在本地运行并更新您。 我尝试在本地播放文件,它在应用程序 (iOS) 中播放,但我投射失败。 2014-02-17 07:55:18.490 YouCast[3316:a0b] 在开始时间 0.000000 投射电影文件:///Users/mosesrajan/files/dd1.mp4 2014-02-17 07:55:20.389 YouCast[3316: a0b] -[GCKCastSocket socket:didReadData:withTag:] 前缀读取,预期消息长度=121 2014-02-17 07:55:20.389 YouCast[3316:a0b] -[GCKMediaControlChannel didReceiveTextMessage:] 收到消息:"requestId": 3,"type":"LOAD_FAILED" 我修复了这个错误。本地文件(mp4)的启动和渲染速度与 Sample Bunny 视频(Google 示例 iOS)一样快。所以可能是 Godaddy 渲染是个问题。 迁移到 AWS 解决了延迟问题。显然,对于 Chromecast 内容托管来说,godaddy 并不是一个好的云解决方案。一如既往地感谢 Ali Naddaf 的帮助。

以上是关于Chromecast 需要更长的时间才能从我的主机服务中投射 mp4的主要内容,如果未能解决你的问题,请参考以下文章

特定查询直接运行良好,或者在对其进行任何更改但在当前状态下需要更长的时间才能运行

当按钮按下需要更长的时间时,Windows 会变暗

某些流的 Google Cast 速度很慢

Amazon Redshift 节点并行请求比顺序请求花费的时间更长

Spring DAO - 使用 JdbcTemplate 的第一次查询需要更长的时间

java - 多线程中的简单计算比单线程中需要更长的时间