最後更新日期: 2025年09月27日

更新內容: 加入圖形化介面版的使用教學

前言


因為懶懶工作的關係,時常需要觀看長時間跨度的監視器影片,這些監視器片段短則 1-2 小時,長則數天甚至以數周來計算影片長度!此時當然需要借助軟體來篩選不需要觀看的監視器片段(換言之就是提取 (extract) 出監視器影片中有物體移動或運動 (motions) 的片段)。

以懶懶的經驗來說,自身帶有位移偵測的監視器鏡頭普遍而言價格比較高,一般的鏡頭僅帶有錄影功能,也造成使用者遇見緊急狀況時,無法快速查找需要的片段,這時 DVR-Scan 就能派上用場!

使用 DVR-Scan 無須任何費用,最重要的完全免費的開源軟體,並基於 BSD 2-Clause 授權!

實測畫面


經提取片段後,影片時長從11小時變成2小時

使用教學


官方網站

DVR-Scan (作者:Breakthrough)

https://www.dvr-scan.com/

DVR-Scan on Github

https://github.com/Breakthrough/DVR-Scan

DVR-Scan User Guide (英文)

https://www.dvr-scan.com/guide/

(1). 安裝 DVR-Scan

  1. 進入官方網站後,選取「Download」進入下載頁面
  1. 懶懶使用 Windows 10 64 位元虛擬機器平台(Hyper-V),以下範例教學均以 Windows 平台說明。
  • 範例選擇使用 MSI 安裝,點選下載 「Installer .msi」 安裝包
  • 下載完成後,開啟安裝包依序點擊「Next」安裝直到完成!

(MacOS, Linux 平台使用者,可參照官方說明文件使用 brew 或 pip 管理套件工具)

注意事項
    1. Windows 版本的 .msi 安裝包,已包含所有依賴項目。
    1. 只支援 64 位元作業系統。

安裝過程 - 1
安裝過程 - 2

桌面出現 DVR-Scan 的捷徑
關於安裝 DVR-Scan 的資料夾

補充說明:

關於安裝 DVR-Scan 的資料夾,裡面有兩種執行檔⬇

  1. dvr-scan.exe -> 文字介面執行檔 (進階使用者)
  2. dvr-scan-app.exe -> 圖形介面執行檔 (一般使用者)
DVR-Scan 的安裝資料夾

(2). 使用 DVR-Scan

本章節內容使用的為 DVR-Scan 1.8.1 版。

範例影片
  1. 點擊桌面「DVR-Scan」捷徑開啟主程式,在「Input」欄目中點擊「Add」加入影片檔案

注意:可以一次放置多個「同一個位置」的錄影檔!

加入影片檔案

補充說明:檔案處理規則

  • 20250927_1000_1100_CH1.mp4 → 頻道一,2025 年 09 月 27 日 10:00~11:00

  • 20250927_1100_1200_CH1.mp4 → 頻道一,2025 年 09 月 27 日 11:00~12:00

→ 同為頻道一的影片片段,可以一起處理

  • 20250927_1000_1100_CH2.mp4 → 頻道二,2025 年 09 月 27 日 10:00~11:00

  • 20250927_1100_1200_CH2.mp4 → 頻道二,2025 年 09 月 27 日 11:00~12:00

→ 同為頻道二的影片片段,可以一起處理

說明:

因兩組頻道的偵測區域不同,所以需要處理完頻道一的所有影片片段後,再接續處理頻道二的所有影片片段。

  1. 勾選「設定位移偵測區域」的選項,並開啟「區域編輯器」
設定位移偵測
  1. 拉動矩形的四個端點,用以改變偵測範圍的大小,完成後逕自點擊右上角的關閉鍵(即可保存)

可以是多個任意形狀的偵測區域,但是偵測區域越大掃描速度越慢

區域編輯器
  1. 選擇合併為同一個影片檔

該選項會將所有偵測到物件的片段均合併為同一個影片檔,若未勾選則會將偵測到的所有物件片段依次生成獨立的影片檔(懶懶實測會生成爆多檔案…)

合併檔案
  1. 選擇輸出的檔案位置
選擇輸出路徑
  1. 開始偵測!!
開始
  1. 運行中

先去舒服的休息一陣子,再回來看結果吧!

開始
  1. 等待進度條結束後,點擊同檔名的 .avi 檔就可以觀看囉!
完成

(3). (選擇性)使用 DVR-Scan 命令行介面(CLI)操作

懶懶附註:

因新版的 DVR-Scan 已提供圖形化介面供一般使用者使用!

懶懶在此仍保留舊版的命令行介面操作方案供參。

本章節內容使用的為 DVR-Scan 1.6.1 版。

  1. 「Windows 鍵 + R 鍵」開啟執行框,輸入「cmd」開啟命令提示字元
  1. 輸入指令dvr-scan -V,確認 DVR-Scan 是否安裝成功
1
2
# 顯示 DVR-Scan 版本資訊
dvr-scan -V
  1. 切換到目標檔案所在的資料夾
1
2
# 懶懶的桌面路徑為 C:\Users\user\Desktop
# 範例影片路徑為 C:\Users\user\Desktop\wuling_202407160300-202407161500.mp4
1
2
# 輸入下方「cd 指令」切換目錄至桌面
cd C:\Users\user\Desktop>

切換目錄結束之後,接著開始實際操作 DVR-Scan

(3-1). DVR-Scan 命令行指令


事前說明
  • 範例影片的檔名為 「wuling_202407160300-202407161500.mp4
  • 範例影片完整路徑為 「C:\Users\user\Desktop\wuling_202407160300-202407161500.mp4
  1. 我們一樣使用命令提示字元來操作 DVR-Scan

基本上我們只需要記住一條指令就好

1
2
# 範例指令
dvr-scan -i wuling_202407160300-202407161500.mp4 -o output.avi -r
1
2
3
4
5
6
# 指令逐條說明
# dvr-scan 為主程式命令,放在指令最前面
# -i 即 --input 的簡寫,指輸入目標檔案,後方接上目標檔案名稱
# -o 即 --output 的簡寫,指輸出目標檔案,後方接上自訂輸出檔案名稱
# (此以 output.avi 作為範例名稱)
# -r 即 --region-editor 的簡寫,選擇畫面中位移偵測的位置(可自訂大小)
  1. 按下 Enter 鍵後,畫面會跳出 Region Editor 視窗,我們能以滑鼠拖動頂點定義任意形狀大小

範例圖中懶懶想要偵測任何通過馬路的物體,滑鼠拖動藍色矩形的四個頂點,將頂點設置在馬路的位置

按下 Enter 鍵後會跳出警告視窗為是否保存設定,按否即可,然後 DVR-Scan 會為你偵測影片中每個通過藍色四邊形內的物體,並將結果輸出至 output.avi 中

待 DVR-Scan 運行完畢後,你就可以開啟 output.avi 查看輸出內容囉!

DVR-Scan執行中
輸出的output.avi

(3-2). 支援多檔案輸入

你可能會說:「阿!我監視器影片有數百個耶!要怎麼一次輸入多個檔案」

其實只要影片解析度及影格速率都相等,就可以合併成一個指令來操作

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# 例如我桌面的 wuling 資料夾存放著我的監視器影片
## 以 tree 命令,列出資料夾所有檔案
C:\Users\user\Desktop\wuling>tree /f
列出資料夾 PATH
磁碟區序號為 C813-4355
C:.
    wuling_202407160300-202407161500.mp4
    Wuling_202407161500-202407170300.mp4
    
子資料夾不存在
    
    
C:\Users\user\Desktop\wuling
1
2
3
4
# 指令逐條說明
# dvr-scan 為主程序命令,放在指令最前面
# 因為每個輸出檔案檔案名稱都是 wuling_ 作為開頭,後面加 *.mp4 副檔名(註: * 是一個通配符,表示可以替代一個或多個任意字元)
# -o 及 -r 參數放在後面(輸入影片的編碼、影片解析度、影格速率等應相同,簡言之即同一組監視畫面) 
1
2
# 此指令會使用DVR-Scan程式,掃描資料夾內每個檔名以`wuling_`開頭及以`.mp4`副檔名的檔案,並將掃描結果存到 output.avi 中
dvr-scan -i wuling_*.mp4 -o output.avi -r

後記. 技巧及疑難排解

(1). 監視器影片檔案格式出錯??


  • 監視器影片副檔名有些是dvrh.264h.265等等,此時建議先使用監視器內建轉檔工具或是格式工廠ffmpeg、等轉檔工具先進行轉檔,再來使用 DVR-Scan!

  • 懶懶實測avimp4m4vmov,甚至 4k HEVC 的tsmkv檔案都能使用

(2). 掃描過程發生奇怪錯誤??


  • 建議搜尋原作者的 GitHub,尋找看看有沒有人發生類似的錯誤

  • 另外建議不要將監視器檔案放在隨身硬碟(或檔案路徑中有中文),然後直接使用 DVR-Scan 程式掃描,容易發生未知的錯誤

(3). 偵測的範圍只能一個??然後一定要是矩形嗎??


  • 可以是多個任意形狀!可以參考官方說明文件

(4). 掃描的速度好慢(#`Д´)ノ


  • 設定範圍小一點的偵測「區域」可以增加掃描的性能表現
  • 若你有支援 CUDA 的顯示卡 (大約是 NVIDIA RTX 2060 以後系列),可以研究 DVR-Scan with CUDA 的相關資訊
  • 或許趁機更換個搭配 AMD Ryzen™ Threadripper™ 處理器的工作站是不錯的選擇!?

(5). 想了解更多參數設定??


  • 由於每個監視器畫質、角度、光源會造成畫面呈現不一,若想調整擷取畫面的參數,請參考官方說明文件