使用者介面
Insight 是圍繞您在驗證視覺應用程式時執行的開發工作來組織的:檢查檔案、準備媒體、啟動來源、檢視輸出,以及監看執行階段的健康狀態。
工作區
「工作區」檢視可讓您瀏覽 Insight 可見的專案檔案。在 Neat 開發環境中,這通常是 /workspace;在 SDK 之外,Insight 會退而使用目前的工作目錄。
使用「工作區」來:
- 搜尋並瀏覽原始碼檔案、設定、模型成品與產生的輸出。
- 預覽文字、程式碼、Markdown、影像,以及特定的二進位成品。
- 無須手動解壓縮即可檢查 MPK 套件封存檔。
- 檢視專門的開發成品,例如 MLA 統計資料、MPK 資訊清單與管線序列檔案。
當應用程式產生多個建置輸出與日誌時,「工作區」特別有用。它提供一種可透過瀏覽器存取的方式,讓您在同一個開發工作階段中檢查這些成品。

媒體來源
「媒體來源」是您新增與管理應用程式測試所用媒體檔案的地方。選取 Import Media(匯入媒體)以開啟匯入對話方塊,然後從三種來源中擇一:
- Local files(本機檔案):從電腦選擇或拖放一個或多個檔案。上傳的 H.264 MP4 會經過正規化以進行低延遲播放,並停用 B 影格,同時保留來源影格率。
- Catalog(目錄):從 SiMa 精選的影片目錄匯入,以已知的素材進行可重複的測試。可依素材類型或名稱瀏覽、搜尋目錄、依解析度、影格率與編解碼器篩選、預覽影片,然後匯入一個變體,或選取並匯入多個符合條件的素材。
- YouTube:貼上一般的 YouTube 影片 URL,驗證後即可顯示預覽,並選擇開始時間、片段長度與輸出設定檔。Insight 支援 1、3 或 5 分鐘的片段,規格為
1080p30、720p30或480p30。匯入的片段會轉換為適合 WebRTC 的 H.264,並停用 B 影格。不支援進行中的直播;請使用一般影片或已封存的直播。
從目錄與 YouTube 匯入需要網路存取。Insight 會在下載與準備媒體時顯示進度,然後將結果儲存到本機媒體庫。
支援的影片格式包括常見的容器格式,例如 mp4、mov、avi、mkv 與 webm。Insight 也能辨識 MJPEG 素材與 HEVC/H.265 媒體,以進行能感知編解碼器的串流。MJPEG 與 HEVC 媒體會被保留,以便以其原始編解碼器行為進行串流。
匯入媒體後,您可以篩選檔案清單、預覽選取的檔案、檢查其基本中繼資料,或刪除不再需要的檔案。請在設定串流來源之前使用「媒體來源」,以便了解有哪些檔案可用、Insight 偵測到哪種編解碼器,以及這些檔案是否可讀取。
影片檔案卡片會以資料夾的形式顯示媒體庫。選取資料夾列會開啟該資料夾,並列出其子資料夾與影片。每個資料夾列都會顯示其中包含多少個可串流的影片(包含子資料夾中的影片),而影片檔案標題旁則會針對您目前所在的資料夾顯示相同的計數。麵包屑導覽會顯示您目前所在的位置;點選其中任何一部分(包括影片),即可返回該層級。篩選功能會搜尋目前的資料夾及其下的所有內容,並以相對於目前資料夾的路徑顯示相符結果。Insight 無法串流的檔案會以灰色列出,並標示無法串流標籤,因此您仍可預覽或刪除它們;串流來源中的指派對話方塊則會隱藏這些檔案,並以灰色顯示沒有可串流影片的資料夾。資料夾名稱只是您自訂的一般標籤,例如 30FPS/ 或 120FPS-720p-h264/;Insight 絕不會從中讀取影片設定。在 Neat SDK 中,媒體庫位於 /workspace/.insight-media/,因此即使 SDK 重新啟動,媒體庫也會保留。上傳的檔案一律會放在媒體庫的最上層。

「媒體來源」在單一檢視中結合了匯入、檔案選取、預覽、中繼資料檢查與刪除動作。匯入的目錄素材會儲存在 catalog/ 下,YouTube 片段則儲存在 youtube/ 下,讓您能辨識檔案是如何進入媒體庫的。
預覽相機
連接到執行瀏覽器之電腦的網路攝影機或手機相機,可以在串流前先在此預覽。在 相機 下選取 啟用相機存取,並在瀏覽器詢問時允許存取;相機會列在按鈕下方。選取相機後,會以該相機的即時視訊取代所選檔案的預覽,並顯示相機名稱與瀏覽器回報的串流資訊:
- Active stream(目前串流):相機目前傳送的解析度與幀率,以及這是相機本身的模式,還是經過瀏覽器裁切或縮放。
- Camera capabilities(相機能力):相機回報的最大寬度、最大高度與最高幀率,各自分開顯示。這些是上限,而不是相機具有的模式:寬度與高度都回報 1920 的相機,不一定能以 1920×1920 擷取。
瀏覽器未回報的值不會顯示。瀏覽器不會回報像素格式,因此不會顯示像素格式。
預覽只在您的瀏覽器中執行。它不會指派串流槽位,也不會啟動或停止串流;若要串流該相機,請在「串流」中將它指派給槽位(請參閱下方的 使用網路攝影機作為來源)。若此瀏覽器分頁已在發布該相機,預覽會顯示該擷取畫面而不會再次開啟相機,因此串流的設定不會改變。選取其他相機或檔案、選取 Stop preview(停止預覽)、離開「媒體來源」 或關閉分頁,都會釋放相機。
若無法預覽相機,面板會說明原因:
| 您看到的訊息 | 處理方式 |
|---|---|
| 相機權限遭拒(Camera permission was denied) | 在瀏覽器設定中允許 Insight 網站存取相機,然後選取 Try again(重試)。 |
| 無法啟動相機(The camera could not be started) | 另一個應用程式正在使用相機。請關閉該應用程式,然後選取 Try again(重試)。 |
| 該相機已無法使用(That camera is no longer available),或相機已停止傳送視訊(The camera stopped sending video) | 相機已中斷連接。請重新連接,然後選取 Refresh cameras(重新整理相機)。 |
| 此頁面內嵌於不允許存取相機的框架中(This page is embedded in a frame that does not allow camera access) | Insight 顯示在另一個頁面(例如編輯器分頁)中,而該頁面未將相機存取權傳遞給它。請在獨立的瀏覽器分頁中開啟 Insight。 |
串流來源
「串流來源」檢視會將上傳的媒體檔案轉換為即時來源槽位。每個來源槽位都可以公開一個 RTSP URL:
rtsp://127.0.0.1:8554/src1
rtsp://127.0.0.1:8554/src2
rtsp://127.0.0.1:8554/src3
這些 URL 適用於與 Insight 在同一個 SDK 容器中執行的應用程式。若應用程式在 DevKit 或其他外部機器上執行,請使用 SDK 主機的 IP 位址,以及 neat --json 中對應的 rtsp.tcp 主機連接埠。
Insight 會依據指派的媒體選擇編解碼器與傳輸選項:
- H.264 媒體透過 RTSP 以 H.264 串流。
- HEVC/H.265 媒體透過 RTSP 以 H.265 串流。
- MJPEG 媒體可透過 RTSP 以 MJPEG 串流,或透過 HTTP 以 multipart MJPEG 串流。
編解碼器由所選的媒體決定,無法在 UI 中手動變更。透過 RTSP 傳送的 MJPEG 會編碼為相容於 RTP 的 MJPEG,而 HTTP MJPEG 則可保留 MJPEG 影格,以進行類似攝影機的 HTTP 測試。
選取來源列的檔案欄位,即可開啟srcN 的來源對話方塊。其影片檔案分頁提供與「媒體來源」相同的資料夾瀏覽器;選擇一部影片,然後按指派,或按清除以取消指派。其相機分頁則改為指派您的其中一台相機,而串流 URL分頁會拉取網路串流(請參閱下文)。您可以啟動和停止個別的來源,自動將唯一的檔案指派給不同的來源插槽,批量啟動來源,停止所有串流,並複製串流 URL 以供應用程式或測試工具使用。
當您需要為物件偵測、分割、追蹤、分類或 GenAI 視覺應用程式提供可重複的輸入串流時,這個檢視很有用。

「串流來源」檢視可讓您將媒體檔案指派給來源槽位、啟動或停止串流、複製作用中的串流 URL,並在將所選來源接入應用程式之前先行預覽。
使用網路攝影機作為來源
連接到執行瀏覽器之電腦的網路攝影機可以作為即時來源,讓您無須先將檔案複製到開發板,就能以真實相機測試應用程式。若要先檢查相機,請在「媒體來源」中預覽(請參閱上方的 預覽相機)。
- 選取來源槽位的檔案欄位,並將 srcN 的來源 對話方塊切換至 相機。
- 在該處或 Media Sources 的 相機 下選取 啟用相機存取。瀏覽器會要求相機權限;Insight 無法替您授權。允許存取後,相機會列在該分頁中。
- 選取相機、解析度 與 位元率 並按 指派,再選取 開始。該列顯示
[CAM]標記(影片檔案顯示[VID]),瀏覽器將相機發布至 Insight,槽位顯示Live。 - 使用 複製 URL 取得 RTSP URL,並像檔案來源一樣讓應用程式使用此 URL。
解析度 預設要求相機提供 1920x1080、30 fps。也可改選 3840x2160 到 640x480、最高 60 fps 的其他尺寸與影格率,或 相機預設值。清單只會列出相機回報的最大尺寸與影格率範圍內的模式。不支援所選模式的相機會傳送最接近的 模式。電腦或網路忙碌時,瀏覽器會維持尺寸並降低影格率。位元率 設定瀏覽器傳送相機的最高速率。自動 會依解析度調整,在 1920x1080、30 fps 時為 8.1 Mbps,也可改選 2 到 32 Mbps。Insight 會為串流 URL 重新編碼相機,因此串流的位元率可能不同。若要變更已指派相機的解析度或位元率,請再次開啟對話方塊,選擇其他 解析度 或 位元率,然後依序選取 指派 與 開始。
相機清單會隨相機的連接與中斷而更新。網路攝影機來源只發布視訊,格式為 H.264。
擷取進行中時,來源清單旁的預覽會顯示您的相機畫面。這不是開發板接收到的視訊,也不會呈現接收端應用程式所看到的延遲;若發布失敗,擷取會停止並清除預覽。
選取 Stop(停止)、拔除相機或關閉瀏覽器分頁都會結束串流,並將槽位恢復為 Idle。Stop All(全部停止)、Reset(重設)與 Auto Assign(自動指派)也會釋放所有網路攝影機,因為它們都會收回那些槽位:Reset 與 Auto Assign 也會清除相機選擇,因此之後請重新選取相機。網路攝影機發布期間,瀏覽器分頁必須保持開啟:它就是將視訊傳送到 Insight 的元件。基於同樣的原因,Insight 重新啟動後,網路攝影機來源絕不會恢復為 Live——請重新選取相機並再次啟動。
若啟動網路攝影機失敗,訊息會指出原因:
| 您看到的訊息 | 處理方式 |
|---|---|
| 相機權限遭拒(Camera permission was denied) | 在瀏覽器設定中允許 Insight 網站存取相機,然後在「媒體來源」→ 相機下重新啟用相機存取。 |
| 該相機 已無法使用(That camera is no longer available) | 相機已中斷連接。選取 Refresh cameras(重新整理相機)並重新選取它。 |
| 無法啟動相機(The camera could not be started) | 另一個應用程式正在使用相機。請關閉該應用程式後重試。 |
| 無法連線到網路攝影機發布端點(Could not reach the webcam publish endpoint) | 瀏覽器無法連線到發布接聽程式。請信任 webrtcWhip 端點的憑證(開啟其 URL 一次以接受憑證),並確認連接埠可連線(請參閱 連接埠與網路行為)。 |
| 網路攝影機發布遭拒(Webcam publish was rejected) | Insight 無法接受該串流。請確認 webrtcWhip 連接埠可連線(請參閱 連接埠與網路行為),且您的瀏覽器信任 Insight 憑證。 |
瀏覽器只允許在其視為安全的頁面上存取相機。若 Enable camera access(啟用相機存取)沒有任何反應,請先透過 HTTPS 開啟 Insight 並信任其憑證;請參閱 安裝與升級。
外部串流
任何 RTSP、WebRTC(WHIP)或 SRT 工具都可以直接發布到來源插槽,例如在主機上以 ffmpeg 擷取相機畫面:
ffmpeg -f v4l2 -i /dev/video0 -c:v libx264 -preset veryfast -tune zerolatency -g 30 -pix_fmt yuv420p \
-f rtsp -rtsp_transport tcp rtsp://<insight-host>:8554/src2
SDK 容器會對應 RTSP 連接埠(8554)和 WHIP 連接埠(webrtcWhip,8889);SRT 發布端必須在容器內或原生安裝於 DevKit 的環境中執行。
Insight 會在約兩秒內將此類插槽顯示為外部:該列變為唯讀,標籤會列出通訊協定、發布端位址,並在探測完成後列出解析度和幀率。當串流使用 Neat 管線無法解碼的編解碼器(H.264、H.265 或 MJPEG 以外的任何編解碼器)時,編解碼器欄位會變為琥珀色並顯示警告。「複製網址」仍可使用;無論使用何種發布通訊協定,應用程式都照常讀取 rtsp://…/srcN。
最先發布的一方會佔用插槽。在外部插槽上啟動檔案,或發布到 Insight 已在串流的插槽,都會遭到拒絕,而不會悄悄取代正在執行的串流。接管(外部列中的方形停止圖示)會在確認後中斷外部發布端(及其讀取端)的連線;插槽會回到閒置狀態,並保留先前的檔案指派。會自動重新連線的發布端可能會再次佔用閒置的插槽,因此若要將插槽改用於檔案,請先停止外部工具。
「來源預覽」面板可以用來源本身的幀率即時顯示外部插槽;預覽預設為關閉(依瀏覽器記住設定),關閉時不會進行任何解碼。選取另一個外部插槽後,會顯示「連線中」指示器,直到新串流的第一個畫面抵達為止。這段等待時間主要是等待發布端的下一個關鍵幀,因此對於打算預覽的串流,請將關鍵幀間隔設為約一秒( 上例中在 30 fps 時使用 -g 30;編碼器的預設值通常為數秒)。在 SDK 容器內,容器外部的發布端和讀取端會以 Docker 橋接位址顯示,而非其實際 IP。
自動指派、批次啟動、全部停止和重設絕不會影響外部串流;結果訊息會列出略過的插槽。重設仍會清除每個插槽已儲存的指派,包括外部插槽。

外部插槽會顯示發布端、其位址以及探測到的串流格式;當 Neat 管線無法解碼串流時,編解碼器欄位會變為琥珀色。
拉取的串流
網路上已存在的串流(通常是 IP 攝影機)可以拉取到插槽中。按一下閒置插槽的檔案按鈕,將對話方塊切換到串流 URL,輸入攝影機的 rtsp:// 或 rtsps:// URL,若攝影機需要,也輸入其使用者名稱和密碼,然後按拉取。Insight 會設定 mediamtx 拉取該串流,並原封不動地轉送到 rtsp://…:8554/srcN;不會進行任何解碼或重新編碼,應用程式可以像讀取其他插槽一樣讀取此插槽。
畫面抵達後,該列會以藍綠色顯示已拉取,標籤會列出來源主機、解析度和幀率,編解碼器欄位則顯示編解碼器。在此之前,會顯示連線中…。如果無法連線到攝影機,該列會變為琥珀色的無法連線並顯示原因;mediamtx 會持續重試,攝影機恢復後,該列會自行回到已拉取。如果按下拉取時攝影機拒絕使用者名稱或密碼,對話方塊會顯示該訊息,插槽維持不變。只有當攝影機之後才開始拒絕認證資訊(例如一開始無法連線)時,該列才會以紅色顯示驗證失敗並維持此狀態:請按停止,然後以正確的認證資訊重新拉取。密碼只會保存在記憶體中;Insight 絕不會將其寫入磁碟、再次顯示或記錄到日誌,而且 Insight 重新啟動後不會還原已拉取的插槽。
按下該列的停止會解除拉取,插槽會回到閒置狀態,並保留先前的檔案指派。對已拉取的插槽指派檔案、啟動或接管都會遭到拒絕。全部停止和重設也會停止拉取,因為這些拉取是由 Insight 啟動的,並只讓外部串流繼續執行。自動指派和批次啟動會像略過外部插槽一樣略過已拉取的插槽,並在結果訊息中列出。
「來源預覽」面板對已拉取插槽的運作方式與外部插槽完全相同(預覽預設為關閉)。在此版本中,使用自我簽署憑證的 rtsps:// 攝影機會被回報為無法連線,並附上憑證訊息。
幀率
來源預覽面板會在所選來源的檔案名稱下方顯示 FPS 控制項,設定影格速率後,來源列會在檔案名稱旁顯示該速率。指派影片後,控制項會顯示從檔案中偵測到的幀率。使用 − 和 + 按鈕以 5 為單位調整,或輸入 1 以上的任意整數。Native 會將來源恢復為檔案本身的幀率。來源以原生幀率串流時,檔案名稱旁的速率與轉碼版本提示會呈灰色。在檔案解析度下編碼器無法達到的速率(超過 H.264 或 H.265 的最高等級)會在來源啟動時遭到拒絕,並顯示說明該上限的訊息。
當數值與檔案的原生幀率不同時,啟動來源會先建立一個轉碼版本:依照與 Insight 媒體目錄相同的編碼規則(H.264 baseline 或 H.265 main、yuv420p、無 B 幀、一個參考幀、一秒的封閉式 GOP),以要求的固定幀率重新編碼的影片副本。該列會顯示編碼中,並在預覽面板中顯示進度列,接著變為即時並串流該轉碼版本。轉碼版本儲存在媒體目錄下的 .renditions/ 中,並記錄在 renditions.json 裡,因此下次啟動時(包括重新啟動 Insight 之後)會直接重複使用,而不會再次編碼。以內容不同的檔案取代來源檔案,會使其舊的轉碼版本失效。刪除來源檔案會一併移除其轉碼版本。位元組完全相同的檔案(例如以其他名稱存在的副本)會共用同一個轉碼版本,該版本會保留到其中最後一個檔案被刪除或取代為止。如果編碼失敗,來源檔案不會受到影響,也不會保留部分完成的轉碼版本。
Insight 一次只會編碼一個轉碼版本。在另一個轉碼版本編碼期間,預覽面板會顯示 Waiting for another rendition to finish encoding…,待另一個版本完成後便會立即開始編碼。編碼前,Insight 會檢查媒體目錄中的可用空間:需要轉碼版本的預期大小再加上 1 GB 的餘裕,否則啟動會失敗,並顯示說明所需空間的訊息。請清除轉碼版本或釋出空間,然後再次啟動來源。
MJPEG 來源無法變更幀率;其控制項會停用。
「串流來源」工具列中的清除轉碼版本會刪除所有快取的轉碼版本(播放中來源正在使用的除外);這些版本會在下次啟動時重新建立。
視訊檢視器
視訊檢視器會顯示來自視訊轉送器的低延遲 WebRTC 串流。
對於頻道 N:
video: UDP 9000 + N
metadata: UDP 9100 + N
例如,頻道 0 使用視訊 UDP 9000 與中繼資料 UDP 9100;頻道 1 使用視訊 UDP 9001 與中繼資料 UDP 9101。
若傳送端在 DevKit 或其他外部機器上執行,請使用 neat --json 中對應的 videoUDP 與 metadataUDP 主機連接埠範圍。頻道的計算方式相同,但起始連接埠可能不同。
檢視器可以呈現常用視覺輸出(包括物件偵測、分類、姿勢估計、分割和追蹤)的中繼資料疊加層。每個中繼資料類型都有 Show Overlay 開關,可在不變更信賴度閾值或樣式的情況下隱藏輸出。姿勢估計也可分別顯示關節標記和地標名稱。與影格相關聯的資料也可顯示在每個頻道的獨立輔助面板中;第一個內建呈現器是 BlazePose 3D。多個輔助檢視會顯示為分頁,面板可以收合、展開或隱藏。通訊協定請參閱輔助視覺化。檢視器設定可調整信賴 度閾值、ROI 顯示、追蹤歷史記錄和同步緩衝。當影格沒有某類型的中繼資料時(例如推論速度比影片慢),檢視器會繼續繪製該類型的最後一個疊加層,最長 200 毫秒;收到該類型的新訊息時(即使不含任何物件)就會取代它。中繼資料時間戳使用來源 PTS 毫秒,如果無法使用則會省略。
接收 JPEG(RTP 酬載類型 26)的頻道也以相同方式顯示。Insight 會將每個 JPEG 影格原封不動地轉送到瀏覽器,圖塊狀態會顯示 JPEG,疊加層也依循相同的時間戳。與 H.264 影格相同,每個影格都會保留 Video Sync Buffer 的時間,讓其疊加層先行送達。ROI 編輯器預覽目前尚不會顯示 JPEG 頻道,並會提示這類頻道只能在 Video Viewer 中檢視。
General 設定分頁提供 Orientation 設定:None、Mirror、Flip Vertical 或 Rotate 180°。此設定只會在檢視器中翻轉或旋轉畫面及其疊加層(包括標籤),適用於所有編解碼器。串流與中繼資料座標都不會改變。
全域設定與頻道設定
檢視器設定分為兩個範圍。檢視器頁面的設定按鈕會開啟全域設定。圖塊狀態列最右側的按鈕會開啟該頻道的設定;對話方塊的標題會顯示頻道名稱。
頻道會沿用全域設定。若要為頻道設定自己的值,請開啟其設定,開啟該設定旁的 Own value,設定值後選取 Save。頻道自行設定的值優先於全域值。再次關閉 Own value 後,頻道會沿用全域值。 類別顏色依項目分別處理:頻道對話方塊會將全域項目標示為 from global,而 Override 會將其中一個項目複製為該頻道的項目。
在全域對話方塊中,設定列末端的琥珀色警告圖示表示有頻道自行設定該設定的值;其工具提示會顯示頻道數量。選取該圖示即可列出這些頻道及其值。Use global value 會立即移除頻道自己的值,無需按 Save。Reset all channels to the global settings… 會在確認後移除所有頻道自己的值;ROI 會保留。
設定儲存在瀏覽器中。這些設定不會在不同的瀏覽器或電腦之間共用。
中繼資料顏色
疊加層會從一個由 40 種顏色組成的共用調色盤中選取顏色,讓不同的識別對象在擁擠的畫面中仍能清楚區分。前 20 種顏色的區別最明顯;其餘 20 種只有在同時有超過 20 個識別對象需要顏色時才會使用:跨所有頻道的類別,或單一頻道上的軌跡或姿勢。每種中繼資料類型各自定義何謂識別對象:
| 中繼資料類型 | 著色依據 | 共用該顏色的部分 |
|---|---|---|
object-detection | 類別 label | 方框、標籤、置信度 |
segmentation | 類別 label | 遮罩、輪廓、方框、標籤 |
classification | 類別 label | 每一行標籤 |
tracking | 軌跡 id | 方框、標籤、歷史路徑 |
pose-estimation | 姿 勢 id | 關鍵點、骨架、關鍵點名稱、方框、標籤 |
顏色會在識別對象首次出現時分配。類別標籤在所有頻道間共用一份分配,因此 bicycle 在每個圖塊上都是相同的顏色,person 在偵測、分割和分類中看起來也都相同。覆寫設定依中繼資料類型分別套用:物件偵測中針對 person 的項目不會改變分割或分類中 person 的顏色。軌跡與姿勢會依頻道分配,因為 id 只在單一串流內是唯一的;頻道重新連線時,它們的顏色會重新開始分配。識別對象在任一頻道的畫面上時會保有其顏色。當它離開畫面超過 5 秒後,其顏色可能會交給新的識別對象。當畫面上的識別對象多於調色盤可容納的數量時,新的識別對象會與最久未繪製的識別對象共用顏色,而不會從任何可見的對象奪走顏色。
沒有 id 的軌跡與姿勢會以單一中性色繪製。若傳送者希望每個人或每條軌跡使用不同顏色,就必須包含 id。
物件偵測與分割設定可包含選用的各類別覆寫項目。針對某個標籤的項目會固定該類別的顏色與線條樣式。標籤為 default 的項目會固定所有沒有自己項目之類別的顏色。若沒有任何項目,所有類別都會自動著色。
General 分頁中的 Line Width 用於設定所有疊加層線條的繪製寬度:偵測方框、分割輪廓、軌跡方框與路徑,以及姿勢骨架。預設為 3 px,可設定為 1 到 10 px。各類別項目的 Thin 或 Thick 仍會設定該類別本身的寬度。與其他設定相同,頻道可以使用自己的值。