ios - 云端视频流不适用于 iOS 设备

标签 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 视频可以完美流式传输,我的视频可以下载而不是流式传输。点击谷歌后,我发现 HLS 是解决方案之一,但我正在寻找简单的流式传输替代方案,因为我的视频最大长度为 1 分钟,而 HLS 非常适合更大的文件。任何人都可以建议我应该怎么做才能使我的视频在没有 HLS 的情况下流式传输?

此外,我尝试在 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];
}

最佳答案

问题可能是上传视频的内容类型

您可以转到 s3 存储桶并检查 properties 选项卡下的 metadata 字段

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

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

希望对你有帮助

关于ios - 云端视频流不适用于 iOS 设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31950661/

相关文章:

xcode6 - 在Xcode 6上安装iOS 6模拟器

iOS 完整数据保护 + 应用程序 :performFetchWithCompletionHandler

ios - 无法在 iPad + Swift 3 上使用蓝牙扬声器进行录音

ios - 在iPhone上启动libgdx项目时出现PropertyListFormatException

ruby-on-rails - aws-s3 gem 和 right_aws gem 之间的 Rails Paperclip 冲突。怎么解决?

ios - RPSCommonObjects.m 解析问题未知类型名称 NSString

ios - UIView 方法 swizzling swift 3

javascript - 如何让用户通过我的自定义域访问 amazon s3 html/javascript 页面?

PHP:如何使用 php 代码在不使用 CLI 的情况下在 s3 存储桶之间同步数据。?

ios - 在 Swift 应用程序中使用 Obj-C 子项目