iPhone 直播视频流媒体播放器

Posted

技术标签:

【中文标题】iPhone 直播视频流媒体播放器【英文标题】:iPhone Live Video Stream Media Player 【发布时间】:2010-02-03 13:34:52 【问题描述】:

我希望制作一个流式传输实时视频的应用,该应用在顶部放置一个带有标签的视图和一个按钮。

根据我对 http 视频流功能(自 iPhone 3.0 操作系统起可用)的研究和测试,您似乎创建了一个指向包含转换后的视频流的索引 html 的 web 视图,并且这显示为一个 quicktime 视频应用程序。这意味着我无法控制打开的媒体播放器。有谁知道如何控制它?

我知道 Apple 的 MoviePlayer 示例代码向您展示了如何在 MediaPlayer 视频上放置视图,但是如何使用 http 直播流来完成呢?

提前致谢。

【问题讨论】:

【参考方案1】:

我现在只是在电影播放器​​视频顶部显示视图/标签/按钮时遇到问题。在 Apple 的 MoviePlayer 示例项目中,您可以使用以下代码在视频顶部添加视图:

MoviePlayerAppDelegate *appDelegate = (MoviePlayerAppDelegate *)[[UIApplication sharedApplication] delegate];     

// initialize a new MPMoviePlayerController object with the specified URL, and play the movie
[appDelegate initAndPlayMovie:[self localMovieURL]];

NSArray *windows = [[UIApplication sharedApplication] windows];

if ([windows count] > 1) 
     // Locate the movie player window
     UIWindow *moviePlayerWindow = [[UIApplication sharedApplication] keyWindow];

     // Add our overlay view to the movie player's subviews so it is displayed above it.
     [moviePlayerWindow addSubview:self.overlayView];

overlayview 是一个包含请求的标签和按钮的视图。但是,当我将相同的代码应用于包含 .m3u8 文件的电影 url 时,它不会显示覆盖视图,例如http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8

NSURL *newMovieURL = [NSURL URLWithString:@"http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8">];

if (movieURL) 
     NSLog(@"movieURL");

     if ([movieURL scheme])     // sanity check on the URL
      NSLog(@"[movieURL scheme]");
          [appDelegate initAndPlayMovie:newMovieURL];

          NSArray *windows = [[UIApplication sharedApplication] windows];
          NSLog(@"windows count:%d", [windows count]);

       if ([windows count] > 1) 
          UIWindow *moviePlayerWindow = [[UIApplication sharedApplication] keyWindow];
          [moviePlayerWindow addSubview:self.overlayView];
          
     
     else NSLog(@"![movieURL scheme]");  else
     NSLog(@"!movieURL");

返回的窗口数仅为 1,而不是前面示例中的 2,即使电影播放也是如此。当我检查 url 是否正常时,movieURL 返回 null,但它仍然播放流式内容。我尝试删除检查窗口计数是否大于 1,但它仍然没有显示覆盖视图。

有人知道解决这个问题的方法吗?谢谢

【讨论】:

以上是关于iPhone 直播视频流媒体播放器的主要内容,如果未能解决你的问题,请参考以下文章

JavaCV音视频开发宝典:使用JavaCV和springBoot实现websocket-flv直播服务,无需流媒体服务,浏览器网页flv.js播放器直接播放rtsp,rtmp等实时视频

RTSP播放器网页web无插件直播流媒体音视频播放器libEasyPlayer-RTSP库接口调用说明

LiveGBS流媒体平台GB/T28181功能-视频直播流快照的安全控制配置播放回调鉴权接口控制播放权限

JavaCV音视频开发宝典:使用JavaCV和springBoot实现websocket-flv直播服务,无需流媒体服务,浏览器网页flv.js播放器直接播放rtsp,rtmp等实时视频

JavaCV音视频开发宝典:使用JavaCV和springBoot实现websocket-flv直播服务,无需流媒体服务,浏览器网页flv.js播放器直接播放rtsp,rtmp等实时视频

LiveNVR拉转Onvif/RTSP/RTMP/FLV/HLS直播流流媒体服务视频广场页面集成视频播放集成说明