基于VLC的网络视频播放器

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于VLC的网络视频播放器

bavon@

VLC Media Player(/vlc/)是一个优秀的、跨平台、支持多种传输协议、支持多种视频编码格式的视频播放器(同时也可以作为服务器)。VLC提供了二次开发包,在windows下可以利用VLC提供的ActiveX控件来进行二次开发。本文档介绍了如何在win32平台上利用mingw进行VLC的移植,并通过VLC的ActiveX进行二次开发,实现一个多媒体播放器。

在win32平台上利用mingw进行VLC的移植

首先是创建VLC的编译环境。

到/project/showfiles.php?group_id=2435下载相关文件。

下载MinGW-5.1.3.exe或者更高的版本,然后运行,按照提示安装,最好选择安装full 版本。

下载MSYS-1.0.10.exe或者更高的版本,然后运行,按照提示安装,中间要正确填写已经安装好的MinGW的目录,例如“j:/MinGW”。主要要用“/”。

下载msysDTK-1.0.0.exe或者更高的版本,然后运行,按照提示安装。

其次是编译VLC。

下载//pub/testing/win32/contrib-0.8.6e-gcc-3.4.5-only.tar.bz2 到某个目录,如“j:\vlc”。

到/vlc/download-sources.html下载VLC source code tar.gz文件到上述目录。

运行msys程序,在弹出的控制终端中输入

mkdir /vlc

然后用windows的记事本编辑器编辑msys\1.0\etc\fstab文件,在里面加入一行j:/VLC /vlc,这样可以挂载vlc目录。

在msys的控制终端中输入

cd /vlc

tar jxvf contrib-0.8.6e-gcc-3.4.5-only.tar.bz2 –C /

会把解码库解压到/usr/win32-branch目录中。

在当前目录继续输入

tar zxvf vlc-0.8.6e.tar.gz

将vlc的源代码解压缩到vlc-0.8.6e目录中。

在当前目录继续输入

cd vlc-0.8.6e

./bootstrap

PKG_CONFIG_PA TH=/usr/win32-branch/lib/pkgconfig \

CPPFLAGS="-I/usr/win32-branch/include -I/usr/win32-branch/include/ebml" \

LDFLAGS=-L/usr/win32-branch/lib \

./configure \

--disable-gtk \

--enable-nls --enable-sdl --with-sdl-config-path=/usr/win32-branch/bin \

--enable-ffmpeg --with-ffmpeg-mp3lame --with-ffmpeg-faac \

--with-ffmpeg-zlib --enable-faad --enable-flac --enable-theora \

--with-wx-config-path=/usr/win32-branch/bin \

--with-freetype-config-path=/usr/win32-branch/bin \

--with-fribidi-config-path=/usr/win32-branch/bin \

--enable-caca --with-caca-config-path=/usr/win32-branch/bin \

--with-xml2-config-path=/usr/win32-branch/bin \

--with-dvdnav-config-path=/usr/win32-branch/bin \

--disable-cddax --disable-vcdx --enable-goom \

--enable-twolame --enable-dvdread \

--disable-mkv \

--enable-debug

开始VLC的配置,然后执行

make

开始编译。编译过程中先出现如下错误:

j:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/sys/stat.h:113: error: syntax error before "off_t"

j:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/sys/stat.h:118: error: syntax error before '}' token

make[4]: *** [libaccess_output_file_plugin_a-file.o] Error 1

make[4]: Leaving directory `/vlc/vlc-0.8.6e/modules/access_output'

make[3]: *** [all-modules] Error 1

make[3]: Leaving directory `/vlc/vlc-0.8.6e/modules/access_output'

make[2]: *** [all-recursive] Error 1

make[2]: Leaving directory `/vlc/vlc-0.8.6e/modules'

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/vlc/vlc-0.8.6e'

make: *** [all] Error 2

原因是:没有在sys/stat.h之前包含“config.h”文件。这2个头文件有冲突。

解决办法:将vlc-0.8.6e /modules/access_out/file.c和vlc-0.8.6e /modules/access_out/udp.c 这两个文件的“#include ”注释掉。

相关文档
最新文档