编译VLC for IOS

http://www.cnblogs.com/zjjcy/p/3858759.html

之前接触VLC是因为Winrt的项目,后来似乎ARM版本的始终搞不定(没有针对于ARM-COFF的GCC编译器),vlc for winrt的项目好久没有更新了,自己也没有深入研究。有一天跟同事聊,他们说android和ios都没有一个像Media Foundation那样的多媒体框架,我就想到了是不是可以基于VLC这套框架来开发。研究完之后我才发现,VLC真的是一个伟大的项目。

我用了大概一周的时间来研究VLC的编译,文档上说的很简单,你git下来之后,运行脚本,喝杯咖啡,就编译好了(https://wiki.videolan.org/iOSCompile)。但赐予天朝的网络,很多依赖库下载不下来。所以在编译之前,必须要有给力的FQ环境才可以。

ios这边会有几个分支

http://git.videolan.org/?p=vlc-ports/ios.git;a=summary 这个是带有VLC for ios全部功能的分支,里面有包含UI和vlc的SDK,还有其他第三方库。

http://git.videolan.org/?p=vlc-bindings/VLCKit.git;a=summary 这个只是有vlc的sdk和一个简单的sample

如果你不想编译整个VLC,只是用他们的SDK,我建议从http://nightlies.videolan.org/build/ios/ 这边下载SDK,解压下载的文件,引用进vlc_for_ios.xcodeproj的项目里,直接生成就可以。

如果想编译VLC,我建议还是先已编译SDK 比较好,编译SDK的文档在这里(https://wiki.videolan.org/VLCKit/)

首先要用git clone 代码 git://git.videolan.org/vlc-bindings/VLCKit.git

如果你的MAC中已经安装了autoconf等工具,这里强烈建议把这些工具从PATH中移除再去跑脚本,VLC会下载对应的编译工具,如果不移除系统中的工具,会因为环境,或者版本冲突,报各种莫名其妙的错误。修改PATH用export就好。

然后执行./buildMobileVLCKit.sh

如果你的VPN给力的话,确实如文档所说喝个咖啡就好了。

但是我这边有好多包 curl下载不下来,比如freetype2等。这个时候可以通过浏览器下载,或者从别的地方copy过来,然后把把tar.gz文件放到 {vlckit主目录}/MobileVLCKit/ImportedSources/vlc/contrib/tarballs 下面。curl下载完之后会校验一下shasum的值。很奇怪的是浏览器下载的文件,这个值居然和curl下载下来的不一致。

这个时候要去修改{vlckit主目录}/MobileVLCKit/ImportedSources/vlc/contrib/src/{对应库的名字}/SHA512SUMS 文件。 我们先要修改下载文件的后缀名,我这里的环境.tar.gz被修改成了.tar,然后再用shasum -a 512 {文件名} 算出SHA的值,SHA512SUMS的值替换成我们算出来的。

还有些文件会被改名字,比如pkg-config-lite-0.27.1-1 会被改成pkg-config-0.27.1-1。这种情况会发生在curl无法下载的情况下,如果能正常下载,请忽略。这段逻辑在(vlckit主目录}/MobileVLCKit/ImportedSources/vlc/extras/tools/tools.mak 中描述)

接着再运行./buildMobileVLCKit.sh -n 切记要加-n的参数,这个参数是告诉脚本禁用网络,这样我们做的修改就不会被git给覆盖掉。当然如果你想checkout也行,但是我觉得这种方法简单有效。

如果你之前没有删除PATH,编译到后来会有莫名其妙的错误。这个时候把PATH改掉后,再去编译,有好多已经编译好的,autoconf不会再去给你配置一遍,所以还是会报错。这个时候你可以删除所有代码,重新clone一遍。再此之前,你可以尝试删除根目录的aclocal.m4 和configure文件,这样脚本就会再去configure一遍,或许能解决问题。

./buildMobileVLCKit.sh 是编译真机的 -s 是编译模拟器的 -d 是编译debug的

我所遇到的问题大概就这些,祝大家都能编译成功。

最后说几句题外话,vlc确实是一个伟大的项目,我尝试的是给vlc写一个demux的插件,个人感觉在虚拟机里面的性能还不错,由于公司比较抠,自己比较屌丝,没有真机测试。。。。但是我相信效果应该不是很差。

开源的那套编译器速度很快,比VS快多了。同样代码规格的项目在VS里面要等半天,而这套编译器刷个微博就好了。而且VS的这套东西也不兼容开源的代码,之前编译ffmpeg遇到的最大问题就是,VS的这套东西无法编译GNU风格的汇编。然后呢GCC又没有ARM-COFF的编译器,本来这个编译器应该是微软提供的,就像android那样,但是微软没出。。VS的C编译器本身也有问题,有些代码GCC能编译过,cl却不行。

时间: 2024-10-06 13:14:52

编译VLC for IOS的相关文章

win7下使用cygwin编译VLC

 win7下使用cygwin编译VLC http://kathy.blog.51cto.com/1168050/295460 2010-04-15 14:54:01 标签:编译 休闲 VLC 职场 win7 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://kathy.blog.51cto.com/1168050/295460 前几天使用MinGW+msys编译,错误百出 经过几天调,改还是没有成功,不是x264版本落后就是CA

ubuntu下编译VLC源码

http://blog.csdn.net/beitiandijun/article/details/9225591ubuntu下编译VLC源码 分类: 视频处理 2013-07-02 17:33 5761人阅读 评论(0) 收藏 举报VLC 操作系统选择:http://old-releases.ubuntu.com/releases/14.04.0/ubuntu-14.04-desktop-amd64.iso sudo apt-get install已经安装了freescale的i.MX6Q的a

Linux下编译VLC for Android源代码总结

转:http://blog.chinaunix.net/uid-26611383-id-3678766.html 由于项目需要,需要一个在android平台能够支持RTSP协议的播放器,由于之前没有android平台的经验,所以找了著名的video LAN的VLC播放器,更令人惊奇的是这款播放器居然还是完全开源的.在此向那些开源软件的作者和组织致以崇高的敬意,是你们的存在使得计算机软件产业蓬勃发展,你们帮助了很多囊中羞涩的个人和企业,让他们也有机会用上高质量的软件,同时不可避免的吸引了一批有志之

VLC for iOS 2.3.0

http://www.cocoachina.com/bbs/read.php?tid=231898 VLC for iOS 2.3.0 本帖属于CocoaChina会员发表,转帖请写明来源和帖子地址 关于VLC配置问题,根据个人经验整理了一下,希望能帮到需要的朋友. 官网链接:https://wiki.videolan.org/IOSCompile/ 百度云盘链接:http://pan.baidu.com/s/1bnEOXPH 密码:ur4l 配置说明(百度云盘) 官网按照说明操作就可以了只是下

如何编译Poco for iOS (Xcode 5)

网上找了一个编译脚本<Poco C++ ios 和 android平台编译脚本>,执行时出错: ls: /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-gcc-*: No such file or directory 进入poco看了一下,poco提供的配置(poco-1.4.6p4/build/config)中iOS的有3种: iPhone iPhone-clang iPhone-clang-libc++ 再进入网上

转:Ubuntu12.04编译VLC,在linux上运行

Ubuntu12.04编译vlc2.1.0 1.编译环境 VM8.0.1 # gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-linux-gnu/4.6/lto-wrapper Target: i686-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.6.3-1ub

在ubuntu16.04-32bits 下编译vlc和vlc-qt开源项目

软件版本:  Ubuntu14.04 32位        Qt5.4.0  32位 开源项目: vlc2.2.4: wget http://download.videolan.org/pub/videolan/vlc/2.2.4/vlc-2.2.4.tar.xz vlc-qt-0.10.0:https://github.com/vlc-qt/vlc-qt/releases 由于编译vlc-qt-0.10.0需要VLC SDK和Qt5.5.0版本以上,而vlc SDK 这个需要自己手动来编译vl

如何提升代码编译的速度 iOS

前阵子有遇到代码编译速度慢的问题,特别是在swift和object-c混编的过程中问题很突显. 网上找到一篇蛮好的文章里面又一些解决方法 推荐一下 http://www.open-open.com/lib/view/open1475993635756.html 当然除了这篇推荐外,自己还做了一些理解. 代码编译速度慢.首先我们应该想到的是 编译速度慢是跟你的编译器有关系的. 一下列出几个方向供参考 1.swift 是类型安全的,所以我们在经常定义变量的时候由于使用方便会直接 var x = a这

Fluter 编译第一个iOS应用

一.流程说明 1)fluter是一个跨平台UI库,可以一份界面代码在iOS和Android上面运行 2)在Mac上面安装Fluter的环境,相对比较简单,通过简单的命令行可以设置环境 3)可以使用特定IDE,代码可以热调试 4)官方说Dart和swift和OC可以混合使用,下一次探索这一点 二.安装步骤: 1)第一步,在Mac上面安装Fluter的环境,相对比较简单 git clone -b beta https://github.com/flutter/flutter.git export P