Skip to main content

getVideoMetadata()v4.0.6

note

此函数仅适用于 Node.js 应用程序。对于浏览器,请改用 @remotion/media-utils 中的 getVideoMetadata()。

获取有关 Node.js 中视频文件的元数据。用于在服务器上计算元数据。

示例​

ts
import { getVideoMetadata, VideoMetadata } from "@remotion/renderer";
 
const videoMetadata: VideoMetadata = await getVideoMetadata(
"/Users/john/Documents/bunny.mp4",
);
 
const {
width,
height,
fps,
durationInSeconds,
codec,
supportsSeeking,
colorSpace,
audioCodec,
audioFileExtension,
pixelFormat,
} = videoMetadata;
ts
import { getVideoMetadata, VideoMetadata } from "@remotion/renderer";
 
const videoMetadata: VideoMetadata = await getVideoMetadata(
"/Users/john/Documents/bunny.mp4",
);
 
const {
width,
height,
fps,
durationInSeconds,
codec,
supportsSeeking,
colorSpace,
audioCodec,
audioFileExtension,
pixelFormat,
} = videoMetadata;
info

将绝对路径传递给 getVideoMetadata()。不支持 URL。

参数​

videoSource​

string

本地视频文件路径。

options?​

logLevel?​

One of verbose, info, warn, error.
Determines how much is being logged to the console.
verbose will also log console.log's from the browser.
Default info.

binariesDirectory?v4.0.120​

The directory where the platform-specific binaries and libraries that Remotion needs are located. Those include an ffmpeg and ffprobe binary, a Rust binary for various tasks, and various shared libraries. If the value is set to null, which is the default, then the path of a platform-specific package located at node_modules/@remotion/compositor-* is selected.
This option is useful in environments where Remotion is not officially supported to run like bundled serverless functions or Electron.

返回值​

返回值是一个具有以下属性的对象:

fps​

number

视频的每秒帧数(帧速率)

width​

number

视频的宽度(以像素为单位)。

height​

number

视频的高度(以像素为单位)。

durationInSeconds​

number

视频的时长(以秒为单位)。

codecv4.0.8​

string

其中之一 'h264' | 'h265' | 'vp8' | 'vp9' | 'av1' | 'prores' 或如果编解码器未得到 Remotion 官方支持,则为 'unknown'。

supportsSeekingv4.0.8​

boolean

预测视频在浏览器中是否可寻址。算法如下:

  1. 如果编解码器为 unknown,则视频不可寻址(false)。
  2. 如果视频长度小于 5 秒,则可寻址(true)。
  3. 如果编解码器不是 h264,则可寻址(true)。
  4. 现在编解码器为 h264。如果支持 Faststart(moov 原子位于 mdat 原子之前),则可寻址(true)。
  5. 否则,不可寻址(false)。

如果视频不可寻址,可能会遇到 "Non-seekable media" 错误。
这意味着如果嵌入到 <Video> 标签中,则视频可能无法渲染,并且如果嵌入到 <OffthreadVideo> 标签中,则可能会变慢。

你可以考虑使用FFmpeg重新编码视频,使其可搜索。

colorSpacev4.0.28​

其中之一为rgb、bt601、bt709、bt2020-ncl、bt2020-cl、fcc、bt470bg、smpte170m、smpte240m、ycgco、smpte2085、chroma-derived-ncl、chroma-derived-cl、ictcp或unknown。

audioCodecv4.0.49​

如果视频没有音轨,则为null。 如果音频编解码器对Remotion来说是未知的,则为"unknown"。

否则,它是"opus" | "aac" | "mp3" | "pcm-f16le" | "pcm-f24le" | "pcm-f32be" | "pcm-s16be" | "pcm-s16le" | "pcm-f32le" | "pcm-s32be" | "pcm-s32le" | "pcm-s64be" | "pcm-s64le" | "pcm-u16be" | "pcm-u16le" | "pcm-u24be" | "pcm-u24le" | "pcm-u32be" | "pcm-u32le" | "pcm-u8" | "pcm-f64be" | "pcm-s24be" | "pcm-s24le" | "pcm-s8" | "pcm-s16be-planar" | "pcm-s8-planar" | "pcm-s24le-planar" | "pcm-s32le-planar" | "unknown"之一。

audioFileExtensionv4.0.49​

如果视频没有音轨或对Remotion来说是未知的,则为null。否则,它是音频编解码器的适当文件扩展名,例如"mp3"。不包括.。

pixelFormatv4.0.78​

其中之一为yuv420p、yuyv422、rgb24、bgr24、yuv422p、yuv444p、yuv410p、yuv411p、yuvj420p、yuvj422p、yuvj444p、argb、rgba、abgr、bgra、yuv440p、yuvj440p、yuva420p、yuv420p16le、yuv420p16be、yuv422p16le、yuv422p16be、yuv444p16le、yuv444p16be、yuv420p9be、yuv420p9le、yuv420p10be、yuv420p10le、yuv422p10be、yuv422p10le、yuv444p9be、yuv444p9le、yuv444p10be、yuv444p10le、yuv422p9be、yuv422p9le、yuva420p9be、yuva420p9le、yuva422p9be、yuva422p9le、yuva444p9be、yuva444p9le、yuva420p10be、yuva420p10le、yuva422p10be、yuva422p10le、yuva444p10be、yuva444p10le、yuva420p16be、yuva420p16le、yuva422p16be、yuva422p16le、yuva444p16be、yuva444p16le、yuva444p、yuva422p、yuv420p12be、yuv420p12le、yuv420p14be、yuv420p14le、yuv422p12be、yuv422p12le、yuv422p14be、yuv422p14le、yuv444p12be、yuv444p12le、yuv444p14be、yuv444p14le、yuvj411p、yuv440p10le、yuv440p10be、yuv440p12le、yuv440p12be、yuv420p9、yuv422p9、yuv444p9、yuv420p10、yuv422p10、yuv440p10、yuv444p10、yuv420p12、yuv422p12、yuv440p12、yuv444p12、yuv420p14、yuv422p14、yuv444p14、yuv420p16、yuv422p16、yuv444p16、yuva420p9、yuva422p9、yuva444p9、yuva420p10、yuva422p10、yuva444p10、yuva420p16、yuva422p16、yuva444p16、yuva422p12be、yuva422p12le、yuva444p12be、yuva444p12le、unknown。

参见​