Ubuntu20.04交叉编译Vlc3.0.16,并添加录像接口
準備工作
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
總結
以上是生活随笔為你收集整理的Ubuntu20.04交叉编译Vlc3.0.16,并添加录像接口的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 海康威视相机控制初步
- 下一篇: 浅谈139/445与入侵2K主机