Video
A RocketRide embedding node that samples a video stream into embedded image documents; choose it when video needs frame-level retrieval rather than embedding a standalone image.
About Hugging Face
Hugging Face provides open-source model tooling and model repositories. This node uses its vision-model interfaces to produce an embedding for each selected frame.
What it does
The node buffers a video stream, extracts frames with OpenCV, and emits one Image document with an embedding per selected frame. Choose it over embedding_image when RocketRide must perform the frame extraction, and over text embedders for visual media. It is marked experimental and serializes shared model access with a lock.
Lanes
| Lane in | Lane out | Description |
|---|---|---|
video | documents | Emits embedded Image documents for sampled frames. |
Profiles
Default: OpenAI CLIP - 16x16 - good performance, lower memory (openai-patch16).
| Profile | Model | Context |
|---|---|---|
openai-patch16 (default) | openai/clip-vit-base-patch16 | Default frame model. |
openai-patch32 | openai/clip-vit-base-patch32 | Alternative CLIP profile. |
google16x224 | google/vit-base-patch16-224 | ViT profile. |
custom | User-provided | Enter a compatible Hugging Face model identifier. |
Configuration
Use the default model and sampling limits first. Frame count directly determines how many documents and model calls the node produces, so tune extraction for the retrieval granularity you actually need.
Model
The default is openai/clip-vit-base-patch16; Custom accepts a model name. Choose a model compatible with the target vector index, because every emitted frame carries that model’s vector and model name.
Frame extraction
Frames are sampled at interval seconds, starting at start_time. duration of zero continues to the end; otherwise the extraction window ends at start_time + duration and is clamped to the video length. Increase the interval or shorten the window for a coarse overview; decrease it for short visual events, accepting more documents and embedding work.
Frame and file limits
max_frames defaults to 50 and zero removes that cap. maxVideoSizeMB defaults to 500; an oversized video is rejected with a warning and produces no output. Raise either limit only after sizing the worker memory and the downstream index for the added frames.
Requirements
The node declares GPU capability and uses a vision model plus OpenCV. The source does not define a CPU-only fallback, so run it where the compatible model runtime is available.
Notes
Frame documents
Each output contains a base64 PNG Image, embedding, embedding_model, a frame number, and a timestamp. If the input provides stream details, source metadata and a <video-stem>.frame<N> name are retained. A missing reported frame rate falls back to 30 fps for timestamp calculation.
Supported containers
MP4 (video/mp4), AVI (video/x-msvideo), QuickTime (video/quicktime), and WebM (video/webm). An unrecognized MIME type is still processed, treated as MP4.
Upstream docs
Schema
| Field | Type | Description | Default |
|---|---|---|---|
embedding.duration | number | Duration (in seconds) for frame extraction (0=end of video) | 0 |
embedding.interval | number | Interval (in seconds) between frames Time in seconds between extracted frames | 5 |
embedding.maxVideoSizeMB | number | Maximum video file size (MB) Maximum allowed video file size in megabytes. Videos exceeding this limit will be rejected. | 500 |
embedding.max_frames | number | Maximum number of frames to extract (0=unlimited) Limit the total number of frames extracted from the video. Set to 0 for unlimited. | 50 |
embedding.model | string | Model name Hugging Face model to use for frame embedding | |
embedding.profile | string | Model Embedding model for video frames | "openai-patch16" |
embedding.start_time | number | Start time (in seconds) for frame extraction (0=beginning) | 0 |
Dependencies
transformersaccelerate