直播的一些技術

疫情開始,直播一直圍繞的工作與生活,開始慢慢地了解與深入。

一說起直播,不少人都會與ZOOM 聯繫起來,ZOOM的確是十分成功的直播產品,以及他的技術可以說是直播上比較低延遲的,無論影像和聲效都十分低,但是有時直播起來,zoom的畫面總不是很清晰,鋸齒很嚴重,也許就是低延遲直播的犧牲。

不是所有直播都需要『實時』,例如一些發佈,可以事先錄製,定時『直播』播放,這樣可以確保萬無一失!試了幾個平台,YouTube Live算是十分成熟的,還有清晰的數據分析。延遲就大約10秒左右,但是畫面清晰,配合OBS簡直完美。

除了這些大路的直播軟件和平台,直播還有哪些?還記得RTMP?小時候在課室直播時,需要開個VLC來做直播,目前還是在使用,不過現在多了幾個protocol,比較流行的有ffmpeg,SRT,NDK,SLDP,WebRTC。

看到這些技術,最近比較火的算是WebRTC,因為他支持跨平台,一般應用在手機通話技術上,一個瀏覽器就可以播放,而且是一種低延遲和低流量性的直播技術。

這裡找了一些自己做直播服務器的技術文:

SRS, 開源直播

https://ossrs.net/releases/

 

srt

https://blog.wmspanel.com/2020/07/srt-obs-nimble-larix-broadcaster.html

Nimble Streamer

SRT VS WebRTC

Ar 運動遊戲APP active arcade

恭喜發財,祝各位身體健康

農曆年吃喝玩樂🎉,但很快就要翻工上課了,是時候伸展筋骨做下運動💪 這裡介紹一款NEX 開發的AR 運動遊戲APP active arcade,結合運動與遊戲於一身,並且可以二人同行,十分適合家中松松筋骨https://apps.apple.com/hk/app/active-arcade/id1553158383?l=en

另外順道介紹一下香港AR創意科技發展,香港AR 創意科技方面早於2018年已經獲得世界認同,相關報導:

香港人Apple發布會亮相  研發籃球AppHomeCourt」全因老婆阿囡

https://www.hk01.com/article/234816?utm_source=01appshare&utm_medium=referral

AR 運動APP 有相當多,在家學習時可以試下對住個MON 伸展一下🤸🏿

swift coding 資料收集

iPadOs 15.2 開始,安裝Swift 4.0 就可以開始build iOS APP,直接在iPad 中寫APP 成為現實,非常簡單,無需要再去下載十幾G的Xcode,十分方便課堂上使用。

SwiftUI  時代

SwiftUI 簡化了Program,同時非常直觀,對於入門的初學者非常好,這裡開始收集使用的教學,慢慢體驗SwiftUI。

1.SwiftUI 教學

Apple 官方教學 非常情況並有源碼

SwiftUI 基礎入門 – appcoda

SwiftUI教學- Yung Chin Yen

SwiftUI 例子

2. Button

Button例子

button -label

2.Image

swiftui image – codewithchris

swiftUI image resize aspect ratio

3.stack

appledev stack

4.TEXT

Text例子

 

5.List

員工列表例子

建立List

成功申請{中學IT創新實驗室}

疫情之下要教授學生學校真是一個高難度的操作,不知道畫面上的學生看的是你的屏幕還是其他的屏幕,這日子還是要繼續,建立一個好的學習環境給學生回校後有一個新的體驗是目標。

香港發展STEM還是看不到一個好的統籌,雖然已經測試了幾年,始終成本局限,也不能太大嘗試。這次申請OGCIO的撥款,是想在校內進一步的改善學校STEM教學,如何申請請看上一個文中學IT創新實驗室

這次挑戰選擇Apple swift coding 來申請OGCIO,有幾個因素。

首先不用解釋的是Apple 手機和平板在世界上的統領地位,估計大部分人都有蘋果產品,學校也是使用iPad。假如學生能開發Apple APP,那測試的機器已經有了,就是自己的手機和iPad,也可以自己分享給自己朋友。

其次是Apple 的教科書太多了,出了外面的書,Apple  自己也提供了Playground 和電子書給學生自己學習,當然也有教師版,因此學校也不用再去買教科書,浪費不必要的金錢。最重要的一點還是學生自己能找到和自主學習,這點還是比較重要,特別室疫情之下,學生有半天在家,若能引導學生興趣加入學習stem 方面知識,獲益的是學生。

最後是Apple 的產品,在coding 行業中,相信好多人都會使用Apple 產品進行coding,這也是想給學生去體驗,若有機會都想邀請開發者同學生分享一下開發APP的經歷。

一個穩定的系統,能減少學生碰壁的機會,減少技術上的支援,多些時間於學習、設計、思考及嘗試,這是一個理念。今次設計是圍繞一個APP開發的過程來進行STEM教育。在過往的STEM 課程中發現學生有不同能力,有些人設計好,有些有創意,有些技術高,好多課程都是單獨展現,開發APP可以把這些才能整合,因為一個APP需要創意,需要UI設計,需要program,最後有個平台去展示發佈。在疫情下,這種開發型模式可以在家中完成,網絡會議,共同開發。相對於玩機器人,這種學習模式更加具有彈性。學校也不用花費太多空間來收藏。

學生有了開發APP的基礎,可以用於其他任意事物,例如機器人、智能家居等,program 已經是基礎學科,雖然香港依然未成為必修課,但勢在必行,一切從coding 開始。

課程設計,要考慮學生升級:

首年

中一、中二: iPad swift playground

中三、中四:MacBook swift coding

第二年:

中一:iPad Swift playground

中二、中三: macbook swift coding

中四、中五:xcode App

第三年:

中一:iPad Swift playground

中二、中三: macbook swift coding

中四、中五:xcode App

中六:APP發佈分享

中學IT創新實驗室 100萬點申請?

所謂創新實驗室,其實與實驗室一點關係也沒有,因為只有一個名,這個就是計劃最奇怪及有趣的地方。也許寫計劃的人想引起更多人注意。

這個計劃由開始到開始申請,應該都近2年,本人出席了第一次發佈會,再出席第二次簡介會,雖然OGCIO帶了不少企業一起參與,但計劃最後還是令人摸不著頭腦。

於第一次簡介會上,講者說學校的設施已經好舊,都需要是時候更換。

第三次網上簡介會,講者說所有申請計劃都必須與學生有關,而且不是『常規課程』!

也就是說,計劃真的是引起大家關注,但結果其實是一盤分豬肉的產品:課外活動產品,其實簡單理解,這個計劃叫:STEM課外活動津貼,所有活動都要和STEM 有關,而且IT 元素必須包括。

奇怪的是,撥款是預計了每間合資格的學校都能申請100萬,但是又奇怪的是『中學IT創新實驗室』需要像QE fund 那樣寫申請及做報告,而且撥款程序比起QE FUND一樣複雜(QE FUND可以申請200萬哦)。對於第一次簡介會上說的簡易程序,看來只是說笑。不過也許當中涉及不少行政措施是平民無法理解,最重要還是有錢能花在教育上,這還是不錯的。

看會計劃詳情,要如何申請呢?

申請指引在這裡

計劃最重要是什麼?就是評審原則!第11頁開始

首先是範圍(第36點),整個計劃的範圍:人工智能、大數據、區塊鏈、雲端運算、編程/演算法  /計算思維、網絡安全、三維模型、數碼遊戲設計與開發、無 人機編程、物聯網、流動應用程式開發、機械人編程、虛擬實 境/擴增實境/混合實境、網站開發

請計劃內容在上面範圍內,可以多個,但不能沒有,記得要低於100萬

計劃必須包含以下部分

A。學校介紹:看校刊

B。計劃課程設計:實施的時間,課程內容,推行計劃

C。預算詳情:所有設備開支等資料,要同網頁版本一致

D。項目成果:如何分享成果,這個在表格也要填寫

計劃低過10萬屬快批,超過10萬屬慢批,若想於財政年度內3月31日(學校的財政年度不是到8月31日嗎?),就要2月1日前申請

最後還是會計問題,應該就是和QE FUND的撥款,要開獨立戶口,要記賬,要核數,要年報,真是辛苦老師

各位同工加油哦!

office 365 command shell 大量修改用戶資料

網課開始,學校就開始需要用365平台進行學習,一年過去了,新的一年又來了,office 365並不像google 那般簡單上載一個csv 上去就幫你修改了資料,而是要你用自己的ad同步,或者就是你用command shell 來大量修改,對學校來說還真是一個難度,因為很多同工詢問如何大量修改teams 用戶名稱,在這裡寫上筆記,希望對office 365大量修改用戶資料提供參考資料。

首先安裝必要的插件支援
下面網頁介紹
https://docs.microsoft.com/en-us/previous-versions/azure/jj151815(v=azure.100)?redirectedfrom=MSDN

需要安裝

Microsoft Online Services Sign-In Assistant for IT Professionals RTW

https://go.microsoft.com/fwlink/?linkid=286152

Azure Active Directory Module for Windows PowerShell (64-bit version) https://go.microsoft.com/fwlink/p/?linkid=236297

安裝完後,在windows 10 尋找windows powershell ISE(這個方便選擇文件), 右鍵選擇系統管理員執行

powershell 有特定的政策,Restricted, AllSigned, RemoteSigned, and Unrestricted,預設是Restricted
假如你第一次進入,需要把政策修改一下為unrestricted
輸入

Set-ExecutionPolicy Unrestricted

按Y 確認

接著開始連接到office 365

輸入

Connect-MsolService

按enter 後悔跳出跟Office 365 一樣的登入窗口,使用office 365 系統管理員登入
成功後,可以測試一下是否連接成功了,輸入一個command 測試

Get-MsolUser -EnabledFilter EnabledOnly -MaxResults 20

上面是列出用戶名單最多 20 個啟動用戶
假如能列出名單,說明你已經成功連接,接著如何做,首先去
https://docs.microsoft.com/en-us/powershell/module/msonline/?view=azureadps-1.0#msonline

這個是官方的MsolUser 說明,所有指令都在這裡說明,下面介紹常用的幾個指令
增添新用戶 New-MsolUser

https://docs.microsoft.com/en-us/powershell/module/msonline/new-msoluser?view=azureadps-1.0

根據官方說明,很簡單

New-MsolUser -UserPrincipalName “davidchew@contoso.com” -DisplayName “David Chew” -FirstName “David” -LastName “Chew”

-UserPrincipalName 這個是經常會用的,是用戶唯一識別,除了用戶id外,就是用戶的登入郵箱
你可以看到,指令格式是用 “-” 加“Parameters” 在加你要輸入的值,單一值需要使用引號,需要輸入什麼內容,可以查看說明加上去
例如說明是否強制要求用戶修改密碼[-ForceChangePassword <Boolean>], 這個boolean 就是你要輸入true 或者false

New-MsolUser -UserPrincipalName “davidchew@contoso.com” -DisplayName “David Chew” -FirstName “David” -LastName “Chew” -Password “Bac12345” -ForceChangePassword $False

上面就是為用戶設置了預設密碼,而且無需用戶登入時修改密碼

假如你添加後發現有錯了,那麼你可以使用Set-MsolUser 來修改
Set-MsolUser -UserPrincipalName “davidchew@contoso.com” -ForceChangePassword $True

Set-MsolUser 必須要找到用戶,因此第一個必須先指定-UserPrincipalName ,上面指引說是用戶登入時必須修改一次密碼

以上是單一修改用戶例子,如何使用csv 檔案來一次添加或者修改更多用戶呢?方法就是使用Import-CSV和ForEach-Object 來執行匯入循環查詢修改,下面是一個例子
首先需要準備一個csv 檔案,你可以上office 365 admin 匯入用戶那下載,自己建立一個也可以有一些特定的欄目是必須的,例如 UserPrincipalName,
我們在csv檔案第一行打上 UserPrincipalName,FirstName,LastName,DisplayName,NewPassword
然後填上需要的資料,可以先測試2-3 個資料,然後放到電腦裡面,例如C:\根目錄叫365user.csv,假如你用excel建立這個檔案,記得匯出成為csv。
然後我們就開始執行

Import-CSV –Path C:\365user.csv | ForEach-Object { New-MsolUser -UserPrincipalName $_.UserPrincipalName -FirstName $_.FirstName -LastName $_.LastName -DisplayName $_.DisplayName –Password $_.NewPassword -ForceChangePassword $False -UsageLocation “HK”}

上面指令我加上不要求修改密碼,還有加入了-UsageLocation “HK” 用戶區域,加入這個主要是添加授權的時候,這個是必須的而且這個說明是{two-letter country code}

假如成功匯入後,發現要修改用戶姓名,同樣道理,我們把New-MsolUser 改為Set-MsolUser

Import-CSV –Path C:\365user.csv | ForEach-Object { Set-MsolUser -UserPrincipalName $_.UserPrincipalName -FirstName $_.FirstName -LastName $_.LastName -DisplayName $_.DisplayName}

最後介紹如何添加用戶授權,首先我們先瀏覽一下自己有什麼授權,可以使用指令瀏覽
Get-MsolSubscription
這裡會列出你的授權名稱,假如你不是很了解用戶給了那些授權,你可以先去office 365 給特定用戶賦予授權,然後使用指令查看他拿了那個授權,例如

Get-MsolUser -UserPrincipalName “davidchew@contoso.com” | select -ExpandProperty licenses

他就會列出用戶已經獲得的授權,然後就直接給,因為授權一般是單一,所以可以直接使用舊的csv 檔案用戶帳號直接賦予授權,例如

Import-CSV –Path C:\365user.csv | ForEach-Object { Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -AddLicenses “ABCDEFG:STANDARDWOFFPACK_STUDENT” }

這裡ABCDEFG是一個例子,每個機構不一樣,後面的授權名稱也根據自己買的不一樣,STANDARDWOFFPACK_STUDENT 是學生A1 授權

改到這裡,基本上用戶的操作到這裡,假如還需要其他修改,建議看看說明書,裡面有例子,也建議看幾個測試用戶來測試修改,成功了才套用到所有用戶上去。