Skip to content

Streamplace AI Pipeline Integration (WHIP/WHEP)#1

Draft
eliteprox wants to merge 19 commits intonextfrom
feat/streamplace-transcription
Draft

Streamplace AI Pipeline Integration (WHIP/WHEP)#1
eliteprox wants to merge 19 commits intonextfrom
feat/streamplace-transcription

Conversation

@eliteprox
Copy link
Copy Markdown

No description provided.

eliteprox and others added 9 commits December 13, 2025 19:08
- Add .mp4 and .mkv to .gitignore
- Update vscode launch configs to use node debugger with bash for better process control
- Add compound launch config for running streamplace + app dev server together
- Add subtitle toggle to viewer context menu
- Implement subtitle support in HLS player with proper track management
- Change default player protocol from WebRTC to HLS
- Add aigateway package for AI transcription gateway client with session
- Add subtitle offset controls to viewer context menu with +1s/-1s/reset options
- Display current subtitle offset in menu title and adjustment UI
- Pass subtitle offset as query parameter to HLS source URL
- Add subtitleOffsetMS state to player store with getter/setter
- Implement structured transcript segments with timing in aigateway
- Add TranscriptSegment and WordTimestamp types for precise subtitle timing
- Refactor TranscriptStore to use segments
@eliteprox eliteprox changed the title Streamplace AI Pipeline Integration Streamplace AI Pipeline Integration (WHIP/WHEP) Dec 30, 2025
Refactor AI gateway client to try multiple endpoint paths for better compatibility with different gateway versions. Remove RewriteURLsTo config option in favor of automatic URL normalization based on the configured base URL. Add StopURL field to Session response. Update TranscriptEvent to use RFC3339 timestamp format instead of milliseconds. Remove unused error tracking from RTMPPublisher and legacy transcript segment conversion logic.
Remove SegmentAndSignElemH264Parse function which was a duplicate of SegmentAndSignElem with identical functionality. Update WebRTCIngest to use the standard SegmentAndSignElem method instead.
Add debug segment dump when MP4 validation fails after signing to help diagnose segment validation issues.
Remove transient mux error retry logic and excessive timestamp zeroing from ConvergeSegment. Add debug segment dump at start of convergence and per-attempt debug file output when SegmentDebugDir is configured. Simplify MP4 metadata zeroing to only handle bitrate fields instead of all timestamps.
Decrease pipeline start timeout in MP4ToMPEGTS from 60 seconds to 10 seconds to fail faster when conversion stalls. Add missing newline at end of segment_converge.go.
Remove AIGatewayPathPrefix config option and related PathPrefix field from aigateway.Config. Simplify endpoint discovery to only try base paths without prefix variants, removing the /gateway/ path candidates that were previously used for proxy compatibility.
Remove the Text field from TranscriptEvent struct in favor of structured Segments data. Simplify SSE payload parsing to expect single-event format wrapped in array instead of handling multiple legacy formats. Update debug logging to remove text field reference.
Remove automatic deduplication of transcript segments by eliminating the seen map tracking and stableSegmentID generation. Remove segment replacement logic that attempted to update segments with similar timestamps. Remove sorting of segments in GetSegments and GenerateVTTForSegment, relying on insertion order instead. Simplify addSeg to only enforce MaxTranscriptEvents limit without deduplication checks.
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.

4 participants