• 笔谈kxmovie开源播放器库的使用


      开源播放器项目 kxmovie(https://github.com/kolyvan/kxmovie),现在仍然是很多刚开始接触播放器开发的程序员的参照范本。以下是我操作kxmovie项目的过程:

    (1)在桌面上建立一个目录,名称可以随便取,我的该目录名为 examples

    (2)打开Mac终端,执行命令 git clone git://github.com/kolyvan/kxmovie /Users/dev.temobi/Desktop/examples/kxmovie

        git://github.com/kolyvan/kxmovie kxmovie项目存放的网络路径

        /Users/dev.temobi/Desktop/examples/kxmovie 是我存放从网络下载得到的kxmovie的本地路径

    devtemobideMac-mini:~ dev.temobi$ git clone git://github.com/kolyvan/kxmovie /Users/dev.temobi/Desktop/examples/kxmovie
    正克隆到 '/Users/dev.temobi/Desktop/examples/kxmovie'...
    remote: Counting objects: 565, done.
    remote: Total 565 (delta 0), reused 0 (delta 0), pack-reused 565
    接收对象中: 100% (565/565), 1.46 MiB | 466.00 KiB/s, done.
    处理 delta 中: 100% (358/358), done.
    检查连接... 完成。

      执行完上面的命令之后,本地examples目录下的kxmovie文件夹中的文件如下:

    (3)进入本地examples目录下的kxmovie文件夹路径,执行命令 cd  /Users/dev.temobi/Desktop/examples/kxmovie

    (4)执行命令 git submodule update --init

    devtemobideMac-mini:~ dev.temobi$ cd  /Users/dev.temobi/Desktop/examples/kxmovie
    devtemobideMac-mini:kxmovie dev.temobi$ git submodule update --init 
    正克隆到 'FFmpeg'...
    remote: Counting objects: 421790, done.
    remote: Compressing objects: 100% (517/517), done.
    remote: Total 421790 (delta 117), reused 0 (delta 0), pack-reused 421273
    接收对象中: 100% (421790/421790), 160.59 MiB | 1.65 MiB/s, done.
    处理 delta 中: 100% (327924/327924), done.
    检查连接... 完成。
    子模组路径 'FFmpeg':检出 '1e25afc1811a279094ebc2bc6407715a439e09ee'
    正克隆到 'gas-preprocessor'...
    remote: Counting objects: 410, done.
    remote: Total 410 (delta 0), reused 0 (delta 0), pack-reused 410
    接收对象中: 100% (410/410), 155.15 KiB | 0 bytes/s, done.
    处理 delta 中: 100% (169/169), done.
    检查连接... 完成。
    子模组路径 'gas-preprocessor':检出 'cafe6e55a5606c5423c0a0e4045a97f2c3a86338'
    devtemobideMac-mini:kxmovie dev.temobi$

    执行步骤(3)、(4)之后,FFmpeg源代码被下载到本地,gas-preprocessor.pl脚本也被下载到本地了,在执行(3)、(4)之前,kxmovie文件夹下的FFmpeg、gas-preprocessor文件夹都是空的。

    (5)执行命令 rake

    devtemobideMac-mini:kxmovie dev.temobi$ rake
    Installing the gas-preprocessor to /usr/local/bin
    rake aborted!
    Permission denied - (gas-preprocessor/gas-preprocessor.pl, /usr/local/bin/gas-preprocessor.pl)
    /Users/dev.temobi/Desktop/examples/kxmovie/Rakefile:187:in `block in <top (required)>'
    Tasks: TOP => default => build_ffmpeg => check_gas_preprocessor
    (See full trace by running task with --trace)
    devtemobideMac-mini:kxmovie dev.temobi$ 

    Mac终端中提示:rake命令被终止执行,Permission denied表示没有权限将gas-preprocessor/gas-preprocessor.pl 复制到  /usr/local/bin/gas-preprocessor.pl

      那只能修改 /usr/local/bin 目录的操作权限,前往/usr/local/bin ,选中bin目录显示简介,修改其访问权限,改为 读与写

    (6)继续执行命令 rake

      从上面的运行结果来看,权限问题已经解决,可前往目的文件夹/usr/local/bin/中检查gas-preprocessor.pl是否复制成功

    但是出现了新的问题,仔细看了上面的提示信息,发现出现了“-cc=/Applications/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang  --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk
    ” ,说明Rakefile中使用的是Xcode 的iOS SDK 7.1 的版本,此时要注意“要打开Xcode 检查Xcode中有几个版本的iOS SDK库,一般情况只有一个,除非自己下载了一个低版本的iOS SDK”,我使用的是Xcode 6.3,我仔细检查了只有最新的iOS SDK 8.3,并没有iOS SDK 7.1,那问题可能出在这里了,现在要做的是修改kxmovie目录下的脚本Rakefile,将SDK_VERSION='7.1' 修改为 SDK_VERSION=‘8.3’,注意不要直接打开或用文本编辑器打开,进而来修改脚本Rakefile,否则在执行rake时会报错。应该在Mac终端中用命令来操作,修改脚本Rakefile

    如果是直接打开或用文本编辑器打开,进而来修改脚本Rakefile,在终端执行命令 rake,出现报错如下:

     

    正确的操作是,在终端使用命令 vim ,来编辑脚本Rakefile,将SDK_VERSION='7.1' 修改为 SDK_VERSION=‘8.3’,正确步骤如下:

    (1) vim Rakefile,打开文件

    (2) 按一下键盘上的字母 i ,进入可修改文件的状态

    (3) 按一下Esc 键,然后敲入 :wq  命令,保存退出

     

    (7)继续执行命令 rake

    ...........................

    .......................

    ................

     

    (8)OK,成功了。FFmpeg文件下出现了新的文件夹 arm64、arm7、arm7s、i386、universal

    但是universal文件夹中却是个空文件夹。不要以为又出现问题了,以为需要手动合并 arm64、arm7、arm7s、i386文件夹中的FFmpeg库了,其实要注意观察,kxmovie文件夹中多出来了一个文件夹libs,可以看到文件夹libs下有个FFmpeg文件夹,原来是universal文件夹中被合并的FFmpeg库被移动到了libs文件夹中,至于是怎么移过来的,那肯定是在Rakefile脚本中实现的咯。

    (9)打开工程会发现,关于cocoapods的东西都是红色的,这是要做什么呢,因为从kxmovie工程的目录中可以看到其使用cocoapods管理第三方库,所以要知道如何使用cocoapods,这里可参考我写的文章 笔谈 cocoapods的安装与使用

    (10)关闭Xcode,进入kxmovie目录,执行 pod install (或者 pod update),获取第三方库资源

    (11)双击 kxmovie.xcworkspace ,打开工程,就可以发现第三方库被下载下来了,而且这个第三方库所需要的依赖库也自动添加了,这也是大部分人喜欢用cocoapods管理第三方库的原因所在。

    (12)运行KxMovieExample,会提示签名错误,修改签名,换成自己的苹果开发者证书,然后再运行,OK,运行成功

    细心的人会在Xcode中仔细看工程结构,会发现好多库显示为红色,其实啊不用管,直接运行KxMovieExample就OK啦。

    (13)运行效果图

      点击第一个 BigBuckBunny_175k.mov ,程序可能崩溃,不管啦,那就试试第二个mp4:BigBuckBunny_115k.mov看奔不奔溃,呵呵,程序没有崩溃,mp4:BigBuckBunny_115k.mov的播放效果如下:(注意:(a)双击播放画面,有放大/缩小画面的效果;(b)支持横竖屏,就是可以旋转屏幕;(c)点击右上角的“i”按钮,可以查看流媒体信息

         

      

    (14)以上就是开源项目kxmovie 的整个使用流程,自己做个笔记,或许也会帮助到其他人吧,呵呵。完整的可直接下载运行的项目kxmovie的下载地址为:http://pan.baidu.com/s/1sj9eSLf

  • 相关阅读:
    HDU 2878 Great World of Goo
    HDU 4295 4 substrings problem
    UVALive 4975 Casting Spells
    UVA 10572 Black & White
    POJ 3133 Manhattan Wiring
    HDU 4267 A Simple Problem with Integers
    SPOJ 7258 Lexicographical Substring Search
    UVALive 4978 Fields and Farmers
    ssh连接aix问题与解决
    MDRT_<>$表
  • 原文地址:https://www.cnblogs.com/sunminmin/p/4497597.html
Copyright © 2020-2023  润新知