云端视频流无法在ios设备上运行

时间:2015-08-11 19:48:16

标签: ios amazon-s3 xcode6 video-streaming amazon-cloudfront

我正在尝试使用亚马逊云端网络分发在IOS设备上传输视频(苹果设备不支持RTMP流媒体),视频存储在s3中。此外,所有人都可以访问该链接。当我尝试粘贴视频时在浏览器中链接视频开始下载而不是流式传输。 在Instagram的网站上检查后,我发现Instagram做了同样的事情(也许),但不同之处在于它使用了akamai CDN而我正在使用亚马逊的云端

我的链接:

http://d16jy53srxox6v.cloudfront.net/brown.mp4

Instagram视频流媒体链接:

https://igcdn-videos-b-2-a.akamaihd.net/hphotos-ak-xfa1/t50.2886-16/11773361_692383954227382_242786346_n.mp4

Instagram视频流完美,我的视频下载而不是流媒体。点击google后我发现HLS是解决方案之一,我正在寻找简单的流媒体替代方案,因为我的视频最大长度为1分钟而HLS适合更大的文件。任何人都可以建议我如何在没有HLS的情况下使我的视频流畅?

Morover我尝试在ios设备中对其进行流式传输,但它会尝试下载然后播放它。这是我的代码:

    -(IBAction)click:(id)sender
{
    // Make a URL
    NSURL *url = [NSURL URLWithString:
                  @"http://d16jy53srxox6v.cloudfront.net/brown.mp4"];

    // Initialize the MPMoviePlayerController object using url
    _videoPlayer =  [[MPMoviePlayerController alloc]
                     initWithContentURL:url];


    // Set control style to default
    _videoPlayer.controlStyle = MPMovieControlStyleDefault;

    // Set shouldAutoplay to YES
    _videoPlayer.shouldAutoplay = YES;
    _videoPlayer.movieSourceType=MPMovieSourceTypeStreaming;

    // Add _videoPlayer's view as subview to current view.
    [self.view addSubview:_videoPlayer.view];

    // Set the screen to full.
    [_videoPlayer setFullscreen:YES animated:YES];
}

1 个答案:

答案 0 :(得分:0)

问题可能是上传视频的content type

您可以转到s3存储桶并查看metadata标签下的properties字段

我在s3上的一个视频遇到了同样的问题,它曾经下载而不是播放。

我通过向视频添加元数据解决了这个问题 Content-Type = video/mp4

希望这会有所帮助