Skip to content

[ts-sdk] Add VP8 and VP9 to RTMP output#2011

Merged
wkazmierczak merged 1 commit into
masterfrom
@wkazmierczak/add-e-rtmp-to-ts-sdk
May 22, 2026
Merged

[ts-sdk] Add VP8 and VP9 to RTMP output#2011
wkazmierczak merged 1 commit into
masterfrom
@wkazmierczak/add-e-rtmp-to-ts-sdk

Conversation

@wkazmierczak
Copy link
Copy Markdown
Contributor

No description provided.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds Enhanced RTMP (E-RTMP) codec options to the TypeScript SDK surface area so RTMP client outputs can be configured with VP8/VP9 video and Opus audio, aligning TS types and request-mapping with the backend API.

Changes:

  • Extend TS output option types for RTMP client outputs to include ffmpeg_vp8, ffmpeg_vp9, and opus.
  • Update smelter-core RTMP output request mapping to serialize the new encoder variants into the API (snake_case) shape.
  • Refresh OpenAPI / Rust schema documentation for bitrate description formatting and examples.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
ts/smelter/src/types/output/rtmp.ts Adds new RTMP encoder variants to the public TS SDK types.
ts/smelter/src/api.generated.ts Regenerates API types to include the new RTMP encoder unions.
ts/smelter-core/src/api/output/rtmp.ts Extends RTMP encoder-to-API mapping to handle VP8/VP9 and Opus.
tools/schemas/openapi_specification.json Updates bitrate description text formatting (adds example line break).
smelter-api/src/output/rtmp.rs Updates Rust/OpenAPI docs for VP8/VP9 bitrate description example text.
Comments suppressed due to low confidence (2)

ts/smelter/src/types/output/rtmp.ts:64

  • The new ffmpeg_vp9 RTMP encoder option is missing the API note that it requires Enhanced RTMP support on the receiver side. Please add the same warning as in the OpenAPI/Rust schema so TS SDK users understand compatibility constraints.
      type: 'ffmpeg_vp9';
      /**
       * Encoding bitrate. If not provided, bitrate is calculated based on resolution and framerate.
       * For example at 1080p 30 FPS the average bitrate is 5000 kbit/s and max bitrate is 6250 kbit/s.
       */

ts/smelter-core/src/api/output/rtmp.ts:101

  • intoRtmpClientAudioEncoderOptions has no default branch / fallback after the switch, so an unexpected encoder.type would make this function return undefined at runtime. Add an explicit default that throws a clear error (or an assertUnreachable) to avoid hard-to-debug failures downstream.
        sample_rate: encoder.sampleRate,
      };
  }
}

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread ts/smelter/src/types/output/rtmp.ts
Comment thread ts/smelter/src/types/output/rtmp.ts
Comment thread ts/smelter-core/src/api/output/rtmp.ts
@wkazmierczak wkazmierczak force-pushed the @wkazmierczak/add-e-rtmp-to-ts-sdk branch from 3d12e11 to d071724 Compare May 21, 2026 13:31
@wkazmierczak wkazmierczak changed the title Add E-RTMP options to ts-sdk Add E-RTMP to ts-sdk May 21, 2026
@wkozyra95 wkozyra95 changed the title Add E-RTMP to ts-sdk [ts-sdk] Add VP8 and VP9 to RTMP input May 22, 2026
@wkozyra95 wkozyra95 changed the title [ts-sdk] Add VP8 and VP9 to RTMP input [ts-sdk] Add VP8 and VP9 to RTMP output May 22, 2026
@wkazmierczak wkazmierczak merged commit 264e3ed into master May 22, 2026
6 of 7 checks passed
@wkazmierczak wkazmierczak deleted the @wkazmierczak/add-e-rtmp-to-ts-sdk branch May 22, 2026 07:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants