ubuntu平台,VLC/LibVLC交叉编译,生成win32版本,以及LibVLC增加录像接口
来源:互联网 发布:木工软件 编辑:程序博客网 时间:2024/06/15 03:14
这几天要用LibVLC播放视频,还需要增加一个在播放过程中录制的功能,于是把VLC完整编译了一遍,也添加了录像的接口。
原先是想在windows平台用mingw+msys交叉编译的,不过vlc官网一再强调尽量用ubuntu系统编译,不推荐windows平台,
事实证明也确实是。。。用windows平台交叉编译出来的库,不知道为啥只能播放文件,不能播放直播流,linux的完全正常没问题。
总结一下编译步骤,坑还是比较多的。
首先是安装64位的ubuntu系统。我是在vmware里面安装的,尽量选择最新的高版本,我用的是16.04,不要使用14以下的版本,编译有问题。
这个就是常规的方式,没啥可说的。我用的是网卡桥接模式。接下来重点看VLC相关的内容。
先安装所需要的依赖库和工具(要编译生成32位的LibVLC)
# apt-get install gcc-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64-tools
如果要编译生成64位的VLC则下载:
# apt-get install gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64-tools
然后依次安装所需要的库(VLC官网写的是qt5也安装,但是如果安装了qt5编译的时候会报错,qt库冲突,所以我只安装了qt4)
# apt-get install lua5.2 libtool automake autoconf autopoint make gettext pkg-config
# apt-get install qt4-dev-tools git subversion cmake cvs
# apt-get install wine64-development-tools libwine-development zip p7zip nsis bzip2
# apt-get install yasm ragel ant default-jdk protobuf-compiler dos2unix
接着下载vlc(我下载的2.2.7版本)
git clone git://git.videolan.org/vlc/vlc-2.2.git vlc
编译
cd vlc
mkdir -p contrib/win32
cd contrib/win32
../bootstrap --host=i686-w64-mingw32
make prebuilt
执行这个make prebuilt指令以后会下载一个预编译的大文件。
x64的linux需要删除部分文件
rm -f ../i686-w64-mingw32/bin/moc ../i686-w64-mingw32/bin/uic ../i686-w64-mingw32/bin/rcc
然后回到VLC根目录
./bootstrap
mkdir win32
cd win32
export PKG_CONFIG_LIBDIR=$HOME/vlc/contrib/i686-w64-mingw32/lib/pkgconfig
export CFLAGS="-O2"
export CXXFLAGS="-O2"
使用默认编译选项进行配置(如果要额外的选项则单独加参数)
../configure --host=i686-w64-mingw32
make
最后,编译打包生成windows相关的文件
make package-win-common
这步会把编译好的所有文件放到“vlc/win32/vlc-2.2.7”文件夹中
进入这个文件夹中,去掉dll中的调试信息
find . -name "*.dll" -type f | xargs -i strip --strip-all {}
以上编译生成了vlc的所有文件。
=======================我是分割线==================================
接着增加录制函数, libvlc_media_player_recorder_start和libvlc_media_player_recorder_stop。这个比较简单,不详细写了。
编译生成的LibVLC上传到CSDN,需要的同学自己下载使用吧。
下载地址:http://download.csdn.net/detail/avsuper/9919212
=================================END=====================================
- ubuntu平台,VLC/LibVLC交叉编译,生成win32版本,以及LibVLC增加录像接口
- ubuntu 12.04 下编译 android vlc(libvlc) 小结:
- 更改VLC源码 实现使用libVLC录像功能
- [置顶] 更改VLC源码 实现使用libVLC录像功能
- 更改VLC源码 实现使用libVLC录像功能
- 更改VLC源码 实现使用libVLC录像功能
- 编译libvlc。。。
- 编译libvlc。。。
- libvlc的录像功能
- libvlc的录像功能
- 实现使用libVLC录像功能
- Windows Qt 调用 vlc-qt以及libvlc记录
- 虚拟机安装OSX10.11.4+编译libVLC和VLC源码
- VLC-基于LIBVLC播放视频
- 编译 libvlc-qt
- release版本程序调用libvlc接口出现异常
- release版本程序调用libvlc接口出现异常
- release版本程序调用libvlc接口出现异常
- Telephony解析apns-conf.xml文件异常XmlPullParserException
- sql平均值并且四舍五入
- Nginx入门教程
- 使用log4j2打印日志
- JAVA微信订阅号开发者模式接入(java微信开发学习笔记1)
- ubuntu平台,VLC/LibVLC交叉编译,生成win32版本,以及LibVLC增加录像接口
- nyoj 1185 最大最小值【线段树】
- 谈谈Android多进程通信---AIDL
- 机器学习降维算法四:Laplacian Eigenmaps 拉普拉斯特征映射
- faster rcnn caffe安装
- Android Studio com.android.dex.DexException: Multiple dex files define(重复引用包),androiddefine
- 刚完成一个房产网
- HDU 6065 RXD, tree and sequence (LCA, 2017 Multi-Univ Training Contest 3)
- mysql 日期时间函数