问题标签 [http-live-streaming]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
31653 浏览

android - Android 2.2 HTTP 渐进式流媒体 = HTTP 实时流媒体?

Stagefigh 媒体框架 (Android 2.2) 支持 HTTP 渐进式流式传输。
那是什么意思?即这是一个HTTP Live Streaming 协议实现吗?

以及如何在 Android 上使用 HTTP Live Streaming,我的意思是客户端是什么 - Web 浏览器、MediaPlayer 或只是“in-SDK”实现,我必须从某个类继承?

0 投票
1 回答
1833 浏览

iphone - 应用因未使用 HTTP 实时流协议而被拒绝

我是否需要进行任何代码级别的更改才能通过 HTTP 实时流协议播放我的视频?还是更多的是服务器问题,我需要在哪里重新编码视频等?

我们已经审核了您的应用程序,但无法将此版本发布到 App Store,因为它没有使用 HTTP Live Streaming 协议,该协议是通过蜂窝网络广播流式视频超过十分钟所必需的。我们在下面提供了更多详细信息以帮助解释该问题,并希望您考虑修改并重新提交您的申请。

这是我播放视频的方式。它只是指向一个 CloudFront URL:

0 投票
1 回答
330 浏览

iphone - 如何在 MPEG 基本音频文件中编码 MP3?

如何在 MPEG 基本音频文件中编码 MP3?我想将 MP3 音频文件从 Web 服务器流式传输到 iPhone。按照Apple文档中显示的程序,

http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StreamingMediaGuide/HTTPStreamingArchitecture/HTTPStreamingArchitecture.html#//apple_ref/doc/uid/TP40008332-CH101-SW3 他们说媒体编码器需要一个来自音频-视频设备的实时信号,对媒体进行编码,并将其封装以进行传输。现在我的疑问是如何编码媒体文件?例如,如果 MP3 是音频文件,我需要将其编码为 MPEG 基本音频文件。怎么实现??请帮忙。

谢谢你。

0 投票
0 回答
1073 浏览

iphone - 使用 Apple 的 Http Live Streaming Protocol 仅将音频流式传输到 iPhone iOS 3.1.3 的最佳选择是什么?

我正在构建一个应用程序来处理来自使用 Http Live Streaming Protocol 发送信息的服务器的流媒体音乐。
我正在使用 AVPlayer(带有 AVPlayerItem)来解码服务器正在发送的 m3u8 文件,但此类仅在 iOS 4 中引用。
可以选择使用 MPMoviePlayerController 的 initWithContentUrl: 方法,但在 3.2 之前无法调整帧大小,它只能全屏播放。另外我想创建一个自定义播放器,这个类不适合这个目的。
我知道 Matt Gallagher 的AudioStreamer类,但这似乎只适用于 mp3。有没有办法让这个类与 Http Live Streaming 一起工作?有没有办法只使用 iOS 3.1 中的 Http Live Streaming 来流式传输音频。3?
谢谢

0 投票
1 回答
894 浏览

http-live-streaming - 支持苹果http直播的软件

PC或Linux平台上是否有任何支持Apple http直播草稿提案的客户端或播放器。也就是说,它能够自动重新加载 m3u8 播放列表来进行直播。我在 Safari 和 Chrome 上尝试了苹果的 iphone 示例页面,但不起作用。

0 投票
1 回答
1258 浏览

windows - 在 Windows 上为 HTTP 实时流媒体转换媒体文件?

我希望能够从服务器运行 HTTP 实时流,这样我就可以通过 HTTP 在我的 iPhone 上播放文件。我知道可以通过 safari /without/ live streaming 播放媒体文件,但我想试一试。

据我所知,可用于将媒体文件转换为直播所需格式的唯一工具是 Mac OSX。我没有 Mac,我想知道是否有任何适用于 Windows 的等效工具?

0 投票
7 回答
15022 浏览

ios - 带加密的 HTTP 实时流式传输

我试图了解 Apple 在其 iOS 设备以及 Safari 上支持的 HTTP Live Streaming 协议如何保护解锁内容的密钥。

我理解它的方式,.m3u8 文件将整个内容放在一起并引用内容(在 MPEG2 TS 容器中,AES 128 加密)和 TS 文件的密钥。

就像在这个例子中一样:

假设基于浏览器的播放,其中<video>元素在“src”属性中被提供一个 m3u8 文件。在这种情况下,即使密钥是通过 https 传递的,我如何确保用户不会简单地在浏览器中输入 https URL 并将密钥保存到他的硬盘中?我理解机制的方式,密钥下载是由<video>标签完成的,因为它使用浏览器的 https 堆栈播放 m3u8 源 - 浏览器内的合法客户端如何与仅在地址栏中键入它的用户区分开来?这一定很明显,但我只是没有看到它......

一切顺利,

丹施

0 投票
1 回答
1566 浏览

ios - AVPlayer 在加密的 HLS 材料上崩溃

我有一个问题,在播放加密的 HLS 资产并且加密密钥丢失时,我在 URLConnectionClient 中得到了 EXC_BAD_ACCESS。MPMovieViewController 没有问题,只是无法播放,但正如我提到的,当 AVPlayer 无法检索解密密钥时,我会崩溃。

例如这个:

如果文件 prog_index.m3u8 已加密解密密钥不可用,则会在单独的线程中崩溃(具体为 com.apple.coremedia.networkbuffering)。我已经验证在可以加载解密密钥时它可以正常工作。

有谁知道解决方法?

0 投票
2 回答
29023 浏览

android - 将视频编解码器添加到 Android

有人可以解释一下我需要采取哪些步骤才能向 Android 添加新的编解码器吗?

此外,我希望将编解码器作为应用程序安装(或首次启动)的一部分进行安装,而不是作为完整 Android 操作系统构建的一部分。

我想这样做的原因是我有一个应用程序需要显示不受支持的编解码器(HLS 或 TS)的视频,但我不想构建一个完整的视频播放器 - 只需与现有的集成,内置, 播放器.

谢谢,阿利克。

0 投票
2 回答
30034 浏览

iphone - 在 iOS 客户端上使用 HTTP Live Streaming 播放音频文件流,而不会将 UI 丢失到 Quick Time

我有一个 HTTP Live 流媒体服务器设置,它提供分段的 mp3 音频内容(URL 指向 playlist.m3u8 索引文件)。我需要构建一个 iOS 客户端应用程序来使用这个音频流,而不使用任何标准的 Apple 控件/UI。它应该在后台播放流,我想使用我自己的自定义 UI 来提供控件。

由于内容是纯音频,我不想使用 MPMoviePlayerController 类,因为它接管了 UI。我尝试过使用 AVAudioPlayer,尽管它不适用于网络流,毫无疑问,它无法播放错误代码“-43”:NSOSStatusErrorDomain。

我还尝试创建一个高度和宽度为 1 像素的 UIWebView,并将其指向服务器上的 playlist.m3u8 文件。这可行,但不幸的是我仍然丢失了 UI,因为 UIWebView 只是将回放任务委托给 QuickTime 播放器,该播放器在我的应用程序中启动,并为 iOS 3.xx 设备提供全屏显示。

基本上,在我看来,Apple 似乎没有提供任何客户端 API 来消费 HTTP Live Streaming音频流,并且开发人员被迫将 UI 让给 QuickTime 播放器,该播放器播放带有 QT 徽标篡夺屏幕的流。呃……

我很想知道是否有人有建议可以帮助我解决上述问题。否则,我的 B 计划是放弃 HTTP Live Streaming 并使用著名的Matt Gallagher 经典流实现。但是,我有点担心Apple 的指导方针,该指导方针明确表明,对于预期通过蜂窝网络(我的应用程序)发送大量音频或视频内容的应用程序,需要使用 HTTP Live 流媒体。这是否意味着我的 B 计划实施容易被 Apple 拒绝?有什么方法可以规避这个准则?