请移步https://higoge.github.io/,所有下载资料在那个博客都能找到。谢谢。 

--------------------------------------------------------------------

    感谢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). 登录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也是试验多次,终于找到了一个比较适合的版本。


    下载地址: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

 

4. 进入到live里面修改config.mingw

cd live
vi config.mingw

修改如下:

将C_COMPILER从$(CC)改成gcc -mno-cygwin
将CPLUSPLUS_COMPILER从$(CXX)改成g++ -mno-cygwin
将LIBRARY_LINK从$(LD) -o改成$(LD) -lws2_32 -o

 

5. 编译live

./genMakefiles mingw
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

执行

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

之后在modules/demux/.libs下面的liblive555_plugin.dll就是最新编译好的,考到package好的vlc-0.9.9a的plugins下就搞定所有了。