标签: http-live-streaming

是否可以在专为iOS设计的Flash平台中播放HTTP Live Streaming视频?(.m3u8播放列表)

我们正在使用专为Apple的iOS设备设计的HTTP直播流服务.它目前适用于iOS设备.

源视频片段存储在H.264使用MPEG2(.ts)容器格式化的服务器中.有没有办法在Flash平台上播放这些视频?


这些是我目前的调查.

  1. 据我所知,Adobe提供了自己的流媒体格式F4F,无论如何我们已经决定不去实现它.

  2. 有OSMF框架和实现. http://code.google.com/p/apple-http-osmf/

选项#2看起来不错.但我不知道如何使用它.我怎么用这个?什么是OSMF?是否可以在标准Flash Player中运行Web浏览器?它在iOS中运行顺畅吗?(顺利意味着没有挣扎)如果你为此目的使用了这个OSMF的东西,请告诉我!


PS

我主要是找客户端方法.如果在Flash Player中不可能,我们更喜欢渐进式下载.

flash http-live-streaming

16
推荐指数
3
解决办法
3万
查看次数

带加密的HTTP实时流媒体

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

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

就像在这个例子中:

   #EXTM3U
   #EXT-X-MEDIA-SEQUENCE:7794
   #EXT-X-TARGETDURATION:15

   #EXT-X-KEY:METHOD=AES-128,URI="https://priv.example.com/key.php?r=52"

   #EXTINF:15,
   http://media.example.com/fileSequence52-1.ts
   #EXTINF:15,
   http://media.example.com/fileSequence52-2.ts
   #EXTINF:15,
   http://media.example.com/fileSequence52-3.ts

   #EXT-X-KEY:METHOD=AES-128,URI="https://priv.example.com/key.php?r=53"

   #EXTINF:15,
   http://media.example.com/fileSequence53-1.ts
Run Code Online (Sandbox Code Playgroud)

假设基于浏览器的回放,其中<video>元素被送入"src"属性中的m3u8文件.在这种情况下,即使密钥是通过https发送的,如何确保用户不只是在浏览器中输入https URL并将密钥保存到他的硬盘中?我理解这种机制的方式是,密钥下载是由<video>标签在使用浏览器的https堆栈播放m3u8源时完成的 - 浏览器中的合法客户端如何区分用户只需将其输入地址栏即可?这一定是非常明显的,但我只是看不到它......

祝一切顺利,

dansch

safari http live-streaming http-live-streaming ios

15
推荐指数
1
解决办法
1万
查看次数

在iOS设备上捕获视频并将其直播到服务器(或其他移动设备)

我希望能够使用我的iOS设备录制素材并将其直接流式传输到服务器.

有很多关于SO的文章谈论这个,但我不确定是否有人很好地回答了这个问题.

我应该使用HTTP实时流,或者这只是将数据发送一个iPhone?我是否应该使用AVCaptureSession来抓取视频(一次一段?),将每个段发送到服务器?我应该使用AVCaptureVideoDataOutput和ffmpeg进行流式传输吗?

我有点迷失所有这些,所以任何示例代码或文档或链接都会非常感激.

谢谢你的帮助.

邓肯

video streaming ffmpeg http-live-streaming ios

15
推荐指数
1
解决办法
1万
查看次数

我应该如何使用HLS对Google TV的内容进行编码?

HLS是Google TV 3.2的一项功能,对在Google TV上观看我的内容进行编码的最佳方式是什么?

http-live-streaming google-tv

15
推荐指数
1
解决办法
2802
查看次数

将NSDate从AVDateRangeMetadataGroup转换为CMTime

AVPlayer主要测量时间CMTime.但是,当使用AVPlayerItemMetadataCollector从HLS流收集日期范围元数据时,结果AVDateRangeMetadataGroups保持NSDates而不是CMTimes.

我的问题是我想向播放器添加一个边界时间观察器,所以我知道当播放头实际进入日期范围时,你只能添加一个边界时间观察者CMTime.AVPlayer并且AVPlayerItem可以寻找一个Date并且可以给我当前的回放头作为Date,但我没有看到任何方式将给定Date转换为CMTime我可以用来设置边界时间观察者.

从理论上讲,如果我知道EXT-X-PROGRAM-DATE-TIME标签说什么我可以CMTime自己计算偏移量,但我没有找到一种方法来检索它.

唯一的其他想法我是同时检索currentTimecurrentDateAVPlayerItem,然后计算相对之间的偏移currentDate和我的目标日期并应用到CMTime.但是这个解决方案的一个问题是currentDate,currentTime并不代表完全相同的时间.三角洲可能会非常小,但它不会为零(除非它rate本身为零).

avfoundation http-live-streaming avplayer

15
推荐指数
0
解决办法
161
查看次数

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

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

由于内容纯粹是音频,我不想在接管UI时使用MPMoviePlayerController类.我尝试过使用AVAudioPlayer,虽然它不适用于网络流,但不出所料地无法使用错误代码"-43"播放:NSOSStatusErrorDomain.

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

基本上,在我看来,Apple没有提供任何客户端API来消费HTTP Live Streaming 音频流,开发人员被迫放弃用户界面到QuickTime播放器,该播放器播放带有QT徽标的流播放屏幕.ughh ...

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

iphone audio-streaming http-live-streaming

14
推荐指数
2
解决办法
3万
查看次数

在浏览器中播放原始 h264 直播流

我正在寻找一种解决方案,通过 WebSocket 在浏览器上实时播放来自本机服务器的原始 h264 流。我在 JavaScript 中尝试了许多第三方 h264 解码器,每个都有自己的问题。基于 Broadway 的解码器无法解码 main 和 high profile h264。其他解码器太慢而无法解码 1080p 帧。我尝试在 JavaScript 中将原始 h264 转换为碎片化的 mp4,但是在解码双向帧时播放非常难看。我也尝试过 webrtc,但似乎不可能在浏览器和本机服务器之间实现对等连接。有什么建议?

html javascript live-streaming http-live-streaming webrtc

14
推荐指数
1
解决办法
6071
查看次数

NGINX open() 失败 (20: Not a directory) hls vod with secure link module

我对 hls 流的 nginx 配置有问题。我使用kaltura nginx vod 模块并尝试添加ngx_http_secure_link_module以保护流。奇怪的是,如果我启用ngx_http_secure_link_module(下面的日志),我会出现 404 错误。我认为这是因为它在末尾找不到带有 index.m3u8 的文件,但是如果我评论安全链接块,它就可以正常工作。

我也尝试在location ~ \.m3u8$ {}块内添加别名,但没有用。我究竟做错了什么?如何保护我的流?

我的直播链接: https://stream.example.com/hls/c14de868-3130-426a-a0cc-7ff6590e9a1f/index.m3u8?md5=0eNJ3SpBd87NGFF6Hw_zMQ&expires=1609448340

我的 NGINX 配置:

server {
  listen 9000;
  server_name localhost;
  # root /srv/static;

  location ^~ /hls/ {
    # the path to c14de868-3130-426a-a0cc-7ff6590e9a1f file
    alias /srv/static/videos/1/;
    # file with cors settings
    include cors.conf;

    vod hls;

    # 1. Set secret variable
    set $secret "s3cr3t";

    # 2. Set secure link
    secure_link $arg_md5,$arg_expires;
    secure_link_md5 "$secure_link_expires $secret";

    # if …
Run Code Online (Sandbox Code Playgroud)

nginx video-streaming http-live-streaming kaltura vod

14
推荐指数
1
解决办法
640
查看次数

适用于iPhone和HTTP直播的实时视频聊天

所以一般来说,我想制作一款具有iPhone视频聊天功能的应用.但经过多次搜索,我仍然无法找到任何成功的结果.是否有任何公开甚至是这个问题,私有API可用于在iPhone上执行此操作??? 如果您有一个YES答案,请帮助我.

基本上,我想要的是在连接用于聊天的设备上读取视频流.非常感谢,如果可以,请帮助我.

ps - 我已经检查了iDoubs,但它失败并且总是显示一些未知问题,因此,不允许我连接到任何人.

另外:我发现的建议方法是通过HTTP Live Streaming.但是,在那方面,我有多重疑虑.

1.)我需要找到如何将我的视频从iPhone上传到我要播放的HTTP服务器?

2.)您能否发布与设置服务器相关的内容?如何将视频提供给FFMPEG服务器?

主要是,我需要找到上传方法.我现在只是以NSDATA的形式向服务器发送十六进制代码,我被困在那里.主要问题是,它是现场直播.我该如何处理?

如果你可以帮助我使iDoubs正常工作,那将是最好的.

非常感谢您的支持!

iphone api ffmpeg video-streaming http-live-streaming

13
推荐指数
1
解决办法
1万
查看次数

如何在iOS中的HLS(m3u8)播放期间找出当前的TS段?

HLS(m3u8)文件引用mpeg-ts文件.在iOS'AVPlayer中播放时,如何确定当前正在播放的mpeg-ts URI?

http-live-streaming ios avplayer m3u8

13
推荐指数
1
解决办法
2280
查看次数