Ios HTML5和MP4与M2TS容器

Ios HTML5和MP4与M2TS容器,ios,html,video,http-live-streaming,mpeg2-ts,Ios,Html,Video,Http Live Streaming,Mpeg2 Ts,问题: 要获得一个iOS应用程序,将接受的视频流传输到应用商店,我们需要一个HLS版本 有什么问题吗 Android不支持HLS,并且由于其他原因,我们需要存储相同内容的MP4和HLS文件 MP4和HLS之间的区别是什么?为什么需要同时存储它们 MP4是一个存储H.264视频和AAC音频的容器,可在HTML 5浏览器中实现最佳兼容性–如果浏览器不支持使用相同MP4文件但通过flash播放的HTML 5中的MP4视频,jsvideo播放器通常会有flash回退功能 HLS是一种协议,其中文本文件(

问题:

要获得一个iOS应用程序,将接受的视频流传输到应用商店,我们需要一个HLS版本

有什么问题吗

Android不支持HLS,并且由于其他原因,我们需要存储相同内容的MP4和HLS文件

MP4和HLS之间的区别是什么?为什么需要同时存储它们

MP4是一个存储H.264视频和AAC音频的容器,可在HTML 5浏览器中实现最佳兼容性–如果浏览器不支持使用相同MP4文件但通过flash播放的HTML 5中的MP4视频,jsvideo播放器通常会有flash回退功能

HLS是一种协议,其中文本文件(.m3u8)包含对播放列表的引用,播放列表本身引用.ts文件(或m2ts),它们是mpeg-2传输流,不能与mpeg-2视频混淆。.ts文件是相同H.264视频和AAC音频的容器

我为什么抱怨

  • 从MP4文件创建HLS文件和播放列表需要时间

  • (最重要的是)我们现在在S3上存储的数据是原来的两倍

  • 我为什么要在乎?如果存储MP4和HLS的S3账单是每月10000美元,那么现在只有5000美元。或者换句话说,如果在MP4中存储数据需要支付10万美元,那么在MP4和HLS中存储相同的内容需要花费20万美元

    我想要什么

  • 我只想存储.ts文件,并使用该文件为桌面用户、iOS用户和Android用户提供服务

    可能吗

    HLS不需要5-10秒的.ts段而不是一个大文件吗

    从IETF草案7和协议版本4开始,HLS支持标记EXT-X-BYTERANGE,它允许您将媒体段指定为较大URL的字节范围(子范围)

    .ts文件是否与HTML5视频兼容

    显然不是。它们与MP4是不同的容器,但包含相同的视频和音频内容。值得研究一下如何一次性存储原始视频/音频数据,并在必要时使用正确的容器。如果JS视频播放器可以在浏览器不支持HTML5MP4的情况下将HTML5MP4文件实时转换为Flash视频,那么为什么不能对M2TS数据进行同样的转换呢

    在某种程度上,我可能是无知的,但也许有人可以解释这个问题,并可能提出一个解决方案。

    目前没有好的解决方案

    有点背景

    视频流过去需要定制协议,如RTP/RTMP/RTSP等。这些协议工作良好,但我们基本上构建了两个独立的网络。一个是基于HTTP的标准web流量,另一个是基于HTTP的。这个想法产生了,将视频分割成小块,并通过HTTP将其提供给播放器。通过这种方式,我们不需要特殊的服务器/软件,我们可以利用正在构建的巨大HTTP CDN。此外因为视频被分割成块,我们可以将相同的视频编码成不同的质量/文件大小。然后,播放器可以根据当前带宽选择最佳质量的视频。由于不断变化的网络条件,这是移动设备的完美解决方案。制定了若干竞争标准。Move networks率先上市[需要引用]。该设计由微软(Smooth Streaming)和苹果(HTTP Live Streaming又名HLS)复制。微软正在逐步淘汰平滑流媒体,取而代之的是DASH。DASH看起来将成为未来默认的流媒体解决方案。除此之外,由于其设计采用礼让的方式,它基本上已经在礼让中停留了几年。现在,在这几年里,苹果卖出了数百万台IOS设备。因此,HLS不能仅仅停止。为什么不是每个人都使用HLS呢?我能想到三个原因:1)苹果是标准的,人们是憎恨者。2) 传输流是一种复杂的文件格式。3)运输流是一项专利权。MP4不受专利限制,但也不具备自适应能力。这使得2G网络上的用户体验很差。iPhone 1支持的唯一网络。同时AT&T当时也不希望全比特率的视频流通过celular网络传输。HLS是折衷方案。所有这些都早于HTML5。因此,视频标签在其设计中甚至没有考虑

    针对您的观点:

    1) 从MP4创建HLS文件和播放列表需要时间 档案

    这是一个编程网站,自动化它

    2) 我们现在在S3上存储的数据是原来的两倍 [sic]我只想存储.ts文件并为两个桌面用户提供服务, iOS用户和Android用户使用该文件

    你和我都是男人:)

    可能的解决办法

    1) Androids实现的具体错误是什么?(除了在旧设备中缺少数据)

    2) JW播放器可以玩HLS(在android上不确定)

    3) 服务器端按需传输

    HLS不需要5-10秒的.ts段而不是一个大文件吗

    您可以设置字节范围,但需要确保所有感兴趣的设备都支持它

    如果JS视频播放器可以将HTML 5 MP4文件转换为Flash视频 如果浏览器不支持HTML5MP4,为什么不呢 是否能够对M2TS数据执行相同的操作


    他们不皈依。Flash本机支持mp4。可以在AS3/JS中转换TS。我已经做到了。JW播放器可以在浏览器中转换TS。video.js也可以。

    这是一个老问题,但我只是想知道,在Apple HLS与DASH兼容后,这个问题现在是否已经解决了?