VLC编译

来自IPTV爱好者
跳转至: 导航搜索

ZTE的Media Server与标准的RTSP有点差异,因此需要对VLC依赖的live555 liveMedia库做一点调整,解决下面几个问题:

  • 不要发OPTIONS命令,否则会有30秒的延时;
  • DESCRIBE命令返回的参数中:m=video 0 RTP/AVP格式有错误

编译VLC的过程

1. 编译环境,目前最新的Cygwin。(《windows平台下vlc编译之五:vlc-0.9.6的编译》提供下载地址)

2. 源码和库: 源码:[1]

库:[2]

3. 执行

sed -i 's/AM_GNU_GETTEXT_VERSION(0.17)/AM_GNU_GETTEXT_VERSION(0.15)/g' configure.ac    
   
./bootstrap

4. 保存如下脚本为configure-vlc01.sh

PATH=/usr/win32/bin:$PATH \ 
PKG_CONFIG_LIBDIR=/usr/win32/lib/pkgconfig \ 
CPPFLAGS="-I/usr/win32/include -I/usr/win32/include/ebml" \ 
LDFLAGS=-L/usr/win32/lib \ 
CC="gcc -mno-cygwin" CXX="g++ -mno-cygwin" \ 
./configure \ 
        --host=i686-pc-mingw32 \ 
        --enable-nls --enable-sdl --with-sdl-config-path=/usr/win32/bin \ 
        --enable-avcodec --enable-avformat --enable-swscale \ 
        --enable-faad --enable-flac --enable-theora \ 
        --enable-freetype \ 
        --enable-fribidi \ 
        --enable-live555 --with-live555-tree=/usr/win32/live.com \ 
        --enable-caca --with-caca-config-path=/usr/win32/bin \ 
        --with--config-path=/usr/win32/bin \ 
        --with-dvdnav-config-path=/usr/win32/bin \ 
        --disable-cddax --disable-vcdx --enable-goom \ 
        --enable-twolame --enable-dvdread \ 
        --enable-debug    --enable-dca \ 
        --disable-mkv --disable-taglib \ 
        --disable-zvbi \ 
        --enable-mozilla

5. 执行./configure-vlc01.sh


6. 执行make前改两个文件。 libtool第144行:

修改

global_symbol_pipe=""    

global_symbol_pipe="sed -n -e 's/^.*[         ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[                         ][                        ]*\\(\\) \\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1\\2\\3 \\3/p'" 

Makefile.am第694行

修改

cp "$(top_srcdir)/extras/package/win32/vlc.exe.manifest" "$(win32_destdir)/" 

#  cp "$(top_srcdir)/extras/package/win32/vlc.exe.manifest" "$(win32_destdir)/" 

Makefile.am第735行

修改

cp $(top_srcdir)/projects/activex/axvlc.dll.manifest $(win32_destdir)/activex/ 

#  cp $(top_srcdir)/projects/activex/axvlc.dll.manifest $(win32_destdir)/activex/ 

7. 执行make && make package-win32-base。