IOS VLC编译步骤(包含移植和截图功能)
http://blog.csdn.net/Kan_Crystal/article/details/40424673
一、下载源码
先到VLC官网将源码下载到本机,以下链接为官网编译操作地址:https://wiki.videolan.org/IOSCompile/
将终端打开执行以下命令 (建议使用VPN) :
git clone git://git.videolan.org/vlc-ports/ios.git
代码下载完成后将对代码进行编译:
(Release):sh compileVLCforiOS.sh -v
(Debug):sh compileVLCforiOS.sh -v -d
编译完成后即可使用。(如果编译不通过可将ios目录下的compileVLCforiOS.sh中找到svn checkout http://google-api-objectivec-client.googlecode.com/svn/trunk/Source GDrive 和 cd GDrive && svn up && cd .. 和 curl -O https://www.dropbox.com/static/developers/dropbox-ios-sdk-${DROPBOXSDKVERSION}.zip 将他们注释掉前面加#即可,然后重新编译)
二、移植影像播放库注意问题
找到以下库和关联的框架,并将它们放到我们自己的工程目录中
注意:需要在Build Settings -》 Search Paths下设置 库和头文件所在的路径。然后编译即可。
三、添加截图功能
在我们直接编译出来的VLC中是不支持截图的所以我们要做以下操作:
1.找到以下路径(ios -》 ImportedSources -》VLCKit -》MobileVLCKit -》ImportedSources -》vlc -》 extras -》 package -》ios):
用文本工具打开build.sh,找到以下代码的地方:
# Run configure only upon changes. if [ "${VLCROOT}/configure" -nt config.log -o \ "${THIS_SCRIPT_PATH}" -nt config.log ]; then ${VLCROOT}/configure \ --prefix="${PREFIX}" \ --host="${TARGET}" \ --with-contrib="${VLCROOT}/contrib/${TARGET}-${ARCH}" \ --disable-debug \ --enable-static \ --disable-macosx \ --disable-macosx-dialog-provider \ --disable-macosx-qtkit \
找到-disable-sout将其替换成--enable-png保存。
然后找到以下路径(ios -》 ImportedSources -》VLCKit -》MobileVLCKit -》ImportedSources -》vlc -》 modules -》 access_output ):
将Modules.am用文本工具打开将里面的内容替换为下面内容保存。
SOURCES_access_output_dummy = dummy.c SOURCES_access_output_file = file.c SOURCES_access_output_udp = udp.c SOURCES_access_output_http = http.c bonjour.c bonjour.h SOURCES_access_output_shout = shout.c
access_output_LTLIBRARIES += \ libaccess_output_dummy_plugin.la \ libaccess_output_file_plugin.la \ libaccess_output_udp_plugin.la \ libaccess_output_http_plugin.la
#libaccess_output_udp_plugin_la_SOURCES = udp.c #libaccess_output_udp_plugin_la_LIBADD = $(SOCKET_LIBS) $(LIBPTHREAD) #access_output_LTLIBRARIES += libaccess_output_udp_plugin.la
libaccess_output_livehttp_plugin_la_SOURCES = livehttp.c libaccess_output_livehttp_plugin_la_CFLAGS = $(AM_CFLAGS) $(GCRYPT_CFLAGS) libaccess_output_livehttp_plugin_la_LIBADD = $(GCRYPT_LIBS) -lgpg-error if HAVE_GCRYPT access_output_LTLIBRARIES += libaccess_output_livehttp_plugin.la endif
然后重新编译,执行下面命令:
(Release):sh compileVLCforiOS.sh -v -n
(Debug):sh compileVLCforiOS.sh -v -d -n
IOS VLC编译步骤(包含移植和截图功能)的更多相关文章
- iOS开发---iPhone SDK 包含哪些东西?
第一部分: 在使用Intel芯片的Macintosh计算机开发iOS应用程序所需的全部接口.工具以及资源全都包含于iPhone SDK. 苹果公司将大部分系统接口发布在框架这种特殊的数据包.一个框架就 ...
- iOS: FFMpeg编译和使用问题总结
iOS: FFmpeg编译和使用问题总结 折磨了我近一周多时间的FFmpeg库编译问题终于解决了,必须得把这一段时间来遇到过的坑全写出来.如果急着解决问题,编译最新版本的FFmpeg库请直接看第二部分 ...
- iOS下编译ffmpeg
网络上搜索“ios ffmpeg 编译”,文章一大把,但我编译还是费了很大的功夫才编译成功.很多文章只是把步骤列了出来,但是每个人的系统环境,或者程序版本都不一样,结果出现各种的错误.我把自己编译过程 ...
- 【iOS】编译静态库
与java和.net一样,objc也由类库的概念,不过在在objc上一般叫库,库表示程序代码集合,可以共享给其他程序使用,库是编译后的二进制文件,因此不能看到源代码,多用于一些开放sdk(如百度地图s ...
- 如何把iOS代码编译为Android应用
新闻 <iPhone 6/6 Plus中国销量曝光:单月销量650万>:据iSuppli Corp.中国研究总监王阳爆料,iPhone 6和iPhone 6 Plus在国内受欢迎的情况大大 ...
- ios下编译opencv
如果想要在ios下编译opencv 需要安装Cmake 这里通过homebrew 来安装cmake ios下打开终端然后先安装 homebrew :(mac 下自带ruby) ruby -e &quo ...
- webrtc所有平台下载编译步骤详细说明
webrtc所有平台下载编译步骤详细说明 1.安装depot tools Windows:国外下载:https://storage.googleapis.com/chrome-infra/depot_ ...
- Xamarin.iOS项目编译提示Could not AOT the assembly
Xamarin.iOS项目编译提示Could not AOT the assembly 错误信息:Could not AOT the assembly **************.dll 这个错误是 ...
- Linux-编译器gcc/g++编译步骤
gcc和g++现在是gnu中最主要和最流行的c&c++编译器.g++是c++的命令,以.cpp为主:对于c语言后缀名一般为.c,这时候命令换做gcc即可.编译器是根据gcc还是g++来确定是按 ...
随机推荐
- 笨小熊 南阳acm62
笨小熊 时间限制:2000 ms | 内存限制:65535 KB 难度:2 描述 笨小熊的词汇量很小,所以每次做英语选择题的时候都很头疼.但是他找到了一种方法,经试验证明,用这种方法去选择选项 ...
- hdoj 1237 模拟
计算器 Problem Description 读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值. Input 测试输入包含若干测试用例,每个测试用例占一行,每行不超过 ...
- 笔记-python-standard library-16.3 time
笔记-python-standard library-16.3 time 1. time 1.1. 开始 time模块中时间表现的格式主要有三种: timestamp时间戳,时间戳表示 ...
- 搭建Linpack
环境:vmware workstation14 + centos7(linux基本都可以) 一.开始安装mpich 1. 解决依赖gcc gcc-gfortran sudo yum install g ...
- 用@property声明的NSString(或NSArray,NSDictionary)经常使用copy关键字,为什么?如果改用strong关键字,可能造成什么问题?
因为父类指针可以指向子类对象,使用 copy 的目的是为了让本对象的属性不受外界影响,使用 copy 无论给我传入是一个可变对象还是不可对象,我本身持有的就是一个不可变的副本. 如果我们使用是 str ...
- 嵌入式(Embedded System)笔记 —— Cortex-M3 Introduction and Basics(上)
随着课内的学习,我想把每节课所学记录下来,以作查阅.以饲读者.由于我所上的是英文班课程,因此我将把关键术语的英文给出,甚至有些内容直接使用英文. 本次所介绍内容是关于Cortex-M3的基础内容. - ...
- python学习笔记四:lambda表达式和switch
一.定义 lambda arg1,arg2... : returnValue 二.示例 #!/usr/bin/python def f(x,y): return x*y print f(2,3) g ...
- 【APUE】Chapter12 Thread Control
今天看了APUE的Chapter12 Thread Control的内容,记录一下看书的心得与示例code. 这一章的内容是对Chapter11 Threads(见上一篇日志)的补充,大部分内容都是理 ...
- pytest单元测试框架
一.安装方式 1.安装命令:pip install pytest 2.html安装插件:pip install pytest -html 二.pytest执行指定测试用例 1.思想:通过对测试用例进行 ...
- SDK接入注意点
1. 新建的android项目,要把MainActivity.java里生成的东西全部删去,最好只留个onCreate入口方法,不然会产生什么“hello world”,会把自己写的View内的东西覆 ...