91人妻论坛精品,99热精品国产三级在线观看,久久99精品久久久久久久野外,免费黄片wwww,日本黄色网站wwwxxⅹ,五月丁香婷婷激情综合网,欧美日韩国产精品综合

孟村回族政府辦公oa系統(tǒng):鼎湖區(qū)政務(wù)OA中智慧教室無紙化同屏方案是否適用RTMP?

時(shí)間:2025-02-07 01:40:29 信創(chuàng)OA資訊首頁 稻城縣政府公文系統(tǒng)

PHPOA!國內(nèi)首家專業(yè)OA辦公軟件、OA系統(tǒng)、政務(wù)辦公開源oa系統(tǒng)服務(wù)提供商,采用PHP+MYSQL開源語言,一直致力于應(yīng)用管理軟件基層研發(fā),現(xiàn)己推出企業(yè)OA、政府OA、集團(tuán)OA、SAAS版OA等應(yīng)用平臺,詳細(xì)咨詢13807814037 現(xiàn)在論壇購買,只需588元

孟村回族政府辦公政務(wù)OA系統(tǒng):鼎湖區(qū)政務(wù)oa中智慧教室無紙化同屏方案是否適用rtmp?不斷探索和引入新的工具和技術(shù)來提升工作效率和服務(wù)質(zhì)量。其中,oa(office automation)系統(tǒng)作為一種集成辦境便捷調(diào)節(jié)及資源制作于一體的新型現(xiàn)代化智慧教室。該方案不僅實(shí)現(xiàn)了教學(xué)資源的數(shù)字化、網(wǎng)絡(luò)化,還通過智能設(shè)備和平臺實(shí)現(xiàn)了教學(xué)過程的自動化、智能化,為師生提供了更加便捷、高效、互動的學(xué)習(xí)和教學(xué)環(huán)境。 二、主要特點(diǎn) 數(shù)字化教學(xué)資源:智慧教室無紙化方案提供了豐富海量的數(shù)字化教學(xué)資源,包括電子教材、多媒體課件、在線題庫等,師生可以隨時(shí)隨地進(jìn)行訪問和學(xué)習(xí),打破了傳統(tǒng)紙質(zhì)教材的束縛。 在線學(xué)習(xí)互動:通過智慧教室平臺,學(xué)生可以隨時(shí)收聽老師的講課內(nèi)容


java組合模式(composite):

組合模式(composite)使用組合模式的場景:??把部分和整體的關(guān)系用樹形結(jié)構(gòu)來表示,從而使客戶端可以使用統(tǒng)一的方式處理部分對象和整體對象.組合模式核心:抽象構(gòu)件(component)角色: 定義了葉子和容器構(gòu)件的共同點(diǎn)葉子 文件管理案例component抽象** * 抽象構(gòu)建 * @author 波波烤鴨 * @email dengpbs@163.com * *public interface abstractfile { f1.add(imagefile); f1.add(f); f1.operiation();}輸出:處理:c:文件夾視頻文件:aaa.mp4 處理操作視頻文件:aaa.mp4 處理操作圖片文件:波波烤鴨. jpg 處理操作處理:c:tools文件夾視頻文件:aaa.mp4 處理操作圖片文件:波波烤鴨.jpg 處理操作文本文件:readme.txt 處理操作開發(fā)中的應(yīng)用場景:操作系統(tǒng)的資源管理器gui中的容器層次圖 xml文件解析政務(wù)OA系統(tǒng)中,組織結(jié)構(gòu)的處理junit單元測試框架 ? 底層設(shè)計(jì)就是典型的組合模式,testcase(葉子)、testunite(容器)、test接口(抽象)?

小結(jié)css的float屬性:

padding:?0;????????} ????????img?{????????????float:?left;????????}???? ????????????????????新垣結(jié)衣 (aragaki?yui),1988年6月11日出生于沖繩縣那霸市。 2007年,她從日出高校畢業(yè)后開始專注于演藝發(fā)展,并發(fā)表個(gè)人首張音樂專輯《天空》;同年,新垣結(jié)衣還主演了愛情片《戀空》,而她也憑借該片獲得了多個(gè)電影新人獎項(xiàng)????????。 2010年,主演愛情片《花水木》。????????2011年,主演都市劇《全開女孩》。2012年,相繼參演現(xiàn)代劇《legal????????high》、劇情片《劇場版新參者:麒麟之翼》。 新垣結(jié)衣長相甜美、笑容純真,擁有天使般笑容的她被受訪者們稱為“治愈系”美女。而在電影《戀空》中她的表演既具深度又生活化。 ???? 1.2創(chuàng)建網(wǎng)頁布局float屬性還常用于網(wǎng)頁布局:效果:?

微信公眾號借用別的微信公眾號支付配置:

借用其他賬號微信支付之前,要確保要借用微信公眾號的微信支付已開通;并且要借用微信支付的公眾號可以添加微信支付授權(quán)目錄、安全域名、授權(quán)域名和ip白名單;滿足微信支付條件的賬號(包括認(rèn)證的服務(wù)號、認(rèn)證的政府與媒體類訂閱號 ),可以在微信公眾平臺左側(cè)導(dǎo)航中出現(xiàn)“微信支付”的文字,點(diǎn)擊即可進(jìn)行申請。 appid和appsecret在微信公眾平臺查看,若借用的是其他賬號的微信支付,則填寫這個(gè)開通微信支付的公眾號的appid和appsecret ;商戶號和api密鑰需登錄微信商戶平臺查看設(shè)置 ,配置后點(diǎn)擊確定即可保存 第三步、api密鑰的設(shè)置?第五步、使用開通微信支付公眾號登錄微信公眾平臺,點(diǎn)擊左側(cè)菜單的設(shè)置-》公眾號設(shè)置-》功能設(shè)置,添加安全域名、授權(quán)域名為:weixin.gycode.com? 第六步、開通微信支付的公眾號登錄微信公眾平臺,點(diǎn)擊左側(cè)菜單 開發(fā)-》基本配置,添加ip白名單:115.28.49.127?以上參數(shù)都配置成功后即可使用借用微信支付。

大數(shù)據(jù)時(shí)代,什么是數(shù)據(jù)分析的靈魂:

人類科學(xué)發(fā)展史上的不少進(jìn)步都和數(shù)據(jù)采集分析直接相關(guān),例如現(xiàn)代醫(yī)學(xué)流行病學(xué)的開端。倫敦1854年發(fā)生了大規(guī)模的霍亂,很長時(shí)間沒有辦法控制。 一位醫(yī)師用標(biāo)點(diǎn)地圖的方法研究了當(dāng)?shù)厮植己突魜y患者分布之間的關(guān)系,發(fā)現(xiàn)有一口水井周圍,霍亂患病率明顯較高,借此找到了霍亂暴發(fā)的原因:一口被污染的水井。關(guān)閉這口水井之后,霍亂的發(fā)病率明顯下降。 大數(shù)據(jù)是非競爭性資源,有助于政府科學(xué)決策、商家精準(zhǔn)營銷大數(shù)據(jù)時(shí)代,數(shù)據(jù)的重要作用更加凸顯,許多國家都把大數(shù)據(jù)提升到國家戰(zhàn)略的高度。 政府合理利用大數(shù)據(jù),引導(dǎo)決策的將是基于實(shí)證的事實(shí),政府會更有預(yù)見性、更加負(fù)責(zé)、更加開放。 小數(shù)據(jù)時(shí)代,政府做決策更多依憑經(jīng)驗(yàn)和局部數(shù)據(jù),難免頭痛醫(yī)頭、腳痛醫(yī)腳。比如,交通堵塞就多修路。大數(shù)據(jù)時(shí)代,政府做決策能夠從粗放型轉(zhuǎn)向集約型。

孟村回族政府辦公政務(wù)OA系統(tǒng):鼎湖區(qū)政務(wù)oa中智慧教室無紙化同屏方案是否適用rtmp?

得到廣泛應(yīng)用。本文將深入探討oa政府辦公的重要性、優(yōu)勢和未來發(fā)展趨勢。第一部分:oa政府辦公的重要性現(xiàn)代化政府辦公環(huán)境中,信息的快速流動和高效處理是至關(guān)重要的。oa政府辦公系統(tǒng)通過將傳統(tǒng)紙質(zhì)文件轉(zhuǎn)換為電子文檔,實(shí)現(xiàn)了信息的數(shù)字化存儲和管理。這不僅提高了政府工作的效率,還減少了紙質(zhì)文件的使用和存儲成本,對環(huán)境保護(hù)產(chǎn)生了積極的影響。此外,oa政府辦公系統(tǒng)還能夠促進(jìn)政府機(jī)關(guān)之間的協(xié)同合作和信息共享。通過統(tǒng)一的平臺和標(biāo)準(zhǔn)化的流程,不同部門之間可以更加便捷地溝通和協(xié)調(diào)工作,避免了信息孤島和工作重復(fù)。這種協(xié)同合作不僅提高了政府工作的效率,還增強(qiáng)了政府對外服務(wù)的一致性和可靠性。第二部分:oa政府辦公的優(yōu)勢提高工作效率:oa政府辦公系統(tǒng)通過自動化流程和任務(wù)分配,減少了繁瑣的手工操作和人為錯(cuò)誤。工作人員可以更智慧教室無紙化方案技術(shù)背景 智慧教室無紙化方案是一種基于現(xiàn)代信息技術(shù),旨在通過數(shù)字化手段實(shí)現(xiàn)教學(xué)過程的無紙化、智能化和高效化的解決方案。該方案以學(xué)生為中心,強(qiáng)調(diào)互動化的數(shù)字教學(xué)服務(wù),旨在提升教學(xué)質(zhì)量和學(xué)習(xí)效率,同時(shí)減少對傳統(tǒng)紙張的依賴,實(shí)現(xiàn)綠色環(huán)保。以下是對智慧教室無紙化方案的詳細(xì)闡述: 一、方案概述 智慧教室無紙化方案通過整合物聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能等先進(jìn)技術(shù),構(gòu)建了一個(gè)集智能管理、智慧教學(xué)、環(huán)境便捷調(diào)節(jié)及資源制作于一體的新型現(xiàn)代化智慧教室。該方案不僅實(shí)現(xiàn)了教學(xué)資源的數(shù)字化、網(wǎng)絡(luò)化,還通過智能設(shè)備和平臺實(shí)現(xiàn)了教學(xué)過程的自動化、智能化,為師生提供了更加便捷、高效、互動的學(xué)習(xí)和教學(xué)環(huán)境。 二、主要特點(diǎn) 數(shù)字化教學(xué)資源:智慧教室無紙化方案提供了豐富海量的數(shù)字化教學(xué)資源,包括電子教材、多媒體課件、在線題庫等,師生可以隨時(shí)隨地進(jìn)行訪問和學(xué)習(xí),打破了傳統(tǒng)紙質(zhì)教材的束縛。 在線學(xué)習(xí)互動:通過智慧教室平臺,學(xué)生可以隨時(shí)收聽老師的講課內(nèi)容,參與在線討論、提問和答疑,實(shí)現(xiàn)了師生之間的即時(shí)互動。同時(shí),學(xué)生還可以根據(jù)自己的學(xué)習(xí)進(jìn)度和需求進(jìn)行個(gè)性化學(xué)習(xí),提高了學(xué)習(xí)的針對性和自主性。 智能管理:智慧教室無紙化方案支持對教室內(nèi)的多種終端設(shè)備進(jìn)行無縫連接和智能化管理,如智能白板、互動電子白板、環(huán)境監(jiān)測設(shè)備等。這些設(shè)備能夠自動采集和分析數(shù)據(jù),為教學(xué)和管理提供有力支持。 環(huán)境便捷調(diào)節(jié):智慧教室通過溫度、濕度和光照感應(yīng)器等設(shè)備,實(shí)現(xiàn)了對教室內(nèi)環(huán)境的自動調(diào)節(jié),為師生提供了更加舒適的學(xué)習(xí)和教學(xué)環(huán)境。 三、實(shí)施步驟 需求分析:根據(jù)學(xué)校的實(shí)際情況和需求,對智慧教室無紙化方案進(jìn)行需求分析,明確建設(shè)目標(biāo)和功能需求。 方案設(shè)計(jì):根據(jù)需求分析結(jié)果,設(shè)計(jì)智慧教室無紙化方案,包括系統(tǒng)架構(gòu)、設(shè)備選型、平臺開發(fā)等方面。 設(shè)備采購與安裝:按照方案要求采購相關(guān)設(shè)備,并進(jìn)行安裝調(diào)試,確保設(shè)備能夠正常運(yùn)行。 平臺開發(fā)與部署:開發(fā)智慧教室平臺,并進(jìn)行部署和測試,確保平臺能夠穩(wěn)定運(yùn)行并滿足教學(xué)需求。 培訓(xùn)與推廣:對教師和學(xué)生進(jìn)行培訓(xùn)和推廣,幫助他們掌握智慧教室無紙化方案的使用方法和技巧。 四、應(yīng)用效果 智慧教室無紙化方案的實(shí)施可以帶來以下應(yīng)用效果: 提升教學(xué)質(zhì)量:通過數(shù)字化教學(xué)資源和在線學(xué)習(xí)互動功能,教師可以更加生動、直觀地傳授知識,激發(fā)學(xué)生的學(xué)習(xí)興趣和積極性;學(xué)生可以更加自主、靈活地進(jìn)行學(xué)習(xí),提高學(xué)習(xí)效果和質(zhì)量。 提高教學(xué)效率:智慧教室無紙化方案可以大大簡化教學(xué)流程和管理流程,減少教師和管理人員的工作量;同時(shí),通過智能設(shè)備和平臺的支持,可以實(shí)現(xiàn)教學(xué)過程的自動化和智能化,提高教學(xué)效率。 實(shí)現(xiàn)綠色環(huán)保:通過減少對傳統(tǒng)紙張的依賴和使用數(shù)字化教學(xué)資源等方式,智慧教室無紙化方案有助于實(shí)現(xiàn)綠色環(huán)保和可持續(xù)發(fā)展。 智慧教室rtmp方案探究 智慧教室rtmp在智慧教室場景下的應(yīng)用,以實(shí)現(xiàn)實(shí)時(shí)音視頻流傳輸、屏幕共享、互動教學(xué)等功能。以下是一個(gè)基于rtmp技術(shù)的智慧教室技術(shù)方案概述: 技術(shù)方案架構(gòu) 1. 組網(wǎng)與服務(wù)器部署 組網(wǎng)方式:建議采用無線組網(wǎng)方式,并配置高性能的ap模塊以支持大并發(fā)流量。推送端(如教師端設(shè)備)到ap的連接最好是有線網(wǎng)絡(luò),以確保穩(wěn)定性。 服務(wù)器部署:選擇srs或nginx作為rtmp服務(wù)器,可以根據(jù)實(shí)際情況與windows平臺的教師機(jī)部署在同一臺機(jī)器上,或部署在獨(dú)立的服務(wù)器上。 2. 教師端設(shè)備配置 如果教師有移動pad或其他android設(shè)備,可以直接將音視頻流推送到rtmp服務(wù)器,實(shí)現(xiàn)實(shí)時(shí)授課。 對于高分屏設(shè)備,建議適當(dāng)縮放視頻分辨率以減輕編碼和上行壓力,如將寬高縮放至2/3,并保持等比例縮放,縮放寬高建議做好字節(jié)對齊。 3. 學(xué)生端設(shè)備配置 學(xué)生端設(shè)備可以通過rtmp客戶端接收來自服務(wù)器的音視頻流,進(jìn)行實(shí)時(shí)觀看和學(xué)習(xí)。 如果需要,學(xué)生端也可以作為示范案例,將屏幕數(shù)據(jù)共享給其他同學(xué),只需請求同屏,數(shù)據(jù)反推到rtmp服務(wù)器,其他學(xué)生即可查看。 4. 互動功能實(shí)現(xiàn) 通過rtmp協(xié)議,可以實(shí)現(xiàn)教師與學(xué)生的實(shí)時(shí)互動,如問答、投票等。 如果需要更進(jìn)一步的監(jiān)控功能,如教師端監(jiān)控學(xué)生端的屏幕情況,可以通過學(xué)生端直接推送rtmp流或啟動內(nèi)置rtsp服務(wù)的方式實(shí)現(xiàn)。 關(guān)鍵技術(shù)點(diǎn) 1. 編碼與轉(zhuǎn)碼 使用適當(dāng)?shù)囊曨l編碼器(如h.264)和音頻編碼器(如aac)對音視頻流進(jìn)行編碼,以確保高質(zhì)量的傳輸效果。 如果需要適應(yīng)不同帶寬或設(shè)備要求,可以使用ffmpeg等工具進(jìn)行流的轉(zhuǎn)碼操作。 2. 橫豎屏適配 在android設(shè)備上,橫豎屏切換時(shí)需要考慮屏幕寬高的變化,確保推拉流兩端可以自動適配。 編碼器需要重啟以適應(yīng)新的分辨率設(shè)置,拉流端也需要能夠自動播放適應(yīng)變化后的視頻流。 3. 補(bǔ)幀策略 當(dāng)屏幕靜止不動時(shí),為了避免播放端因幀間距過大而長時(shí)間收不到數(shù)據(jù),可以采用補(bǔ)幀策略。 保存最后一幀數(shù)據(jù),并設(shè)定一定的補(bǔ)幀間隔,以確保數(shù)據(jù)的連續(xù)性和流暢性。 4. 網(wǎng)絡(luò)穩(wěn)定性與重連機(jī)制 在網(wǎng)絡(luò)抖動或其他網(wǎng)絡(luò)異常情況下,需要有良好的重連機(jī)制和狀態(tài)回饋機(jī)制以確保傳輸?shù)姆€(wěn)定性。 通過設(shè)置心跳包、超時(shí)重連等策略來提高系統(tǒng)的健壯性和用戶體驗(yàn)。 智慧教室方案選型 本文以大牛直播sdk的android的smartservicepublisherv2的同屏demo為例,android采集計(jì)時(shí)器,編碼打包分別啟動rtmp推送和輕量級rtsp服務(wù),windows過來分別拉取rtmp和rtsp的流,整體延遲毫秒級: 啟動app后,先選擇需要采集的分辨率(如果選原始分辨率,系統(tǒng)不做縮放),然后選擇“啟動媒體投影”,并分別啟動音頻播放采集、采集麥克風(fēng)。如果音頻播放采集和采集麥克風(fēng)都打開,可以通過右側(cè)下拉框,推送過程中,音頻播放采集和麥克風(fēng)采集實(shí)時(shí)切換。需要注意的是,android采集音頻播放的audio,音頻播放采集是依賴屏幕投影的,屏幕投影關(guān)閉后,音頻播放也就采不到了。 編碼的話,考慮到屏幕分辨率一般不會太低,我們可以縮放后再推送,默認(rèn)我們開啟了原始分辨率、標(biāo)準(zhǔn)分辨率、低分辨率選項(xiàng)設(shè)置。一般建議標(biāo)準(zhǔn)分辨率即可。如果對畫質(zhì)和分辨率要求比較高,可以選擇原始分辨率。設(shè)備支持硬編碼,優(yōu)先選擇h.264硬編,如果是h.265硬編,需要rtmp服務(wù)器支持?jǐn)U展h.265(或enhanced rtmp)。都選擇好后,設(shè)置rtmp推送的url,點(diǎn)開始rtmp推送按鈕即可。 下面從代碼邏輯實(shí)現(xiàn)角度,介紹下同屏的具體流程: 啟動媒體服務(wù),進(jìn)入系統(tǒng)后,我們會自動啟動媒體服務(wù),對應(yīng)的實(shí)現(xiàn)邏輯如下: 代碼語言:java 復(fù)制 /* * mainactivity.java * created by daniusdk.com on 2017/04/19. * wechat: xinsheng120 */ private void start_media_service() { intent intent = new intent(getapplicationcontext(), streammediademoservice.class); if (build.version.sdk_int >= 26) { log.i(tag, "startforegroundservice"); startforegroundservice(intent); } else startservice(intent); bindservice(intent, service_connection_, context.bind_auto_create); button_stop_media_service_.settext("停止媒體服務(wù)"); } private void stop_media_service() { if (media_engine_callback_ != null) media_engine_callback_.reset(null); if (media_engine_ != null) { media_engine_.unregister_callback(media_engine_callback_); media_engine_ = null; } media_engine_callback_ = null; if (media_binder_ != null) { media_binder_ = null; unbindservice(service_connection_); } intent intent = new intent(getapplicationcontext(), streammediademoservice.class); stopservice(intent); button_stop_media_service_.settext("啟動媒體服務(wù)"); } 需要注意的是,android 6.0及以上版本,動態(tài)獲取audio權(quán)限: 代碼語言:java 復(fù)制 /* * mainactivity.java * created by daniusdk.com on 2017/04/19. * wechat: xinsheng120 */ private boolean check_record_audio_permission() { //6.0及以上版本,動態(tài)獲取audio權(quán)限 if (packagemanager.permission_granted == checkpermission(android.manifest.permission.record_audio, process.mypid(), process.myuid())) return true; return false; } private void request_audio_permission() { if (build.version.sdk_int < 23) return; log.i(tag, "requestpermissions record_audio"); activitycompat.requestpermissions(this, new string[] {android.manifest.permission.record_audio}, request_audio_code); } @override public void onrequestpermissionsresult(int requestcode, string[] permissions, int[] grantresults) { switch(requestcode){ case request_audio_code: if (grantresults != null && grantresults.length > 0 && packagemanager.permission_granted == grantresults[0]) { log.i(tag, "record_audio permission has been granted"); }else { toast.maketext(this, "請開啟錄音權(quán)限!", toast.length_short).show(); } break; } } 啟動、停止媒體投影: 代碼語言:java 復(fù)制 /* * mainactivity.java * created by daniusdk.com on 2017/04/19. * wechat: xinsheng120 */ private class buttonstartmediaprojectionlistener implements onclicklistener { public void onclick(view v) { if (null == media_engine_) return; if (media_engine_.is_video_capture_running()) { media_engine_.stop_audio_playback_capture(); media_engine_.stop_video_capture(); resolution_selector_.setenabled(true); button_capture_audio_playback_.settext("采集音頻播放"); button_start_media_projection_.settext("啟動媒體投影"); return; } intent capture_intent; capture_intent = media_projection_manager_.createscreencaptureintent(); startactivityforresult(capture_intent, request_media_projection); log.i(tag, "startactivityforresult request media projection"); } } 啟動媒體投影后,選擇“采集音頻播放”,如果需要采集麥克風(fēng),可以點(diǎn)擊“采集麥克風(fēng)”: 代碼語言:java 復(fù)制 /* * mainactivity.java * created by daniusdk.com on 2017/04/19. * wechat: xinsheng120 */ private class buttoncaptureaudioplaybacklistener implements onclicklistener { public void onclick(view v) { if (null == media_engine_) return; if (media_engine_.is_audio_playback_capture_running()) { media_engine_.stop_audio_playback_capture(); button_capture_audio_playback_.settext("采集音頻播放"); return; } if (!media_engine_.start_audio_playback_capture(44100, 1)) log.e(tag, "start_audio_playback_capture failed"); else button_capture_audio_playback_.settext("停止音頻播放采集"); } } private class buttonstartaudiorecordlistener implements onclicklistener { public void onclick(view v) { if (null == media_engine_) return; if (media_engine_.is_audio_record_running()) { media_engine_.stop_audio_record(); button_start_audio_record_.settext("采集麥克風(fēng)"); return; } if (!media_engine_.start_audio_record(44100, 1)) log.e(tag, "start_audio_record failed"); else button_start_audio_record_.settext("停止麥克風(fēng)"); } } 啟動、停止rtmp推送: 代碼語言:java 復(fù)制 /* * mainactivity.java * created by daniusdk.com on 2017/04/19. * wechat: xinsheng120 */ private class buttonrtmppublisherlistener implements onclicklistener { @override public void onclick(view v) { if (null == media_engine_) return; if (media_engine_.is_rtmp_stream_running()) { media_engine_.stop_rtmp_stream(); button_rtmp_publisher_.settext("開始rtmp推送"); text_view_rtmp_url_.settext("rtmp url: "); log.i(tag, "stop rtmp stream"); return; } if (!media_engine_.is_video_capture_running()) return; string rtmp_url; if (input_rtmp_url_ != null && input_rtmp_url_.length() > 1) { rtmp_url = input_rtmp_url_; log.i(tag, "start, input rtmp url:" + rtmp_url); } else { rtmp_url = baseurl + string.valueof((int) (system.currenttimemillis() % 1000000)); log.i(tag, "start, generate random url:" + rtmp_url); } media_engine_.set_fps(fps_); media_engine_.set_gop(gop_); media_engine_.set_video_encoder_type(video_encoder_type); if (!media_engine_.start_rtmp_stream(rtmp_url)) return; button_rtmp_publisher_.settext("停止rtmp推送"); text_view_rtmp_url_.settext("rtmp url:" + rtmp_url); log.i(tag, "rtmp url:" + rtmp_url); } } 可以看到,上述操作,都是在mainactivity.java調(diào)用的,如果是需要做demo版本集成,只需要關(guān)注mainactivity.java的業(yè)務(wù)邏輯即可,為了便于開發(fā)者對接,我們做了接口的二次封裝,除了常規(guī)的rtmp推送、輕量級rtsp服務(wù)設(shè)計(jì)外,如果需要錄像,只要在mainactivity.java調(diào)用這里的接口邏輯即可,非常方便: 代碼語言:java 復(fù)制 /* * ntstreammediaengine.java * created by daniusdk.com on 2017/04/19. * wechat: xinsheng120 */ package com.daniulive.smartpublisher; public interface ntstreammediaengine { void register_callback(callback callback); void unregister_callback(callback callback); void set_resolution_level(int level); int get_resolution_level(); /* * 啟動媒體投影 */ boolean start_video_capture(int token_code, android.content.intent token_data); boolean is_video_capture_running(); void stop_video_capture(); /* * 啟動麥克風(fēng) */ boolean start_audio_record(int sample_rate, int channels); boolean is_audio_record_running(); void stop_audio_record(); /* * android 10及以上支持, android10以下設(shè)備調(diào)用直接返回false * 需要有record_audio權(quán)限 * 要開啟媒體投影 */ boolean start_audio_playback_capture(int sample_rate, int channels); boolean is_audio_playback_capture_running(); void stop_audio_playback_capture(); /* * 輸出的音頻類型 * 0: 不輸出音頻 * 1: 輸出麥克風(fēng) * 2: 輸出audio playback(android 10及以上支持) */ boolean set_audio_output_type(int type); int get_audio_output_type(); void set_fps(int fps); void set_gop(int gop); boolean set_video_encoder_type(int video_encoder_type); int get_video_encoder_type(); /* * 推送rtmp */ boolean start_rtmp_stream(string url); boolean is_rtmp_stream_running(); string get_rtmp_stream_url(); void stop_rtmp_stream(); /* * 啟動rtsp server, 需要設(shè)置端口,用戶名和密碼可選 */ boolean start_rtsp_server(int port, string user_name, string password); boolean is_rtsp_server_running(); void stop_rtsp_server(); /* * 發(fā)布rtsp流 */ boolean start_rtsp_stream(string stream_name); boolean is_rtsp_stream_running(); string get_rtsp_stream_url(); void stop_rtsp_stream(); /* * 啟動本地錄像 */ boolean start_stream_record(string record_directory, int file_max_size); boolean is_stream_recording(); void stop_stream_record(); boolean is_stream_running(); interface callback { void on_nt_video_capture_stop(); void on_nt_rtsp_stream_url(string url); } } 如果對音視頻這塊相對了解的開發(fā)者,可以繼續(xù)到ntstreammediaprojectionengineimpl.java文件,查看或修改相關(guān)的技術(shù)實(shí)現(xiàn): 代碼語言:java 復(fù)制 /* * ntstreammediaprojectionengineimpl.java * created by daniusdk.com on 2017/04/19. * wechat: xinsheng120 */ package com.daniulive.smartpublisher; import android.app.activity; import android.app.application; import android.app.service; import android.content.context; import android.content.intent; import android.content.pm.packagemanager; import android.graphics.point; import android.graphics.rect; import android.media.image; import android.media.projection.mediaprojection; import android.media.projection.mediaprojectionmanager; import android.os.build; import android.os.handler; import android.os.handlerthread; import android.os.process; import android.util.log; import android.util.size; import android.view.surface; import android.view.windowmanager; import android.view.windowmetrics; import com.eventhandle.ntsmarteventcallbackv2; import com.eventhandle.ntsmarteventid; import com.voiceengine.ntaudiorecordv2; import com.voiceengine.ntaudiorecordv2callback; import com.videoengine.ntmediaprojectioncapture; import com.voiceengine.ntaudioplaybackcapture; import java.lang.ref.weakreference; import java.nio.bytebuffer; import java.util.concurrent.copyonwritearraylist; import java.util.concurrent.atomic.atomicreference; public class ntstreammediaprojectionengineimpl implements autocloseable, ntstreammediaengine, ntvirtualdisplaysurfacesinker.callback, ntmediaprojectioncapture.callback { private static final string tag = "ntlogprojectionengine"; private static final size default_size = new size(1920, 1080); public static final int resolution_low = 0; public static final int resolution_medium = 1; public static final int resolution_high = 2; private final application application_; private final long image_thread_id_; private final long running_thread_id_; private final handler image_handler_; private final handler running_handler_; private final windowmanager window_manager_; private final mediaprojectionmanager projection_manager_; private int screen_density_dpi_ = android.util.displaymetrics.density_default; private final smartpublisherjniv2 lib_publisher_; private final libpublisherwrapper.rtspserver rtsp_server_; private final libpublisherwrapper stream_publisher_; private final copyonwritearraylist<ntstreammediaengine.callback> callbacks_ = new copyonwritearraylist<>(); private final atomicreference<videosinkercapturepair> video_capture_pair_ = new atomicreference<>(); private final audiorecordcallbackimpl audio_record_callback_; private final audioplaybackcapturecallbackimpl audio_playback_capture_callback_; private final atomicreference<ntaudiorecordv2> audio_record_ = new atomicreference<>(); private final atomicreference<ntaudioplaybackcapture> audio_playback_capture_ = new atomicreference<>(); ... } 以android平臺rtmp推送模塊為例,我們主要實(shí)現(xiàn)了如下功能: 音頻編碼:aac/speex; 視頻編碼:h.264、h.265; 推流協(xié)議:rtmp; [音視頻]支持純音頻/純視頻/音視頻推送; [攝像頭]支持采集過程中,前后攝像頭實(shí)時(shí)切換; 支持幀率、關(guān)鍵幀間隔(gop)、碼率(bit-rate)設(shè)置; 支持rtmp推送 live|record模式設(shè)置; 支持前置攝像頭鏡像設(shè)置; 支持軟編碼、特定機(jī)型硬編碼; 支持橫屏、豎屏推送; 支持android屏幕采集推送; 支持自建標(biāo)準(zhǔn)rtmp服務(wù)器或cdn; 支持?jǐn)嗑W(wǎng)自動重連、網(wǎng)絡(luò)狀態(tài)回調(diào); 支持實(shí)時(shí)動態(tài)水??; 支持實(shí)時(shí)快照; 支持降噪處理、自動增益控制; 支持外部編碼前音視頻數(shù)據(jù)對接; 支持外部編碼后音視頻數(shù)據(jù)對接; 支持rtmp擴(kuò)展h.265(需設(shè)備支持h.265特定機(jī)型硬編碼)和enhanced rtmp; 支持實(shí)時(shí)音量調(diào)節(jié); 支持?jǐn)U展錄像模塊; 支持unity接口; 支持h.264擴(kuò)展sei發(fā)送模塊; 支持android 5.1及以上版本。 總結(jié) 智慧教室無紙化方案是一種具有廣泛應(yīng)用前景和發(fā)展?jié)摿Φ慕虒W(xué)解決方案。它不僅能夠提升教學(xué)質(zhì)量和學(xué)習(xí)效率,還能夠?qū)崿F(xiàn)綠色環(huán)保和可持續(xù)發(fā)展目標(biāo)。隨著信息技術(shù)的不斷發(fā)展和普及,智慧教室無紙化方案將會在未來的教育領(lǐng)域中發(fā)揮更加重要的作用。 智慧教室rtmp技術(shù)方案通過利用rtmp協(xié)議的實(shí)時(shí)性和低延遲特性,結(jié)合適當(dāng)?shù)慕M網(wǎng)、服務(wù)器部署、編碼轉(zhuǎn)碼、橫豎屏適配、補(bǔ)幀策略以及網(wǎng)絡(luò)穩(wěn)定性保障措施,為智慧教室場景下的實(shí)時(shí)授課、屏幕共享、互動教學(xué)等功能提供了強(qiáng)有力的技術(shù)支持。以上拋磚引玉,感興趣的開發(fā)者,可以單獨(dú)跟我溝通探討。

京東囤兵saas財(cái)務(wù)軟件 企業(yè)級市場現(xiàn)三國殺:

顯然hr并不是京東的唯一開放賦能的產(chǎn)品,從hr到財(cái)務(wù)軟件再到行政辦公等產(chǎn)品,未來京東都會有所涉獵。京東要發(fā)布saas財(cái)務(wù)軟件? 京東為什么要從財(cái)務(wù)軟件切入?財(cái)務(wù)系統(tǒng)是內(nèi)外連接管理的關(guān)鍵,京東選擇從財(cái)務(wù)、hr等方面入局,除了可以避開同阿里和騰訊正面交鋒,還有其他深層的動因。 第一、京東財(cái)務(wù)系統(tǒng)有別于用友和金蝶等財(cái)務(wù)系統(tǒng),是基于京東內(nèi)部電商業(yè)務(wù)自主研發(fā)而成,有其獨(dú)特性和實(shí)踐性。 與傳統(tǒng)財(cái)務(wù)軟件有所不同,京東依托京東開放產(chǎn)品賦能,融合京東集團(tuán)復(fù)雜業(yè)務(wù)場景下的最佳實(shí)踐,提供了涵蓋收支、結(jié)算、資金、票務(wù)、稅務(wù)、賬務(wù)在內(nèi)的整套解決方案,再對接企業(yè)內(nèi)部系統(tǒng)構(gòu)建企業(yè)自己的云業(yè)務(wù)生態(tài)。 拋開以上幾點(diǎn)原因外,京東還有其他的戰(zhàn)略布署:第一、從財(cái)務(wù)軟件試水,未來可能會輸出更多的云業(yè)務(wù)能力。包括人力資源、行政、協(xié)同辦公等等。第二、在云計(jì)算方面京東急需找到一個(gè)突破點(diǎn)。

蘋果被曝重大系統(tǒng)漏洞:新款 macbook、iphone 12、ipad pro 統(tǒng)統(tǒng)波及!root 權(quán)限秒獲取,隱私文件隨意看:

看到這一幕,評論區(qū)的網(wǎng)友們也紛紛震驚:「啪的一下就執(zhí)行完了,很快啊?!埂杆f他是測試的,他可不是瞎測試的,終端,腳本,提權(quán),訓(xùn)練有素,后來他說他搞過好幾年安全。 就是啪的一下,明明系統(tǒng)說了不,該 app 仍然讀取到了相冊和通訊錄,并上傳到了攻擊者的服務(wù)器端。漏洞意味著什么?毫無疑問,這是第一個(gè)被發(fā)現(xiàn)的能影響蘋果 apple silicon 芯片設(shè)備的安全漏洞。 騰訊安全玄武實(shí)驗(yàn)室就表示:理論上,任何惡意的 app 開發(fā)者都可以利用此漏洞。而且漏洞影響的設(shè)備,也不少。 一方面,騰訊安全玄武實(shí)驗(yàn)室是全球頂尖的安全實(shí)驗(yàn)室,能發(fā)現(xiàn)漏洞也是實(shí)力使然;另一方面,按照江湖規(guī)矩,在消息曝光前,玄武實(shí)驗(yàn)室早已將漏洞技術(shù)細(xì)節(jié)報(bào)告給了蘋果安全團(tuán)隊(duì)。 關(guān)于騰訊安全玄武實(shí)驗(yàn)室最后,還是贅述補(bǔ)充下此次發(fā)現(xiàn)漏洞的安全大神團(tuán)隊(duì)。關(guān)注安全領(lǐng)域的盆友,對騰訊安全玄武實(shí)驗(yàn)室一定不會陌生。作為騰訊七大專業(yè)實(shí)驗(yàn)室之一,于 2014 年成立。

敏捷畫卷:中國軟件史的精彩側(cè)影:

以上內(nèi)容來自thoughtworks中國區(qū)總經(jīng)理張松為《敏捷中國史》所作的序。在這一系列課程中,作者熊節(jié)也用部分章節(jié)敘述了在thoughtworks與敏捷的不解之緣。 2005 年,被西安豐富的高校資源和高新區(qū)政府的熱情態(tài)度所吸引,thoughtworks 在西安軟件園落戶,目標(biāo)是服務(wù)中國本土客戶。 當(dāng)時(shí)臺下的聽眾一片茫然。由于政府主導(dǎo)的重點(diǎn)行業(yè)信息化工程固有的特點(diǎn),在當(dāng)時(shí)絕大多數(shù)中國 it 業(yè)者的概念中,軟件項(xiàng)目就只有一次預(yù)算和一次交付(多發(fā)生在年初和年末)。 在早期的三個(gè)本地項(xiàng)目中,thoughtworks 與西安高新區(qū)政府和河北省地稅局的合作都出現(xiàn)了不愉快,為時(shí)不長即告結(jié)束,只有與廈門的私企好望角的合作持續(xù)了較長時(shí)間。 在時(shí)任 thoughtworks 中國區(qū)副總經(jīng)理郭曉的開場演講中,他一方面迎合了行業(yè)對成本的重視,列舉 forrester 的數(shù)據(jù)說明采用敏捷開發(fā)方法可以大幅節(jié)省軟件項(xiàng)目成本。

澳大利亞瘋狂計(jì)劃:把現(xiàn)實(shí)世界數(shù)字化:

這是澳大利亞政府研究機(jī)構(gòu)csiro一項(xiàng)十年計(jì)劃的主要想法,該機(jī)構(gòu)向建造一個(gè)數(shù)字版的澳大利亞。 想要讓它成為現(xiàn)實(shí),該研究團(tuán)隊(duì)就必須找到一種將政府機(jī)構(gòu)、研究人員、私人企業(yè)和平民科學(xué)家提供的數(shù)據(jù)結(jié)合起來的方法,以便讓人們對各種不同體系(不論是水、能量、農(nóng)業(yè)、健康或者經(jīng)濟(jì))如何與彼此溝通有更好的理解。 項(xiàng)目領(lǐng)導(dǎo)者jonathan yu表示:“我們從過去的項(xiàng)目里了解到跨學(xué)科研究方法是關(guān)鍵,但現(xiàn)在根本沒有數(shù)據(jù)基礎(chǔ)架構(gòu)?!?5年前,yu和lemon在塔斯馬尼亞島利用傳感器網(wǎng)絡(luò)和數(shù)據(jù)資源,從數(shù)據(jù)的角度來看待這座島嶼的狀態(tài)。該島嶼上的感應(yīng)器能實(shí)時(shí)監(jiān)測天氣、二氧化碳濃度、動物和養(yǎng)殖魚的健康以及水儲存與能量使用情況。 lemon說:“看到一個(gè)社區(qū)利用他們能得到的信息采取相應(yīng)措施,是一件很有趣的事情。對我而言這不過是oznome的牛刀小試而已?!?br>
轉(zhuǎn)載請注明出處,本站網(wǎng)址:http://www.dblinkclub.com/news_1766.html
相關(guān)推薦
熱門TAG

常德做網(wǎng)站 廣東哪家網(wǎng)站制作公司好 福田區(qū)做網(wǎng)站 伽師縣網(wǎng)站設(shè)計(jì) 峨邊彝族自治縣網(wǎng)站建設(shè) 云南SEO網(wǎng)站優(yōu)化 便宜的網(wǎng)站建設(shè)公司 山海關(guān)企業(yè)網(wǎng)站開發(fā) 西安網(wǎng)站建設(shè)公司 市轄區(qū)SEO網(wǎng)站優(yōu)化 富寧做網(wǎng)站 渝北區(qū)公司網(wǎng)站建設(shè) seo服務(wù)網(wǎng)站 新蕪區(qū)自助建站 鞍山網(wǎng)站開發(fā) 網(wǎng)站制作策劃 南芬政府公文系統(tǒng) 網(wǎng)站怎么優(yōu)化seo 靈武市網(wǎng)頁設(shè)計(jì) 磴口做網(wǎng)站 海林市政務(wù)OA 萬盛區(qū)SEO網(wǎng)站優(yōu)化 東莞網(wǎng)站制作的公司 建一個(gè)網(wǎng)站的步驟 網(wǎng)站優(yōu)化排名公司 涉 縣自助建站 潁上縣網(wǎng)站設(shè)計(jì) 武進(jìn)區(qū)網(wǎng)頁設(shè)計(jì) 蘇尼特右旗公司網(wǎng)站建設(shè) 吳橋SEO網(wǎng)站優(yōu)化 好建站 濟(jì)陽縣網(wǎng)站設(shè)計(jì) 新田縣SEO網(wǎng)站優(yōu)化 平山網(wǎng)頁設(shè)計(jì) 市轄區(qū)自助建站 沙依巴克區(qū)網(wǎng)站設(shè)計(jì) 天門市做網(wǎng)站 富拉爾基區(qū)政務(wù)OA 市轄區(qū)政府辦公oa系統(tǒng) 漢中SEO網(wǎng)站優(yōu)化 北京旅游網(wǎng)站建設(shè) 內(nèi)鄉(xiāng)縣做網(wǎng)站 古冶網(wǎng)站建設(shè) 蒲城縣SEO網(wǎng)站優(yōu)化 seo公司 北京 本溪網(wǎng)站制作 方城縣政務(wù)oa系統(tǒng) 市轄區(qū)企業(yè)網(wǎng)站開發(fā) 普蘭店網(wǎng)站建設(shè) 新興縣網(wǎng)站建設(shè) 沈陽企業(yè)自助建站系統(tǒng) 北安市政府公文系統(tǒng) 遵義網(wǎng)頁設(shè)計(jì) 燈塔政府oa系統(tǒng) 吉木乃縣做網(wǎng)站 臨汾網(wǎng)站建設(shè) 應(yīng)城市網(wǎng)站設(shè)計(jì) 洞口縣SEO網(wǎng)站優(yōu)化 渭源縣做網(wǎng)站 浮梁縣網(wǎng)頁設(shè)計(jì) 江永縣網(wǎng)站設(shè)計(jì) 遂川縣自助建站 羅甸縣政府辦公oa系統(tǒng) 霍山縣人民政府電話 市中區(qū)網(wǎng)站設(shè)計(jì) 武定網(wǎng)頁設(shè)計(jì) 岳陽縣SEO網(wǎng)站優(yōu)化 吉林公司網(wǎng)站建設(shè) 沂源縣網(wǎng)頁設(shè)計(jì) 容 縣自助建站 荔波縣網(wǎng)站建設(shè) 好的建站網(wǎng)站 梧州網(wǎng)站建設(shè) 曲松縣自助建站 寶雞政務(wù)oa系統(tǒng) HR大數(shù)據(jù)分析與經(jīng)營模擬決策平臺題目