centos編譯android
A. linux和centos的區別
linux的一個著名版本是red hat,本來是有個人版本和企業版本,後來個人版本不再開發,改為fedora。而企業版本呢是要收費的。centOS就是red hat企業版本的重寫,不要收費的。
所以說centOS是linux操作系統的一個版本。
1、完全可以把CentOS理解為RedHat AS系列!它完全就是對RedHat AS進行改進後發布的!各種操作、使用和RedHat沒有區別!
2、CentOS完全免費,不存在像RedHat AS系列那樣需要序列號的問題。
3、CentOS獨有的yum命令支持在線升級,可以即時更新系統,不像RedHat那樣需要花錢購買支持服務!
4、CentOS修正了許多RedHat AS的BUG!
5、CentOS版本說明:
CentOS4.0等同於RedHat AS4
CentOS4.1等同於RedHat AS4 U1
CentOS4.2等同於RedHat AS4 U2
CentOS4.3等同於RedHat AS4 U3
CentOS4.4等同於RedHat AS4 U4
RedHat在發行的時候,有兩種方式:二進制的發行方式以及源代碼的發行方式。無論是哪一種發行方式,你都可以免費獲得(例如從網上下載),並再次發布。但如果你使用了他們的在線升級(包括補丁)或咨詢服務,就必須要付費。
RedHat一直都提供源代碼的發行方式,CentOS就是將RedHat發行的源代碼重新編譯一次,形成一個可使用的二進製版本。由於Linux的源代碼是GNU,所以從獲得RedHat的源代碼到編譯成新的二進制,都是合法。只是RedHat是商標,所以必須在新的發行版里將RedHat的商標去掉。
B. 程序運行軟體後面帶什麼
電腦程序運行軟體的軟體後綴通常是".exe",表示可執行文件。這是一種常見的可執行文件格式,在Windows操作系統中廣泛使用。
安裝軟體時,通常會使用安裝程序來安裝軟體到計算機的硬碟上。安裝程序的後綴可以有多種形式,具體取決於所使用的安裝程序的類型和版本。以下是幾種常見的安裝程序後綴:
1. .exe:許多Windows操作系統上的安裝程序使用exe後綴,例如setup.exe、install.exe等。
2. .msi:這是Windows Installer安裝程序的後綴,它是一種用於安裝、維護和刪除軟體的安裝包格式。
3. .dmg:這是蘋果macOS操作系統上常見的安裝程序後綴,用於安裝軟體到Mac計算機。
4. .deb/.rpm:這些是Linux操作系統上的包管理器使用的安裝程序後綴。.deb用於Debian和Ubuntu等基於Debian的發行版,而.rpm用於使用RPM包管理器的發行版,如Red Hat、Fedora和CentOS等。
5. .apk:這是Android操作系統上的安裝程序後綴,用於安裝移動設備上的應用程序。
這些後綴只是一些常見的示例,實際上還有許多其他類型的安裝程序後綴。不同的操作系統和軟體開發者可能會選擇不同的後綴來表示其安裝程序。
C. Android iso鏡像
文件地址: Android iso鏡像文件
這個是 release Android 9.0 r1 , 所以 Choose an operating system的時候選擇"FreeBSD 10 or earlier",Fireware Type選擇Legacy BIOS,後面就是常見的"Customize settings", change Processors & Memory. 然後回到Display:Accelerate 3D Graphics, Shared Graphics Memory改為1024M.
之前記錄過的: CentOS7, Debian10, RHEL, Ubuntu 鏡像ISO文件
D. centos下 Janus Server 搭建筆記
Janus 是一個開源的,通過 C 語言實現了對 WebRTC 支持的 Gateway;Janus 自身實現得很簡單,提供插件機制來支持不同的業務邏輯,配合官方自帶插件就可以用來實現高效的 Media Server 服務。
本文主要介紹如何在 Centos 7.0 下搭建起 janus 伺服器,實現 janus 官方 Demo 瀏覽器與 Android APP Demo(janus-gateway-android)之間的音視頻通話。
目前瀏覽器僅支持 FireFox 瀏覽器,因為 Chrome 瀏覽器打開音視頻採集的話需要 HTTPS 加密訪問!
效果圖如下:
編譯運行 Janus Server 需要依賴較多的一些第三方庫
2.1 安裝依賴
Ubuntu 下通過 aptitude 批量安裝依賴工具包,這里建議 Ubuntu 鏡像源(/etc/apt/source.list)不要為了追求速度而改用了國內的某些鏡像源,如 網易 163,這可能會導致某些工具包下載失敗,建議依然使用官方自帶的鏡像源。
yum list | grep nice
yum install gtk-doc
批量安裝命令:
如果出現某個工具包下載失敗,請修改鏡像源為官方地址,並執行以下命令
以更新鏡像源,完成後重新安裝。
2、 安裝 WebSocket
janus 支持 WebSocket 是可選項,如果不安裝,編譯 janus 時,默認不支持 WebSocket 的鏈接請求,而 Android APP Demo 是通過 WebSocket 與 janus 進行通信的,因為我們希望 Android APP Demo 能與瀏覽器(HTTP)進行視頻通話,所以就必須要在編譯 janus 時支持 WebSocket。
依次執行以下命令,分別進行下載,編譯,安裝:
安裝成功後,在編譯 janus 時,janus 默認會增加對 WebSocket 的集成,或者通過增加編譯參數 --enable-websockets 打開 WebSocket 開關,或 --disable-websockets 關閉 WebSocket 開關。
3、 安裝 Http Server
Janus 源碼目錄下的 html 下自帶 Web Demo(html & javaScript ),Janus 編譯完成並 Start 以後,需要通過 http server 訪問 Janus Web Demo,其中包括:
以上 janus 插件均可通過相應的 http 鏈接進行訪問體驗。
以下介紹一種快速,便捷,輕巧的 HTTP Server 安裝方式:
通過 Node.js (基於 Chrome V8 引擎的 JavaScript 運行環境) 進行安裝,首先安裝 Node.js:
安裝成功後,通過 npm (npm 是 Node.js 的包管理器,是全球最大的開源庫生態系統) 進行安裝 httpserver:
啟動方式:
進入到 html 目錄,執行 http-server 命令即可,如:
輸入 http url 即可訪問。
註:需首先 build & start janus Server!
4、 安裝 libsrtp
Janus 需要至少 version 1.5 以上的 libsrtp,如果系統中已經安裝了 libsrtp,則首先卸載後,手動安裝新版本,這里我們安裝 libsrtp 2.0,依次執行以下命令:
5、 編譯 Janus
通過 Git 下載 Janus 源碼,並編譯安裝:
configure 執行成功後,會輸出 janus 所支持的 協議及插件,如下:
6、 運行 Janus
如果全部安裝以上步驟進行編譯的 janus ,那麼 janus 的全局配置文件存放目錄為 :
或者在啟動 janus 時,加上相應的啟動參數,參數可通過 janus --help 查看;
janus 默認的配置中是沒有 WebSocket 的配置的,直接啟動 Janus 會因沒有 WebSocket 配置文件而報錯。幸運的是在配置目錄中 Janus 已經給我們提供了一個 WebSocket 的示例配置文件 : janus.transport.websockets.cfg.sample,(如果我們要通過 WebSocket 連接 Janus,則需要有個 WebSocket 的配置文件)這里我們可以直接拷貝這個示例文件:
通過查看此配置文件,可以得知 Janus 默認的 WebSocket 的埠號為 8188, 記住這個埠號,在 Android APP Demo 中會使用到!
啟動 Janus:
根據需要可以選擇是否加上後面兩個啟動參數。
我們使用 PC 下的 瀏覽器 與 Android APP Demo 進行聯調。
1、 啟動 Web Demo
進入到 janus 目錄下的 html 目錄,啟動 http-server
這樣外部便可以通過 http://100.100.32.64:8080 進行訪問了,進入首頁後,找到 videoRoom,Start
2、 啟動 Android APP Demo
修改源代碼
janus-gateway-android 支持兩個 Demo 測試:EchoTest 和 VideoRoom,默認情況下會啟用 EchoTest,這個 Demo 僅僅是連接伺服器後,將數據再發回本地進行本地測試,我們要改為與房間內的其它用戶(瀏覽器)進行視頻通話,則需要啟用另外一個測試用例 VideoRoom,按照如下方式修改代碼:
JanusActivity.java 類中新增 VideoRenderer.Callbacks 數組(視頻房間中可能會有多人),暫定義為 2 個,實際連接人數不要超過此數字:
OnCreate 方法中初始化以上定義的數組:
APP Demo 是通過 WebSocket 連接 Janus Server,所以修改 VideoRoomTest.java 中 JANUS_URL 地址為我們啟動的 Janus 伺服器 WebSocket 地址,IP 為 janus server 地址,埠默認為 8188:
3、聯調測試
Janus Server 默認會開啟兩個視頻房間:1234 和 5678,分別使用 VP8 和 VP9 視頻編碼器,所以我們通過 Brower 和 Android APP Demo 進行聯調測試時,暫不需要設置房間 ID。
效果圖:
修改/opt/janus/etc/janus/janus.jcfg
nat: {
stun_server = "stun.voip.eutelia.it"
stun_port = 3478
nice_debug = false