Overview
This node extracts video metadata using FFprobe, supporting operations to get full metadata, video duration, or resolution. It can process videos from binary data or download them from a URL. Common use cases include analyzing video files in workflows to retrieve technical details like codec, duration, resolution, and bitrate for further processing or decision-making.
Use Case Examples
- Extract full metadata from a video file uploaded in a previous node.
- Get the duration of a video downloaded from a URL.
- Retrieve the resolution and quality classification of a video file from binary data.
Properties
| Name | Meaning |
|---|---|
| Input Mode | Determines how the video file is provided to the node, either from binary data of a previous node or by downloading from a URL. |
| Video URL | URL of the video file to analyze, required if input mode is 'Download from URL'. |
| Binary Property | Name of the binary property containing the video file, required if input mode is 'Binary Data'. |
| Output Property Name | Name of the output property where the extracted metadata will be stored. |
Output
JSON
metadatafilename- Name of the video file.format- Short format name of the video container.format_long- Long descriptive format name.duration- Duration of the video in seconds.duration_formatted- Duration formatted as HH:MM:SS.size- Size of the video file in bytes.size_mb- Size of the video file in megabytes.bitrate- Bitrate of the video file in bits per second.bitrate_kbps- Bitrate in kilobits per second.video
*codec- Video codec name.
*codec_long- Long name of the video codec.
*profile- Profile of the video codec.
*width- Width of the video in pixels.
*height- Height of the video in pixels.
*resolution- Resolution as width x height string.
*aspect_ratio- Display aspect ratio of the video.
*fps- Frames per second of the video.
*bitrate- Bitrate of the video stream.
*bitrate_kbps- Bitrate of the video stream in kbps.
*pixel_format- Pixel format of the video.
*level- Level of the video codec.
*color_space- Color space of the video.
*color_range- Color range of the video.audio
*codec- Audio codec name.
*codec_long- Long name of the audio codec.
*sample_rate- Sample rate of the audio in Hz.
*sample_rate_khz- Sample rate of the audio in kHz.
*channels- Number of audio channels.
*channel_layout- Layout of audio channels.
*bitrate- Bitrate of the audio stream.
*bitrate_kbps- Bitrate of the audio stream in kbps.streams_count
*total- Total number of streams in the video file.
*video- Number of video streams.
*audio- Number of audio streams.
*subtitle- Number of subtitle streams.
Dependencies
- FFprobe (via ffprobe-static)
- Node.js child_process for executing FFprobe
- Node.js fs and fs/promises for file handling
- Node.js http and https modules for downloading files
Troubleshooting
- Invalid URL error if the provided video URL is not valid or does not start with 'http'. Ensure the URL is correct and accessible.
- File download failures due to HTTP errors or network issues. Check the URL and network connectivity.
- Errors if the binary property name does not exist or the binary data is missing in the input. Verify the binary property name and input data.
- Temporary file creation or deletion errors. Ensure the node has permission to write to the system temporary directory.
- FFprobe execution errors if the video file is corrupted or unsupported format. Validate the video file format and integrity.
Links
- FFprobe Documentation - Official documentation for FFprobe, the tool used to extract video metadata.