IOS平台的MobileVLCKit的编译和使用

接手了一个项目,里面用到的播放库比较老并且播放效果不是很稳定,下载了最新的MobileVLCKit编译了一把,跟大家分享一下编译过程:

我的环境是xcode7.1 ,sdk是9.1

编译过程:

参考 https://wiki.videolan.org/VLCKit 中的Building the framework for iOS项

在终端中执行 git Clone http://code.videolan.org/videolan/VLCKit.git,会生成目录下生成一个VLCKit的文件夹,以后所有的操作都是在该文件夹中进行

按照说明,在终端中执行./buildMobileVLCKit.sh,总体来说,for IOS的编译做的比较自动化,只运行此脚本即可,所有编译所需的第三方软件,支持库,都会通过脚本自动下载

文件下载说明:

由于网络问题 google,sourceforge等down不下来,最好有一个给力的VPN

有两个路径分别保存下载的文件

MobileVLCKit\ImportedSources\vlc\contrib\tarballs路径下是下载各种第三方库,例如libxml2,ffmpeg,freetype等

在MobileVLCKit\ImportedSources\vlc\contrib\src中有每一个库对应的文件夹,文件夹下的rules.mak中会有对应的版本路径,如果无法自动下载,可以手动下载一下,然后将包拷贝到tarballs中,需要注意的是SHA512SUMS文件中的校验值要对应上

MobileVLCKit\ImportedSources\vlc\extras\tools\是编译需要的工具的集合,例如automake,autoconf等

在该文件夹下有一个packages.mak的文件,里面描述的是所有的文件下载路径,可以按照路径手动来下载,将包拷贝到tools文件夹中,需要注意的是gas-preprocessor,protobuf,apache-ant这三个,自动下载的时候经常会遇到下载不下来,字节为0的情况

所有包下载完毕后,就开始编译过程,过程中可能会出提示错误而中断,一般来说多运行几次脚本即可,直到编译成功。需要注意的是-n的参数,否则vlc部分,会重新下载

编译成功后,会在build文件夹中生成一系列的libMobileVLCKit.a文件和MobileVLCKit.framework

遇到的一些问题:

libtool: compile: specify a tag with `--tag‘

make[2]: *** [rijndael-arm.lo] Error 1
make[1]: *** [install-recursive] Error 1
make: *** [.gcrypt] Error 2

此处问题,需要检查git环境(例如用户名,邮箱的设置:git --global),以及MobileVLCKit下的patches文件夹下的patch补丁是否打上,我当时是根据编译错误,一路修改到最后,最后发现是所有的patch未打导致的,patch未打会导致后面的一系列问题,建议是出现此问题,马上检查patch环境

例子程序samplePlayBack编译错误

使用libMobileVLCKit.a静态连接,例子程序中头文件和链接文件路径设置时错误的,需要修改正确的。

如果使用MobileVLCKit.framework的方式,将framework拖入到工程的support文件夹中,同时删除头文件和静态库的引用

播放HLS媒体,只有音频没有视频的问题

此问题有可能是vlc的版本问题,切换到2.1-stable或者ios-2.7分支试一下,见https://code.videolan.org/videolan/VLCKit/branches

时间: 2024-11-09 00:18:21

IOS平台的MobileVLCKit的编译和使用的相关文章

[iOS]FFmpeg框架在iOS平台上的编译和使用

使用环境 Mac OS Yosemite 10.10.5 开发工具 Xcode 7.0 Terminal 需要的文件链接 gas-preprocessor yasm FFmpeg-iOS-build-script ffmpeg-2.8 kxmovie 编译适用于iOS平台的FFmpeg静态库 打开终端Terminal进入下载后的gas-preprocessor文件夹 将文件夹内的gas-preprocessor.pl文件拷贝到/usr/sbin/目录下 修改/usr/sbin/gas-prepr

实战FFmpeg--编译iOS平台使用的FFmpeg库

编译环境:Mac OS X 10.10.2 ,Xcode 6.3  iOS SDK 8.3        FFmpeg库的下载地址是 http://www.ffmpeg.org/releases/ .FFmpeg是一个跨平台的用C语言写成的库,包含了编码,解码,色彩空间转换等的库. 第一步: 下载编译FFmpeg所需要的脚本文件gas-preprocessor.pl,下载地址: https://github.com/mansr/gas-preprocessor .在mac终端中使用cp命令将脚本

iOS平台内存使用原则

2 iOS平台内存使用原则 2.1 对象的所有权与销毁 2.1.1 谁创建,谁释放: 如果是以alloc,new或者copy,mutableCopy创建的对象,则必须调用release或者autorelease方法释放内存: 如果没有释放,则导致内存泄漏! 2.1.2 谁retain,谁释放: 如果对一个对象发送 retain消息,其引用计数会+1,则使用完必须发送release或者autorelease方法释放内存或恢复引用计数: 如果没有释放,则导致内存泄漏! 2.1.3 没创建且没reta

IOS平台APP安全Checklist

#1. 前言IOS平台APP安全风险相关的一般性Checklist,保障IOS客户端安全评估的质量与效率.#2. 数据安全##2.1 传输安全该类漏洞的审查场景:APP通过网络发送或接收敏感信息,比如用户口令.用户隐私信息等,或者通过网络下发的数据执行某些敏感操作**漏洞类型说明:**由于移动设备通常是通过wifi上网,因而面临网络窃听.网络劫持等中间人攻击行为,因此对于敏感信息需要加密传输,并且对接收到的重要数据也需要进行完整性校验.如果APP自身实现了加密及完整性校验的机制,需要确认机制是否

【转】iOS平台的应用程序调试与分析

转自:看雪学院的文章 iOS平台的应用程序调试与分析 作者:zhuliang转载请保证文章完整并注明来自看雪或cd-team 本文阐述如何在iOS平台上对应用程序进行调试与分析,旨在指导新手分析iOS程序,高手请无视.内容包括软件硬件的准备.代码的解密.符号信息的获取.用gdb调试等,最后以京东LeBook为例子进行演示.1.为什么要进行调试与分析研究iOS程序有很多用处,比如:找bug或者漏洞,想知道某程序有没有漏洞或者bug.某程序能实现某功能,我想知道如何实现,如ios6发短信功能,还有比

iOS之 PJSIP静态库编译(二)

咱们书接上回: 上一篇编译好了PJsip这次我们来点实战 上次编译过后就不必做别的修改因为ios平台的库都支持了. 打开工程   找到 pjsip- apps/src/pjsua/ios/ipjsua.xcodeproj, 运行 看看能不能成功要是不成功报错 看看是不是缺少 .......darwin9.a,找到目标文件夹删掉那个文件. 好了现在编译过了注意: 要想实现功能呢还要telnet到指定端口的地址上, 那么你要自己搭建sip服务器 再来一个sip客户端用来跟你的进行通讯 sip服务器有

U3D中IOS平台泛型方法尽少使用

U3D的IOS最小运行库use micro mscorlib是不包含泛型反射方法的,如FieldType.GetGenericArguments方法.所以尽量少用List而直接使用array. 另外请不要在IOS平台上使用任何(动态)JIT编译的方法,因为IOS平台是基于(静态)AOT编译的,例如PropertyInfo的GetValue就是这样的方法,另外Linq也有部分方法,所以这样会导致编译失败.也就是说禁止任何形式的动态创建方法和泛型方法. 参考文章 http://ravenw.com/

Unity转IOS平台的问题

最近使用Unity3D编译IOS平台程序,结果发现完成后,XCode只显示MAC目标. 找了找解决方案,基本都是说要重新设置Scheme,但并不符合我的情况. 现在将我的方法记录如下: 1.在Target中选择“Unity-iPhone” 2.在“Building Setting”中作如下设置 关键点:Supported Platforms改成IOS 现在应该能正确转到真机上去了.

使用Vitamio开发iOS平台上的万能播放器

迅速了解 Vitamio是干什么的?看官方怎么说: "Vitamio SDK for iOS是Yixia Ltd官方推出的 iOS 平台上使用的软件开发工具包(SDK),为iOS开发者提供简单.快捷的接口,帮助开发者实现 iOS 平台上的媒体播放应用." 说白了,就是可以帮助你便捷地开发自己的iOS播放器. 本文目标 从0开始建工程,使用VitamioSDK开发一个最简单的播放器:打开app之后,能看到一个播放按钮,点击按钮,就开始播放事先放在Documents目录下的视频文件,再按一