VLC for iOS
本文主要记录在iOS上集成VLC的过程。
VLC是一个很强大的播放器,并给开发者提供了播放器接口。
1,下载编译
下载过程比Webrtc要好很多,不那么虐心。
参照 https://wiki.videolan.org/VLCKit/ 的步骤一步步来即可。
下载如果没问题,直接执行./buildMobileVLCKit.sh完成编译。
编译过程也是很顺利的,我编译的时候提示缺少了libtasn1和libdsm两个组件,但是事实上可以直接打开MobileVLCKit.xcodeproj,在编译设置中找到Other Librarian Flag设置,删除掉$(DSM)配置重新编译即可。
MobileVLCKit的编译其实分为两步,
第一步首先编译libvlc,主要通过MobileVLCKit/ImportedSources/vlc/extras/package/ios/build.sh脚本来编译,buildMobileVLCKit.sh会调用这个脚本。
第二步编译封装层MobileVLCKit.framework,这个步骤通过根目录下的buildMobileVLCKit.sh -l和MobileVLCKit/AggregateStaticPlugins.sh两个脚本编译。
如果在编译时执行./buildMobileVLCKit.sh -f会在build目录下生成MobileVLCKit.framework,否则生成相应的静态库。
如果不想自己编译,也可以使用官方的build版本,下载地址:http://nightlies.videolan.org/build/ios/
2,集成调用
MobileVLCKit调用过程:
VLCMediaPlayer * mediaPlayer = [[VLCMediaPlayeralloc] initWithOptions:nil];
self.mediaPlayer = mediaPlayer;
self.mediaPlayer.media = [VLCMediamediaWithURL:mediaURL];
self.mediaPlayer.delegate =self;
self.videoView.frame =self.view.frame;
self.mediaPlayer.drawable =self.videoView;
initWithOptions接口,通过传入特定的参数可以实现定制化。
比如通过如下方法设置流媒体的播放缓存:
NSUInteger vlcCache = 2000;
NSString *cacheOption = [NSStringstringWithFormat:@"--network-caching=[0 .. %d]", vlcCache];
NSArray* options = @[cacheOption];
VLCMediaPlayer * mediaPlayer = [[VLCMediaPlayeralloc] initWithOptions:options];
理论上这个应该是可行的,但是经过测试似乎并没有效果。
VLC for iOS相关推荐
- 苹果手机vlc 文件服务器,ios vlc ftp服务器
ios vlc ftp服务器 内容精选 换一换 简要介绍vsftpd(或非常安全的FTP守护程序)是用于类Unix系统(包括Linux)的FTP服务器.它是按照GNU通用公共许可证授权的.它支持IPv ...
- 【转】iOS的APP资源,开源的哦
完整项目 文章转自 "标哥的技术博客" IOS-Swift2.0 高仿半糖App 这个开源项目为半糖,官网➡,类似于美丽说,一款电商App,使用语言:Swift2.0,开发工具: ...
- 一些iOS实用Demo
图像浏览及处理 FLAnimatedImage - gif播放处理的工具. CLImageEditor - 超强的图片编辑库,快速帮你实现旋转,防缩,滤镜等等一系列麻烦的事情. ios-image-f ...
- iOS 项目源码大全 github 国内外大神
github排名https://github.com/trending,github搜索:https://github.com/search 主要工作说明: 重新整理了Xcode好用的插件,信息更详细 ...
- iOS开发常用三方库、插件、知名博客
TimLiu-iOS iOS开发常用三方库.插件.知名博客等等,期待大家和我们一起共同维护,同时也期望大家随时能提出宝贵的意见(直接提交Issues即可). 持续更新... 版本:Objective- ...
- iOS最全的三方库、插件、博客汇总
目录 UI@ 日历三方库@ 下拉刷新@ 模糊效果@ 富文本@ 图表@ 颜色@ 表相关@(TabbleView.Tabbar.即时聊天界面) TableView@ CollectionView@ 隐藏与 ...
- iOS开发第三方大全
UI 下拉刷新 EGOTableViewPullRefresh- 最早的下拉刷新控件. SVPullToRefresh- 下拉刷新控件. MJRefresh- 仅需一行代码就可以为UITableVie ...
- iOS 常用第三方库及插件
//菜单切换 https://github.com/pujiaxin33/JXCategoryView //各种导航栏样式 https://github.com/rickytan/RTRootNavi ...
- iOS开发之资料收集
github排名:https://github.com/trending, github搜索:https://github.com/search. 此文章转自github:https://github ...
最新文章
- cocos2dx 实现搓牌(翻牌)效果,包括铺平动画
- C++ Primer 第五版 第6章 6.1——函数及函数定义及调用阅读笔记
- 渠道是创业企业与消费者或者用户建立联系的桥梁
- [PyTorch] 神经网络处理图像
- mysql null 查询条件_MySql当查询条件为空时不作为条件查询
- 1.1HashMap
- java 整数相乘_Java中两个int相乘的结果是怎么算的?
- node.js学习笔记(黑马教程)-1-基础了解
- 如何在Mac电脑中设置投屏?Mac投屏,Mac电脑无线投屏教程
- 设置电脑的双显示器模式
- @Profile 注解的介绍
- 嵌入式面试常见问题(三)
- 2020全球财说峰会主题演讲:数字化时代的产业重塑
- android敏感api函数,基于敏感API调用的Android应用程序动态监控
- PBOC卡片应用分析(四)非接触式IC卡规范
- MySQL Workbench报错说 seems to be a different OS
- tinyos环境安装
- C++中的char,char*,char[]
- oracle字段长度不足位数补零
- 关于PR安装在D盘初始化时闪退,加载到optical的时候PR直接闪退
热门文章
- 14、基于51单片机智能硬币分拣机 投币分类筛查计数器 电子存钱罐系统设计
- 【SSL 2119 2011分区联赛模拟试题】电子眼【树形DP】
- 鹰眼智客地图采集,想采哪里采哪里。
- Vue3+Vite项目使用mockjs模拟数据
- vue+three.js加载本地stl模型无法显示的解决办法
- 关于今天的劳动仲裁说明
- 计算机毕设(附源码)JAVA-SSM京东仓库管理系统
- 制图大赛计算机二维绘图,【科普】关于全国大学生制图大赛的二三事
- 用友u8服务器安装后系统假死,服务器打开用友U8企业应用平台没有反应的问题。-用友U8...
- MSP432P401R LaunchPad教程(一)时钟配置