VLC精简
来源:互联网 发布:cf网络连接服务器失败 编辑:程序博客网 时间:2024/05/16 01:38
精简
VLC默认包含了大量的功能,超过2百个插件;Windows下安装包大小接近10MB,安装之后超过35MB。有时候如果我们只需要部分的功能,应该如何精简它呢?
例如在SimpleTV中,如果仅保留了播放和录制格式为MPEG2,以UDP组播或者http方式传输的视频流的功能,这样整个VLC打包后只有1.2MB,解压后也仅有2M多一点。
精简VLC的第一步是重新配置编译选项,将不需要的功能去掉。以下是配置适用于VLC的版本是0.8.6i。
PATH=/usr/win32-branch/bin:$PATH /
PKG_CONFIG_PATH=/usr/win32-branch/lib/pkgconfig /
CPPFLAGS=”-I/usr/win32-branch/include -I/usr/win32-branch/include/ebml” /
LDFLAGS=-L/usr/win32-branch/lib /
CC=”gcc -mno-cygwin” CXX=”g++ -mno-cygwin” /
./configure /
–with-freetype-config-path=/usr/win32-branch/bin /
–with-fribidi-config-path=/usr/win32-branch/bin /
–disable-ffmpeg /
–disable-live555 /
–disable-cddax /
–disable-vcdx /
–disable-skins2 /
–disable-wxwidgets /
–disable-mozilla /
–disable-httpd /
–disable-dvdnav /
–disable-libcdio /
–disable-libcddb /
–disable-cdda /
–disable-sdl /
–disable-sdl-image /
–disable-vcd /
–disable-dvdread /
–disable-smb /
–disable-cmml /
–disable-alsa /
–disable-opengl /
–disable-png /
–disable-screen /
–disable-mkv /
–disable-mod /
–disable-mpc /
–disable-libtar /
–disable-speex /
–disable-visual /
–disable-daap /
–disable-bonjour /
–disable-gnutls /
–disable-vorbis /
–disable-real /
–disable-xml /
–disable-x264 /
–enable-sout /
–enable-activex /
–enable-release
从这个脚本可见,主要是禁用了大量的功能。运行 ./configure -h 可以显示每一个配置项的意义;如果还不清楚可以再去搜一下选项对应的库的位置。ffmpeg是一个庞大的编解码库,但是MPEG2的解码可以利用另一个库libmpeg2,所以在这里不需要它。
注意make完之后要用make package-win32-base来打一下包,打包时会用strip工具来压缩每一个可执行文件。
但是这样还没有结束。配置项并不是很全面的,而且还会有一些小问题,例如xml禁用了还会有。。。于是还需要手动的清理一下plugins目录里面的插件,挑出没有用处的,这也需要对VLC模块的熟悉。需要如下功能控件。
liba52sys_plugin.dll liba52 用于AC3格式的音频解码,CCTV高清频道需要
liba52tofloat32_plugin.dll
liba52tospdif_plugin.dll
liba52_plugin.dll
libaccess_file_plugin.dll 文件访问,播放文件需要
libaccess_http_plugin.dll HTTP访问模块
libaccess_output_file_plugin.dll sout的文件模块,用于录制
libaccess_udp_plugin.dll UDP访问模块
libaout_directx_plugin.dll DirectX的声音输出,默认的声音输出模块
libdeinterlace_plugin.dll 解交错的vout-filter模块
libdirect3d_plugin.dll Direct3D视频输出模块,在上面可以半透明。。。
libfixed32tofloat32_plugin.dll 一些数据转换模块
libfixed32tos16_plugin.dll
libfloat32tos16_plugin.dll
libfloat32tos8_plugin.dll
libfloat32tou16_plugin.dll
libfloat32tou8_plugin.dll
libfloat32_mixer_plugin.dll
libglwin32_plugin.dll OpenGL视频输出模块
libi420_ymga_plugin.dll
libi422_yuy2_plugin.dll
libipv4_plugin.dll IPv4网络模块
libipv6_plugin.dll IPv6网络模块
liblibmpeg2_plugin.dll libmpeg2,解码全靠它
liblogger_plugin.dll 日志模块,调试必备
libmemcpy_plugin.dll 好像是利用各种CPU指令加速内存拷贝的
libmpeg_audio_plugin.dll MPEG音频的解码模块
libmpgatofixed32_plugin.dll
libmpga_plugin.dll
libmux_dummy_plugin.dll
libpacketizer_mpegvideo_plugin.dll
libs16tofixed32_plugin.dll
libs16tofloat32swab_plugin.dll
libs16tofloat32_plugin.dll
libs8tofloat32_plugin.dll
libsimple_channel_mixer_plugin.dll
libstream_out_display_plugin.dll sout的模块 。。。
libstream_out_duplicate_plugin.dll
libstream_out_standard_plugin.dll
libtrivial_channel_mixer_plugin.dll
libtrivial_mixer_plugin.dll
libtrivial_resampler_plugin.dll
libts_plugin.dll TS流的解复用模块
libu8tofixed32_plugin.dll
libu8tofloat32_plugin.dll
libugly_resampler_plugin.dll
libvout_directx_plugin.dll DirectX视频输出模块
libwingdi_plugin.dll GDI视频输出模块
作为ActiveX控件的VLC,只需要这些模块和axvlc.dll就足够了。当然如果使用了libvlc.dll还要带上。
- VLC精简
- VLC 精简
- vlc+fedora15+精简
- android-vlc 精简
- android-vlc精简
- vlc精简之编译选项
- windows平台下vlc编译之四:精简vlc
- 精简VLC并编译成静态库(vs2005)
- VLC
- VLC
- VLC
- VLC
- vlc
- 精简
- 精简
- “互联网思维”就是精简精简再精简!
- vlc学习
- VLC使用
- VLC Linux平台编译
- VLC 0.9.2 正式发布 && VLC播放Rm Rmvb的插件
- ftok函数 应用,原理及 shell 脚本实现
- WMI是什么
- 计算机术语(MBR)
- VLC精简
- liferay5.2.1基础数据库和 MySql安装的心得
- linux操作系统下c语言编程入门
- 使用Signature Tool自动生成P/Invoke调用Windows API的C#函数声明
- 几个受益终身的英文缩写
- linux操作系统下c语言编程入门
- 在VS2008中集成Lua解释器
- 解决 Fedora 10 root 用户不能登陆的问题
- 在Wince5.0中实现关机功能 ——转载