Chromecast渐进式MP4播放放大到裁剪视频,显示滚动条

时间:2014-02-05 16:41:27

标签: video chromecast

我在Google Cast SDK的新公开发布版中遇到了自适应HLS的问题(我会为另一个问题保存)所以作为一个完整性检查我想恢复到一个正常工作的渐进式MP4在开发人员预览版SDK中。

视频确实播放,但是有问题,它会放大并且屏幕上会出现滚动条。

以下是我的Chrome发件人代码中创建MediaInfo实例的部分:

var mediaInfo = new chrome.cast.media.MediaInfo('http://url_to_progressive_mp4.mp4');
mediaInfo.contentType = 'video/mp4';
mediaInfo.streamType = chrome.cast.media.StreamType.BUFFERED;
mediaInfo.duration = 1732;

http://url_to_progressive_mp4.mp4是CloudFront上的已签名网址,我可以在Chrome(浏览器),VLC等中打开它。它在SDK的开发者预览版中也运行良好。

我的接收器是自定义接收器,与文档中的示例相同:

<html>
<head>
  <title>Cast</title>
  <script src="//www.gstatic.com/cast/sdk/libs/receiver/2.0.0/cast_receiver.js"></script>
</head>
<body>
  <video id='media'/>
  <script>
    window.onload = function() {
      window.mediaElement = document.getElementById('media');
      window.mediaManager = new cast.receiver.MediaManager(window.mediaElement);
      window.castReceiverManager = cast.receiver.CastReceiverManager.getInstance();
      window.castReceiverManager.start();
    }
  </script>
</body>

我无法理解为什么会这样做,我希望在继续使用HLS之前让MP4再次运行。

2 个答案:

答案 0 :(得分:0)

我通过将接收器中的视频标签更改为以下内容来修复它:

<video id='media' width="100%" height="auto" />

他们应该更新他们的文档并更改客户接收者页面上的示例: https://developers.google.com/cast/docs/custom_receiver

默认情况下,SDK中的脚本会将其调整为350px宽。

答案 1 :(得分:0)

Cast团队在simple receiver页面的Github示例应用的receiver.html中说明了以下内容:

We find that having everything fit in the HTML boxes tends to look nicer on TV
so, we also set overflow: hidden, which clips all flowing outside of boxes or
adding of scrollbars, which aren't useful on TV.
-->
<style type="text/css">
  @import url(http://fonts.googleapis.com/css?family=Droid+Serif:400,700);
  body {
    font-family: "Droid Serif", serif;
    color: #444;
    line-height: 150%;
    border: 0px;
    margin: 0px;
    width: 100%;
    height: 100%;
    overflow: hidden !important;
  }
  video {
    width: 100%;
    height: 100%;
    margin: auto auto;
    overflow: hidden !important;
  }
</style>