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++来确定是按 ...
随机推荐
- Error: Cannot find module 'core-js/fn/array/values' at Function.Module._resolveFilename (module
E:\codeBase\top605\rescue-master\server\node_modules\_log4js@1.1.1@log4js\lib\log4js.js:321 throw ne ...
- POJ:3273-Monthly Expense
Monthly Expense Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 32067 Accepted: 12081 Des ...
- react+redux状态管理实现排序 合并多个reducer文件
这个demo只有一个reducer 所以合并reducer这个demo用不到 ,但是我写出来这样大家以后可以用到,很好用,管理多个reducer,因为只要用到redux就不会只有一个reducer所以 ...
- python QQ邮件发送邮件
# -*- coding: UTF-8 -*- import smtplib from email.mime.text import MIMEText from email.header import ...
- 被relativeLayout的grivate center 折腾死了
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=&q ...
- Java - ArrayList List 等迭代集合执行移除(remove) 的正确方法
方法1: List<String> al = new ArrayList<String>(); Iterator<String> it = al.iterator( ...
- Android学习记录(4)—在java中学习多线程下载的基本原理和基本用法①
多线程下载在我们生活中非常常见,比如迅雷就是我们常用的多线程的下载工具,当然还有断点续传,断点续传我们在下一节来讲,android手机端下载文件时也可以用多线程下载,我们这里是在java中写一个测试, ...
- Linux编译安装与配置-MySQL(5.5,5.6)版本系(笔记)
MySQL 5.5(5.6)后版本,需要使用cmake(Cross make , https://cmake.org/ )编译 我的环境如下: VMWare虚拟机,CentOS 5.5 x86_64( ...
- 通过slf4j/log4j的MDC/NDC 实现日志追踪
在分布式系统或者较为复杂的系统中,我们希望可以看到一个客户请求的处理过程所涉及到的所有子系统\模块的处理日志. 由于slf4j/log4j基本是日志记录的标准组件,所以slf4j/log4j成为了我的 ...
- eclipse集成python(Pydev插件安装)
1.下载PyDev的压缩包,解压后会有features和plugins两个文件夹,将两个文件夹的内容拷贝到eclipse对应的文件夹中,重新启动eclipse 2.配置python 2.1打开ecli ...