@crvouga/mockingbird-service-mediaconvert

中文文档
3.11.0发布于 2026/11/11MITTypeScriptES Module构建来源已验证近 30 天下载 3076

Stateful AWS Elemental MediaConvert emulator with endpoint discovery, async jobs, EventBridge events, and deterministic S3 outputs.

原始使用文档
文档目录5 节
  1. Install
  2. Usage
  3. Controls
  4. API
  5. Deliberately not modelled

@crvouga/mockingbird-service-mediaconvert

Local emulators. Real API contracts. Part of Mockingbird.

Stateful AWS Elemental MediaConvert emulator for the official SDK v3 client. It supports endpoint discovery, asynchronous jobs, deterministic controls, EventBridge-compatible events, and output writes to a configured emulator S3 service.

Install

npm install -D @crvouga/mockingbird-service-mediaconvert

ESM only. Node 22+ or Bun 1.2+.

Usage

import {
  CreateJobCommand,
  DescribeEndpointsCommand,
  MediaConvertClient,
} from "@aws-sdk/client-mediaconvert"
import { createServer } from "@crvouga/mockingbird-service-mediaconvert/server"

// Test setup: start the emulator and point the discovery client at it.
const server = await createServer()
const aws = {
  region: "us-east-1",
  credentials: { accessKeyId: "fixture", secretAccessKey: "fixture" },
}
const discovery = new MediaConvertClient({ ...aws, endpoint: server.url })

// Application code, unchanged. DescribeEndpoints returns the emulator URL, which the
// second client uses to submit jobs.
const { Endpoints } = await discovery.send(new DescribeEndpointsCommand({}))
const mediaConvert = new MediaConvertClient({ ...aws, endpoint: Endpoints?.[0]?.Url })
const { Job } = await mediaConvert.send(
  new CreateJobCommand({
    Role: "arn:aws:iam::000000000000:role/MediaConvert",
    Settings: {
      Inputs: [{ FileInput: "s3://inputs/source.mp4" }],
      OutputGroups: [
        {
          OutputGroupSettings: {
            Type: "FILE_GROUP_SETTINGS",
            FileGroupSettings: { Destination: "s3://outputs/video/" },
          },
        },
      ],
    },
  }),
)
// Job.Status === "SUBMITTED"

await server.close()

Supported operations are DescribeEndpoints, CreateJob, GetJob, and CancelJob. CreateJob retains Role, Queue, UserMetadata, and the complete nested Settings structure. A repeated ClientRequestToken returns the original job.

Controls

  • GET /__admin/jobs and GET /__admin/jobs/:id inspect submitted jobs and exact settings.
  • POST /__admin/jobs/:id/transition accepts status (PROGRESSING, COMPLETE, ERROR, or CANCELED) plus optional progress, durationInMs, size, names, errorCode, and errorMessage.
  • Completing a job writes deterministic output bytes to each HLS or file-group S3 destination when s3.endpoint is configured.
  • Every state change emits an EventBridge-compatible MediaConvert Job State Change event through the shared webhook hub.
  • Fault presets are too_many_requests, internal_error, and unavailable.

The shared runtime provides reset, clock, journal, metrics, faults, and namespace isolation.

API

  • MediaConvertAPI, MediaConvertAPIOptions, MediaConvertEvent, TransitionOptions: handler, events, and deterministic controls.
  • MediaConvertJob, MediaConvertJobStatus, OutputGroupDetail: durable job state.
  • createRuntime, MediaConvertRuntime, MediaConvertRuntimeOptions: full Mockingbird runtime and webhook hub.
  • MEDIACONVERT_NAMESPACE, MEDIACONVERT_PRESETS, accessKeyCredential: constants and fault controls.
  • document, operationIds, supportedOperationIds: generated OpenAPI metadata.
  • createServer, MediaConvertServerOptions, DEFAULT_PORT, serveTarget from ./server: Node HTTP adapter and CLI integration.

Deliberately not modelled

Real transcoding, IAM evaluation, arbitrary operations, production limits, billing, dashboards, and codecs outside the submitted HLS/MP4 structure are not modelled.

Official oracle: AWS Elemental MediaConvert API Reference.

版本与发布记录

@crvouga/mockingbird-service-mediaconvert 共发布 41 个版本,首次发布于 2026/09/23;过去 12 个月发布了 41 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
3.11.0latest2026/11/11今天
3.10.92026/11/038 天前
3.10.82026/11/038 天前
3.10.72026/11/038 天前
3.10.62026/11/038 天前
3.10.52026/11/038 天前

关于 @crvouga/mockingbird-service-mediaconvert 的常见问题

@crvouga/mockingbird-service-mediaconvert 是什么?

Stateful AWS Elemental MediaConvert emulator with endpoint discovery, async jobs, EventBridge events, and deterministic S3 outputs.

如何安装 @crvouga/mockingbird-service-mediaconvert?

在项目目录运行 npm install @crvouga/mockingbird-service-mediaconvert,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 mockingbird-mediaconvert,可以用 npx mockingbird-mediaconvert 直接运行。

@crvouga/mockingbird-service-mediaconvert 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@crvouga/mockingbird-service-mediaconvert 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@crvouga/mockingbird-service-mediaconvert 可以商用吗?

@crvouga/mockingbird-service-mediaconvert 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@crvouga/mockingbird-service-mediaconvert 的下载量有多少?

根据 npm 官方下载统计,@crvouga/mockingbird-service-mediaconvert 在 2026/10/11 – 2026/11/09 这 30 天内被下载 3,076 次,日均约 103 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@crvouga/mockingbird-service-mediaconvert 还在维护吗?

最新版本 3.11.0 发布于 2026/11/11(今天);至今共发布 41 个版本,其中过去 12 个月发布了 41 个;首次发布于 2026/09/23。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。