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的主要内容,如果未能解决你的问题,请参考以下文章
特定查询直接运行良好,或者在对其进行任何更改但在当前状态下需要更长的时间才能运行
Amazon Redshift 节点并行请求比顺序请求花费的时间更长