Ubuntu20.04交叉编译Vlc3.0.16,并添加录像接口

6 篇文章 1 订阅
2 篇文章 0 订阅

准备工作

1、准备好ubuntu20.04的编译环境,虚拟机、云服务器都可
2、去官方网站查询一下指定编译步骤This page will help you to compile VLC media player for Windows.

注意点

1、官方推荐第一种编译方式,即MinGW编译器+Linux交叉编译的方式。其他坑较多,慎重选择。Debian/Ubuntu等系统都可,但是ubuntu14.04太老,干脆直接18.04或20.04。

在这里插入图片描述
在这里插入图片描述

2、编译出的软件位数要选不同的工具链,所以首先要安装好所需要的工具链。两个版本我都编译了,发现使用32位版本去开发软件,在拉流播放的时候,拉到第7个流的时候,会崩溃,而64位版本则没有这个问题~

在这里插入图片描述

3、(很少有人提及)在获取第三方库的时候,请记住!!!凡是编译vlc3.0.x版本的不要用prebuilt方式,官方已做了说明:prebuilt方式只针对2.2.x版本
在这里插入图片描述

4、按照官方指定的步骤一步步的编译,获取第三方库的过程要灵活变通,翻个那啥会快很多,还有一些方法,具体可见下面所遇到的常见错误。

第三方库下载编译过程可能遇到的错误

获取第三方库的时候
make fetch

1、下载AOM,我是到windows系统下直接链接下载–aom库下载链接,然后转移到contrib/tarballs文件夹下,并修改名称为aom-v1.0.0.errata.1.tar.gz:
Connecting to aomedia.googlesource.com (aomedia.googlesource.com)|74.125.142.82|:443… failed: Connection refused.
Connecting to aomedia.googlesource.com (aomedia.googlesource.com)|2607:f8b0:400e:c08::52|:443… failed: Network is unreachable.
…/…/contrib/src/aom/rules.mak:12: recipe for target ‘…/…/contrib/tarballs/aom-v1.0.0.errata.1.tar.gz’ failed
make: *** […/…/contrib/tarballs/aom-v1.0.0.errata.1.tar.gz] Error 4

2、bluray库,是个bug,已给出解决方案,patch如下:
在这里插入图片描述

添加完之后,重新make还会有问题,因为之前生成的文件不对要删除
在这里插入图片描述

3、srt库、chromaprint库,错误都是找不到相关库,cmake打开configure即可
在这里插入图片描述

vlc编译的时候
1、chromaprint错误,去找makefile
在这里插入图片描述
2、chromecast错误,请看图解
在这里插入图片描述

vlc打包
方式有几种,请看官方文档。

make package-win-common

cp: cannot stat ‘…/share/hrtfs’: No such file or directory
Makefile:2410: recipe for target ‘package-win-common’ failed
自己建一个空文件夹即可。

sudo make package-win32-7zip

Making install in activex
make[3]: Entering directory ‘/home/d/vlc-3.0.7.1/win32/npapi-vlc/activex’
make[3]: *** No rule to make target ‘/usr/include/wine/windows/stdole2.idl’, needed by ‘stdole2.tlb’. Stop.
make[3]: Leaving directory ‘/home/d/vlc-3.0.7.1/win32/npapi-vlc/activex’
Makefile:481: recipe for target ‘install-recursive’ failed
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory ‘/home/d/vlc-3.0.7.1/win32/npapi-vlc’
Makefile:2388: recipe for target ‘install-npapi’ failed
make[1]: *** [install-npapi] Error 2
make[1]: Leaving directory ‘/home/d/vlc-3.0.7.1/win32’
Makefile:2342: recipe for target ‘build-npapi’ failed
make: *** [build-npapi] Error 2

sudo apt-get install wine-dev 继续。

中途遇到,正在设定 ttf-mscorefonts-installer,"别傻傻等。。。
“正在设定 ttf-mscorefonts-installer” 解决方法:

下拉到底按Tab选中它,再回车即可。

==以上就是编译vlc源码的过程,添加录像接口是在可以完整编译源码的基础上,修改源码再重新编译一遍,所以顺利编译源码之后,自然水到渠成,录像接口的patch搜索一下有很多,推荐一下两种方案:
1、https://blog.csdn.net/joinwilson/article/details/115271653(简单)
2、https://patches.videolan.org/patch/606/(官方,稍复杂但更加合理)

祝大家编译愉快
请严格按照官方编译指导进行操作,一般不会出问题!!!

官方链接:https://wiki.videolan.org/Win32Compile/
录像接口:1、https://blog.csdn.net/joinwilson/article/details/115271653(简单)
2、https://patches.videolan.org/patch/606/(官方,稍复杂但更加合理)
如不想自己编译,可下载本人编译好的资源
64位:https://download.csdn.net/download/qq_41750806/87243133
32位: https://download.csdn.net/download/qq_41750806/87243116

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值