Shotit 是一款專為電視和電影量身定制的螢幕截圖到視訊搜尋引擎,速度極快且計算效率極高。
需要使用 Docker Compose,請先安裝。
最小工作負載:2v16G、4v32G優先。
git clone https://github.com/shotit/shotit.git
cd shotit
.env.example
複製到.env
.env
,就像第一次一樣。milvus.yaml.example
複製到milvus.yaml
milvus.yaml
,就像第一次一樣。建立這些必要的資料夾。
mkdir -p volumes/shotit-hash
mkdir -p volumes/shotit-incoming
mkdir -p volumes/shotit-media
mkdir -p volumes/mycores
mkdir -p volumes/mysql
將mycores
的使用者和群組資訊設定為 8983,這是liresolr
所需要的。
sudo chown 8983:8983 volumes/mycores
然後,啟動 docker-compose 服務。
(Windows or Mac):
docker compose up -d
(Linux):
docker-compose up -d
PS:docker-compose.yml 檔案從 GitHub 取得 docker 映像。如果您喜歡 dockerhub,請改用以下命令。
(Windows or Mac):
docker compose -f docker-hub-compose.yml up -d
(Linux):
docker-compose -f docker-hub-compose.yml up -d
叢集準備就緒後,您可以將視訊檔案新增至傳入資料夾。以Blender的Big Buck Bunny為例,其imdb標籤為tt1254207,路徑應為:
./volumes/shotit-incoming/tt1254207/Big_Buck_Bunny.mp4
重新啟動shotit-worker-watcher
,以防它無法捕獲檔案的變更。
docker restart shotit-worker-watcher
當shotit-worker-watcher
偵測到傳入資料夾中存在影片檔案時,它會開始將影片上傳到物件儲存支援的shotit-media
。上傳後,影片將被刪除,然後shotit-worker-hasher
建立哈希, shotit-worker-loader
將哈希載入到向量資料庫。使用以下命令查看索引過程是否已完成:
docker logs -f -n 100 shotit-worker-loader
索引過程完成後,您將注意到Loaded tt1254207/Big_Buck_Bunny.mp4
,您可以直接從下面的 URL 透過螢幕截圖搜尋影片。
GET http://127.0.0.1:3311/search?url=https://i.ibb.co/KGwVkqy/big-buck-bunny-10.png
回覆:
{
"frameCount": 0,
"error": "",
"result": [
{
"imdb": "tt1254207",
"filename": "Big_Buck_Bunny.mp4",
"episode": null,
"duration": 596.4169921875,
"from": 473.75,
"to": 479.17,
"similarity": 0.9992420673370361,
"video": "http://127.0.0.1:3312/video/tt1254207/Big%20Buck%20Bunny.mp4?t=476.46000000000004&now=1682985600&token=kc64vEWHPMsvu54Fpl1BrR7wz8",
"image": "http://127.0.0.1:3312/image/tt1254207/Big%20Buck%20Bunny.mp4.jpg?t=476.46000000000004&now=1682985600&token=K0qxDPHhoviiexOyEvS9qHRim4"
}
]
}
恭喜!您已成功部署shotit
搜尋引擎。
注意:第一次呼叫 api 的時間應該更長,因為 shotit 必須先將 hash 完全載入到 RAM 中。
黃L.(2024)。 Shotit:計算高效的雲端影像到影片搜尋引擎。 ArXiv。 /abs/2404.12169
請參閱此處以取得有關以下內容的完整文件:
Shotit
由這些 docker 映像組成。
Docker 映像 | Docker CI 建置 | 影像尺寸 |
---|---|---|
shotit-api | ||
Shoitit媒體 | ||
射擊工人觀察者 | ||
shotit-worker-hasher | ||
shotit-工人-裝載機 | ||
shotit-工人-搜尋者 | ||
射擊分類器 | ||
利雷索爾 | ||
米尼奧 | ||
等 | ||
瑪麗亞資料庫 | ||
管理員 | ||
雷迪斯 | ||
milvus-獨立版 |
數據集 | 集數 | 向量體積 | 搜尋時間 |
---|---|---|---|
攪拌機打開電影 | 15 | 55,677 | 5秒內 |
專有流派資料集 | 3,734 | 53,339,309 | 5秒內 |
https://shotit.github.io/shotit-frontend/demo
Shotit
顯著採用了來自trace.moe 的系統設計模式。 Shotit
的願景是使螢幕截圖到影片搜尋引擎成為中立、易於使用、計算效率高且速度極快的搜尋引擎。
請參閱貢獻指南。
阿帕契-2.0