Skip to main content
View source

Video

View as Markdown

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 inLane outDescription
videodocumentsEmits embedded Image documents for sampled frames.

Profiles

Default: OpenAI CLIP - 16x16 - good performance, lower memory (openai-patch16).

ProfileModelContext
openai-patch16 (default)openai/clip-vit-base-patch16Default frame model.
openai-patch32openai/clip-vit-base-patch32Alternative CLIP profile.
google16x224google/vit-base-patch16-224ViT profile.
customUser-providedEnter 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

FieldTypeDescriptionDefault
embedding.durationnumberDuration (in seconds) for frame extraction (0=end of video)0
embedding.intervalnumberInterval (in seconds) between frames
Time in seconds between extracted frames
5
embedding.maxVideoSizeMBnumberMaximum video file size (MB)
Maximum allowed video file size in megabytes. Videos exceeding this limit will be rejected.
500
embedding.max_framesnumberMaximum number of frames to extract (0=unlimited)
Limit the total number of frames extracted from the video. Set to 0 for unlimited.
50
embedding.modelstringModel name
Hugging Face model to use for frame embedding
embedding.profilestringModel
Embedding model for video frames
"openai-patch16"
embedding.start_timenumberStart time (in seconds) for frame extraction (0=beginning)0

Dependencies

  • transformers
  • accelerate