播放本地m3u8流媒体

本文介绍如何在iOS应用中实现本地播放m3u8流媒体。通过CocoaHTTPServer搭建本地服务器,将m3u8文件及.ts片段下载到服务器根目录,然后使用M3U8Parser框架解析m3u8文件并下载.ts文件。最后,通过MPMoviePlayerViewController播放本地m3u8文件。
摘要由CSDN通过智能技术生成


要播放m3u8流媒体

搭建本地服务器:
1. 使用CocoaHTTPServer 生产服务器,指定某文件夹为服务器根目录;
2.启动指定端口的服务器;
3.HTTPServer 为 单例对象的属性,否则服务器启动完就会关闭,用单例就可以将HTTPServer对象放到静态栈里面;

下载m3u8文件:
1.用get请求将 xxxx.m3u8文件下载到服务器根目录下的一个文件夹中;
2.使用M3U8Parser框架解析 http://xxxxx/xxxx.m3u8文件
3.根据解析结果,将m3u8文件里面的.ts文件下载到与xxxx.m3u8文件同一目录下
4.下载.ts文件时使用 get请求,将 http://xxxxx/xxxx.m3u8的http://xxxxx/aaa.ts下载

播放m3u8文件
1.简单点的可以使用 MPMoviePlayerViewController 播放 根服务器下的xxxx.m3u8文件
   
代码:

注:pod ‘M3U8Parser'
       pod ‘CocoaHTTPServer'

HTTPServerManager.h
#import <Foundation/Foundation.h>
#import
<HTTPServer.h>
@interface HTTPServerManager : NSObject
{
   
HTTPServer *httpServer;
}
+ (
instancetype )shareInstance;

- (
void )startHTTPServer;

- (HTTPServer *)returnHTTPServer;
@end

HTTPServerManager.m
#import "HTTPServerManager.h"

@implementation HTTPServerManager
+ (
instancetype )shareInstance
{
   
static HTTPServerManager *manager;
   
static dispatch_once_t once;
   
if (!manager) {
       
dispatch_once (&once, ^{
          
            manager = [[
HTTPServerManager alloc ] init ];
           
        });
    }
   
   
return manager;
}

- (
NSString *)webRoot
{
   
NSString *web = [ NSHomeDirectory () stringByAppendingPathComponent : @"Documents/web" ];
   
   
NSFileManager *fm = [ NSFileManager defaultManager ];
   
   
if (![fm fileExistsAtPath :web]) {
        [fm
createDirectoryAtPath :web withIntermediateDirectories : YES attributes : nil error : nil ];
       
NSLog ( @" 服务器艮目录是 :%@" ,web);
       
    }
   
   
return web;
}

- (
void )startHTTPServer
{
   
httpServer = [[ HTTPServer alloc ] init ];
    [
httpServer setType
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值