不再限制您的多媒體創作:使用NDI快速傳輸、處理和編輯高品質的視訊和音訊。

NDI(Network Device Interface)是一種基於IP網絡的視訊和音訊傳輸協議,它可以讓您在同一網絡上的不同設備之間傳輸高品質的視訊和音訊。使用NDI,您可以將視訊和音訊直接傳輸到其他設備上,而不需要使用任何額外的硬體。

以下是使用NDI的步驟:

  1. 下載並安裝NDI應用。您可以從NDI官方網站下載NDI Tools或從OBS Studio官方網站下載OBS Studio,兩者均支持NDI功能。
  2. 啟動NDI。一旦您安裝好了NDI,您可以打開它並啟動它。在NDI Tools中,您可以選擇 "NDI Studio Monitor" 來啟動它。在OBS Studio中,您可以點擊 "File" 菜單,然後選擇 "Preferences"。在 "Preferences" 視窗中,選擇 "Stream" 標籤,並將 "Stream Type" 設置為 "Custom Streaming Server"。然後,您需要填寫 "URL" 和 "Stream key",這些信息可以在NDI中找到。默認情況下,URL應該是 "localhost",而Stream key應該是 "livestream"。
  3. 選擇您要傳輸的視訊和音訊源。在NDI Tools中,您可以選擇 "NDI Scan Converter",然後選擇您要傳輸的視訊和音訊源。在OBS Studio中,您可以點擊 "Sources" 菜單,然後選擇 "NDI Source"。然後,您需要選擇您要傳輸的視訊和音訊源。這些源可能包括您的麥克風、視訊鏡頭、螢幕等。
  4. 傳輸視訊和音訊。現在您已經選擇了要傳輸的視訊和音訊源,您可以將它們傳輸到其他設備上。在NDI Tools中,您可以選擇 "NDI Studio Monitor",然後選擇要傳輸的視訊和音訊源。在OBS Studio中,您可以點擊 "Start Streaming" 按鈕,然後您的視訊和音訊源就會被傳輸到其他設備上。

NDI的特點和好處包括:

  1. 高品質的視訊和音訊傳輸:NDI可以傳輸高品質的視訊和音訊,並提供無損壓縮的傳輸方式,從而減少了資源的消耗。
  2. 無需額外硬體:使用NDI,您可以直接將視訊和音訊傳輸到其他設備上,而不需要使用任何額外的硬體。
  3. 多平台支持:NDI支持Windows、Mac和Linux等多個平台,可以在不同的設備上使用。
  4. 低延遲:NDI的延遲非常低,可以即時在線傳輸視頻和音頻,非常適合直播、實況等需要即時性的場合。不用擔心畫面會延遲,不用等待卡頓,可以讓觀眾即時體驗到您想要展示的內容。


使用上的缺點包括:

  1. 依賴於網絡:使用NDI需要在同一網絡上運行,如果網絡連接不穩定或頻寬受限,可能會影響視訊和音訊的傳輸質量。
  2. 較高的網路頻寬需求:NDI可以傳輸高品質的視訊和音訊,但需要使用較高的網路頻寬。如果頻寬不足,可能會導致畫面和聲音延遲或中斷等問題。因此,在使用NDI進行視訊和音訊傳輸時,必須確保頻寬足夠,以確保訊號傳輸的穩定性和流暢性。
  3. 設置需要技術:使用NDI需要一定的技術知識,包括網絡配置和設備配置等方面的知識。

php 限制連線數

現在使用一台mariadb和多台client的伺服器架構
以aws的aws auto scaling自動增加服務的機器

因為資料庫本身做不到auto scaling,
過多連線數會讓資料庫卡死
目前資料庫架構也不是以多台來設計
所以希望有個機制可以限制可以讀取資料庫的人數
其他人就等待

session部分則是使用redis,
以區網連到redis的機器
也發現php使用redis做為session儲存機制時
在開始連線時,
就設定了該session存活時間
也就是說不會有回收時間的問題
時間到了,就消失

機制上,就會設計成使用者進到頁面,
先抓現在有多少session
超過設定的上限
就直接導去等待畫面
而有些使用者可能會長時間停留,
且又不方便讓它斷線的頁面,
則在clinet端增加一個防斷線機制
以ajax到php端更新session

但目前不知道會不會有同時連線的問題
會不會抓目前連線數的時後,
會和另一個同時抓到一樣的數字



linux&mac常用指令 grep

 grep -r "word" 

可以查到這個資料夾以下,所有有這個關鍵字的檔案

nginx http 轉 https

 先記錄一下


server {
    listen 80;
    server_name example.com;
    return 301 https://$host$request_uri;
}
server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    ssl_certificate /etc/nginx/ssl/example.com.crt;
    ssl_certificate_key /etc/nginx/ssl/example.com.key;

    server_name example.com;
}

[SQL] 從連續號碼中找出缺少的號碼

先來說說結論好了

select

Min(no) as START_VALUE,

Max(no) as END_VALUE

from

(select no,@NUM := @NUM + 1, no-@NUM as diff from A, (select @NUM := 0) AS T1) AS T2

group by diff order by END_VALUE limit 0,1 

再將得出的 END_VALUE +1

就可以找到缺少的號碼了

--

其實以前就有想過這個問題,不過偷懶用了最簡單的方式之後,也至少維持了5年才出現嚴重的問題, 會員編號因為使用六位數字,每新增一個會員,就找出現在在系統裡的最大值,然後加1,但因為部分原因,新增了一個相當後面的數字,造成新加入的會員,都從新的數字開始。中間跨過了非常多的數字無法使用。

這個時後就在思考,我要如何找到中間缺少的數字。

最初,想利用left join自己和自己比對,假設有一個表格A, 欄位是「no」資料有「1,2,3,5,6,7,8,9,12,13,14」

select * from A as t left join A t2 on t1.no <  t2.no and t2.no is null

這樣比對,可以找到該欄位的最大值資料。也就是說如果有一份資料有每個人每一年的資訊,另一個表格B,有三個欄位name、year、num,就可以利用這種方式

select * from B t left join B t2 on t1.year<t2.year and t2.year is null

找到該人員的新一年的資訊

回到正題,原本想利用這種方式,找到數組中間可能相差2以上的最小值,以那個值+1來新增為新的會員編號,卻發現,因為條件是小於的關係,會找到所有每一筆資料小於自己的,但又無法明確的知道要的是哪一個,且資料愈多,執行時間會極度可怕。

最終找到了一個最好解法

將所有數字,找出連續區間,再找到最小的區間組合的最大值+1,就可以找到數組中缺少的最小數字。

以剛剛的表格A為例子

select

Min(no) as START_VALUE,

Max(no) as END_VALUE

from

(select no,@NUM := @NUM + 1, no-@NUM as diff from A, (select @NUM := 0) AS T1) AS T2

group by diff

找到這段sql的時後,其實也稍微理解了一下子

diff = no - @NUM

@NUM是每筆資料的序號,從0開始,每一筆都加一,第一筆資料是1,以此類推,這樣會發現no減掉@NUM,同一數組的diff的是相同,再以diff執行group,就可以取得連續區間的最小值和最大值,再找到最小連續區間的最大值,就可以知道缺少的號碼是多少了。


[apple] Mac OS 一定要學會的 印表機灰階列印



20200212
更新一下這篇,Mac的印表機驅動程式已經有很大的更新了,是可以直接選擇灰階列印,在「印表機功能」有選項可以直接設定黑白列印




若沒有可以選擇灰階列印,可以使用以下方法。

------------

MacOS在影印時,有些印表機的驅動程式並不完善,
沒辦法去設定列印彩色還是黑白,
甚至有時後,彩色列印是需要付費的(租賃的影印機)

這時,可以使用Mac內建的Automator設定

點開之後,選擇新增列印外掛模組
在PDF中,選擇 將「Quartz濾鏡」套用至PDF文件,這時後可選擇Gray Tone灰階
若要用黑白列印,則可以選擇Black&White
接著還有一個重點,小編之前做到這部分,結果最後都不會開始列印
找到「列印Finder項目」

接著按儲存。

進入應用程式列印,以下是Safari的列印畫面

點左下角使用系統對話方塊進行列印


再點左下角,PDF右邊的鍵頭
選擇剛剛儲存的設定,小編是將它命名為灰階列印。
點擊後,就會馬上開始列印。


Mac OS 一定要學會的 找到螢幕任意處顏色編碼

一個有趣的小程式,有時後滿需要的,可以找到螢幕任意處的顏色編碼


官網:http://couleursapp.com/











使用上也相當簡單

打開程式後,按住他的顏色框,就會出現一個取色的圓圈範圍,接著移到想要取色的位置



長按編碼,就會出現各種編碼,放開就會自動複製




不再限制您的多媒體創作:使用NDI快速傳輸、處理和編輯高品質的視訊和音訊。

NDI(Network Device Interface)是一種基於IP網絡的視訊和音訊傳輸協議,它可以讓您在同一網絡上的不同設備之間傳輸高品質的視訊和音訊。使用NDI,您可以將視訊和音訊直接傳輸到其他設備上,而不需要使用任何額外的硬體。 以下是使用NDI的步驟: 下載並安裝ND...