vlc的第三方库contrib的修改:live库的修改
来源:互联网 发布:人工智能在线观看土豆 编辑:程序博客网 时间:2024/06/06 03:55
原文地址: http://jeremiah.blog.51cto.com/539865/177573
感谢vlc研究群的gg-Ak47童鞋的帮忙,虽然很据他给我讲的我没有搞定。
Contrib库都是官网提供的,如果有些代码调用的第三方库,我们调试修改起来就很麻烦。Jeremiah最近再调试vlc的rtsp方面的东西,编译了live555的库,替换掉官网提供的Contrib里面关于live方面的库,vlc编译通过,实现了对第三方库的修改。在此共享,提供一个思路,其他的库,以此类推。
测试环境:
1. cygwin-new(20081208)
2. vlc-0.9.9a
3. contrib-20090118-win32-bin-gcc-4.2.1-sjlj-runtime-3.13-only.tar.bz2
测试环境:
1. cygwin-new(20081208)
2. vlc-0.9.9a
3. contrib-20090118-win32-bin-gcc-4.2.1-sjlj-runtime-3.13-only.tar.bz2
(
在我的公共邮箱提供了下载,具体下载方式为:
1). 登录http://mail.qq.com
2). 用户名:jeremiah_vlc
3). 密码:发邮件给我(jeremiah.vlc@gmail.com),我会告知。
4). 在“我的文件夹”的“Jeremiah_VLC相关资源”有所有资料的超大附件连接。
1). 登录http://mail.qq.com
2). 用户名:jeremiah_vlc
3). 密码:发邮件给我(jeremiah.vlc@gmail.com),我会告知。
4). 在“我的文件夹”的“Jeremiah_VLC相关资源”有所有资料的超大附件连接。
)
第三方库的版本是非常重要的,在此Jeremiah提供一个方法去找所需要库的版本。
打开vlc源码下面的extras/contrib/src/会有一个MakeFile及packages.mak,这两个文件本来是给Linux及MacOS下载编译第三方库的。根据这两个文件就应该知道第三方库提供的下载地址及如果编译。
但是live555的库比较特殊,搜索“live“,发现永远都是live-latest.tar.gz。这个是根据版本不同而随时改变的。Jeremiah也是试验多次,终于找到了一个比较适合的版本。
第三方库的版本是非常重要的,在此Jeremiah提供一个方法去找所需要库的版本。
打开vlc源码下面的extras/contrib/src/会有一个MakeFile及packages.mak,这两个文件本来是给Linux及MacOS下载编译第三方库的。根据这两个文件就应该知道第三方库提供的下载地址及如果编译。
但是live555的库比较特殊,搜索“live“,发现永远都是live-latest.tar.gz。这个是根据版本不同而随时改变的。Jeremiah也是试验多次,终于找到了一个比较适合的版本。
下载地址:http://ftp.gamma.ru/FreeBSD/ports/local-distfiles/nork/live.2009.02.23.tar.gz
这个ftp里面还有其他版本的live。由于live官方不提供旧版本下载,所以,旧版的live只能通过其他的非官方渠道获得。
1. 解压live.2009.02.23.tar.gz到~下
2. copy补丁到~下。注意目录层级
cp ~/vlc-0.9.9a/extras/contrib/src/Patches/live-noapps.patch ~/vlc-0.9.9a/extras/contrib/src/Patches/live-uselocale.patch ~
3. 打补丁
patch -p0 < live-noapps.patch
patch -p0 < live-uselocale.patch
patch -p0 < live-uselocale.patch
4. 进入到live里面修改config.mingw
cd live
vi config.mingw
vi config.mingw
修改如下:
将C_COMPILER从$(CC)改成gcc -mno-cygwin
将CPLUSPLUS_COMPILER从$(CXX)改成g++ -mno-cygwin
将LIBRARY_LINK从$(LD) -o改成$(LD) -lws2_32 -o
将CPLUSPLUS_COMPILER从$(CXX)改成g++ -mno-cygwin
将LIBRARY_LINK从$(LD) -o改成$(LD) -lws2_32 -o
5. 编译live
./genMakefiles mingw
make
make
不报错就说明编译的很OKAY。
6. copy库到/usr/win32
将下列脚本保存为cp.sh
cp BasicUsageEnvironment/libBasicUsageEnvironment.a /usr/win32/live.com/BasicUsageEnvironment/
cp BasicUsageEnvironment/libBasicUsageEnvironment.a /usr/win32/lib/
cp UsageEnvironment/libUsageEnvironment.a /usr/win32/live.com/UsageEnvironment/
cp UsageEnvironment/libUsageEnvironment.a /usr/win32/lib
cp groupsock/libgroupsock.a /usr/win32/live.com/groupsock/
cp groupsock/libgroupsock.a /usr/win32/lib/
cp liveMedia/libliveMedia.a /usr/win32/live.com/liveMedia/
cp liveMedia/libliveMedia.a /usr/win32/lib
cp BasicUsageEnvironment/libBasicUsageEnvironment.a /usr/win32/lib/
cp UsageEnvironment/libUsageEnvironment.a /usr/win32/live.com/UsageEnvironment/
cp UsageEnvironment/libUsageEnvironment.a /usr/win32/lib
cp groupsock/libgroupsock.a /usr/win32/live.com/groupsock/
cp groupsock/libgroupsock.a /usr/win32/lib/
cp liveMedia/libliveMedia.a /usr/win32/live.com/liveMedia/
cp liveMedia/libliveMedia.a /usr/win32/lib
执行
sh cp.sh
到此库已经替换成功了,以后修改了live的源码就可以重新make,重新cp。
7. vlc重新关联live的库
如果你想make clean了再make,我没意见。这里提供一个简单的方法。
cd ~/vlc-0.9.9a/modules/demux
rm liblive555_plugin_la-live555.lo
make
rm liblive555_plugin_la-live555.lo
make
之后在modules/demux/.libs下面的liblive555_plugin.dll就是最新编译好的,考到package好的vlc-0.9.9a的plugins下就搞定所有了。
0 0
- vlc的第三方库contrib的修改:live库的修改
- vlc的第三方库contrib的修改之二:ffmpeg的库的修改
- vlc-2.1.0的第三方库contrib的修改之ffmpeg的库的修改
- VLC第三方视频框架的使用 (第一步,导入VLC库)
- 修改android studio导入的第三方gradle的源码
- 修改第三方库在windows下不支持中文的问题
- 【IDE-Visual Studio】Visual Studio对常用第三方库的包含,VC++目录修改
- vlc的应用之十一:修改vlc的界面文字
- 如何安全修改cocoapods上的第三方代码
- 如何安全修改cocoapods上的第三方代码
- 使用CocoaPods管理需要修改的第三方
- 修改第三方应用的界面显示(例如:QQ)
- VLC视频第三方框架的音量调节
- VLC视频第三方框架的音量调节
- 彻底修改Windows Live Messenger的字体大小
- 第三方库的编译
- python3 的第三方库
- listview的第三方库
- Java8中的时间和日期
- QT内置的窗口部件类和对话框类
- C++截屏工具开发技术
- hql语句
- 『算法学习笔记』10th day. 文件操作<1>
- vlc的第三方库contrib的修改:live库的修改
- 二分求幂
- Crixalis's Equipment
- 题目1510:替换空格
- vlc的应用:vlc的远程控制
- 交换十六进制的的高低字节
- 版本管理:Git 使用起步(一)
- Git SSH登录
- win8任务管理器中进程网络始终为0的解决方案