Releases: HeyJiqingCode/VideoSemanticSearch
Releases · HeyJiqingCode/VideoSemanticSearch
Release list
v1.0.0
Video Semantic Search v1.0.0
First stable release. Video Semantic Search maps natural-language questions directly to video timestamps: upload a video, let Azure Content Understanding transcribe and segment it, index the chunks into Azure AI Search, and jump the player straight to the matching moment. Built as a demo on Azure Content Understanding + Azure AI Search + Azure OpenAI.
Highlights
End-to-end ingestion pipeline
- One-call ingestion:
POST /pipeline/upload-and-processuploads to Blob Storage, runs Content Understanding analysis (GA2025-11-01,prebuilt-videoSearchanalyzer), writes normalized chunk JSONL, and triggers the search indexer. - Chunk documents carry
start_ms/end_mstiming plus per-chunk and dominant language metadata; transcript phrases preferred, markdown fallback with VTT-noise cleanup. - Startup auto-provisioning (idempotent create-or-update) for the index, data source, skillset, indexer, and Blob containers, with
POST /admin/provisionandPOST /admin/rebuildfor manual control.
Retrieval
- Hybrid retrieval (keyword + vector) with semantic reranking through the
azure-search-documentsSDK; integrated vectorization ontext-embedding-3-large(3072 dimensions). - Intra-chunk jump refinement: a CN/EN token-anchor scan inside the matched chunk produces
jump_start_ms, so playback lands on the matching sentence instead of the chunk start — with conservative shift caps to avoid overshooting. - Video-scoped filtering, indexed video listing (
GET /videos), and on-demand SAS URL refresh so playback links never go stale.
Chat & summary
- Grounded video chat (
POST /chat, streaming NDJSON viaPOST /chat/stream) and cached video summaries (GET /video-summary), all through the OpenAI SDK Responses API against the Azure OpenAI v1 endpoint — chat and embedding share one Foundry resource and key.
Web UI & deployment
- Single-page UI: upload & index, video library switching, matched-segment jump playback, summary panel, chat bot, and an optional local login gate (
LOCAL_AUTH_*). - Multi-arch Docker images (linux/amd64, linux/arm64) published to GHCR.
See the README for Quick Start (Docker / local) and the full configuration reference.