Hiyve Components - v1.0.0
    Preparing search index...

    Module @hiyve/react-capture

    @hiyve/react-capture - Recording, streaming, and transcription components for Hiyve SDK

    This package consolidates all capture-related components:

    • Recording: Controls and indicators for meeting recording
    • Streaming: Live streaming to RTMP destinations (YouTube, Twitch, etc.)
    • Transcription: Real-time speech-to-text transcription viewer and controls
    import {
    RecordingControls,
    RecordingIndicator,
    StreamingControls,
    TranscriptViewer,
    TranscriptionControls,
    } from '@hiyve/react-capture';

    @hiyve/react-capture

    Recording, streaming, and transcription components for Hiyve.

    npx @hiyve/cli login
    npm install @hiyve/react-capture
    import {
    RecordingControls,
    RecordingIndicator,
    StreamingControls,
    TranscriptViewer,
    TranscriptionControls,
    } from '@hiyve/react-capture';
    import { HiyveProvider } from '@hiyve/react';

    function MeetingRoom() {
    return (
    <HiyveProvider generateRoomToken={generateRoomToken}>
    <RecordingIndicator size="medium" />
    <RecordingControls
    onRecordingStarted={(id) => console.log('Recording:', id)}
    onRecordingStopped={() => console.log('Stopped')}
    />
    <StreamingControls
    onStreamingStart={() => console.log('Live')}
    onStreamingStop={() => console.log('Off air')}
    />
    <TranscriptionControls />
    <TranscriptViewer maxHeight={400} />
    </HiyveProvider>
    );
    }
    Component Description
    RecordingControls Start/stop recording with options for transcription, auto-compose, and meeting summary
    RecordingIndicator Visual indicator showing active recording status with elapsed time
    Component Description
    StreamingControls Start/stop live streaming with RTMP configuration
    StreamingIndicator Visual indicator showing active streaming status with elapsed time
    StreamingUrlDisplay Displays and copies the stream URL
    StreamingSettingsDialog Full-screen dialog for configuring streaming options (cloud vs. custom RTMP, display mode, MP4 save)
    StreamingSettingsForm Inline form variant of streaming settings
    Component Description
    TranscriptViewer Scrollable, real-time transcript display grouped by speaker
    TranscriptionControls Start/stop live transcription
    TranscriptionGroup Renders a single speaker group within the transcript
    Hook Description
    useTranscriptionGrouping Groups transcription entries by speaker and time window
    useStreamingDuration Tracks elapsed streaming time in seconds
    Export Description
    formatDuration Formats seconds into M:SS or H:MM:SS display
    groupByDate Groups transcription entries by date
    getSpeakerColor Returns a deterministic color for a speaker ID
    formatTimestamp Formats a transcription timestamp for display
    getConfidenceLevel Returns 'high', 'medium', or 'low' from a confidence score
    needsDateDivider Checks whether a date divider should be shown between two transcription entries
    formatDateDivider Formats a date for display as a divider between transcription groups
    getDisplayName Returns a display name for a speaker, falling back to user ID
    getInitials Returns initials from a speaker name or ID
    getSentimentColor Returns a color string for a sentiment value
    debounce Debounces a function call by the given delay
    formatTranscriptionDuration Formats seconds into a duration string (alias of formatDuration from transcription)
    Type Description
    RecordingControlsProps Props for the RecordingControls component
    RecordingIndicatorProps Props for the RecordingIndicator component
    RecordingOptions Options passed when starting a recording
    RecordingControlsLabels Label overrides for recording controls
    RecordingControlsIcons Icon overrides for recording controls
    RecordingControlsStyles Style overrides for recording controls
    RecordingIndicatorColors Color overrides for the recording indicator
    RecordingIndicatorStyles Style overrides for the recording indicator
    RecordingIndicatorSizeConfig Size configuration for the recording indicator
    Type Description
    StreamingControlsProps Props for the StreamingControls component
    StreamingIndicatorProps Props for the StreamingIndicator component
    StreamingUrlDisplayProps Props for the StreamingUrlDisplay component
    StreamingSettingsDialogProps Props for the StreamingSettingsDialog component
    StreamingSettingsFormProps Props for the StreamingSettingsForm component
    StreamingOptions Options passed when starting a stream
    StreamingMode Streaming mode ('cloud' or 'custom')
    StreamingConfig Full streaming configuration object
    StreamingControlsLabels Label overrides for streaming controls
    StreamingControlsIcons Icon overrides for streaming controls
    StreamingControlsStyles Style overrides for streaming controls
    StreamingIndicatorColors Color overrides for the streaming indicator
    StreamingIndicatorStyles Style overrides for the streaming indicator
    StreamingIndicatorSizeConfig Size configuration for the streaming indicator
    StreamingUrlLabels Label overrides for the URL display
    StreamingSettingsLabels Label overrides for the settings dialog/form
    Type Description
    TranscriptionEntry A single transcription entry with speaker, text, and timestamp
    TranscriptionGroupType A group of transcription entries by the same speaker
    TranscriptViewerProps Props for the TranscriptViewer component
    TranscriptionControlsProps Props for the TranscriptionControls component
    TranscriptionGroupProps Props for the TranscriptionGroup component
    TranscriptionLabels Label overrides for the transcript viewer
    TranscriptionControlLabels Label overrides for transcription controls
    TranscriptionColors Color overrides for the transcript viewer
    TranscriptionControlColors Color overrides for transcription controls
    TranscriptionStyles Style overrides for the transcript viewer

    Every component supports customization through labels, icons, colors, and styles props. Pass a partial object to override only the values you need -- unspecified keys use defaults.

    import {
    RecordingControls,
    defaultRecordingControlsLabels,
    defaultRecordingIndicatorColors,
    } from '@hiyve/react-capture';

    // Localize labels
    <RecordingControls
    labels={{
    record: 'Grabar',
    stopRecording: 'Detener',
    startRecording: 'Iniciar',
    }}
    />

    // Custom indicator colors
    <RecordingIndicator
    isRecording={true}
    colors={{
    background: 'rgba(0, 0, 0, 0.5)',
    indicator: '#ffffff',
    text: '#ffffff',
    }}
    size="large"
    />

    Recording defaults and merge functions:

    Default Merge Function
    defaultRecordingControlsLabels mergeRecordingControlsLabels
    defaultRecordingControlsIcons mergeRecordingControlsIcons
    defaultRecordingControlsStyles mergeRecordingControlsStyles
    defaultRecordingIndicatorColors mergeRecordingIndicatorColors
    defaultRecordingIndicatorStyles mergeRecordingIndicatorStyles
    defaultRecordingIndicatorSizeConfigs --
    import {
    StreamingControls,
    StreamingSettingsDialog,
    } from '@hiyve/react-capture';

    // Localize streaming controls
    <StreamingControls
    labels={{
    goLive: 'En direct',
    stopStreaming: 'Couper',
    }}
    icons={{
    live: <MyLiveIcon />,
    }}
    />

    // Custom streaming settings dialog labels
    <StreamingSettingsDialog
    open={open}
    onClose={() => setOpen(false)}
    labels={{
    title: 'Options de diffusion',
    cloudStreaming: 'Cloud',
    customRtmp: 'RTMP personnalise',
    }}
    />

    Streaming defaults and merge functions:

    Default Merge Function
    defaultStreamingControlsLabels mergeStreamingControlsLabels
    defaultStreamingControlsIcons mergeStreamingControlsIcons
    defaultStreamingControlsStyles mergeStreamingControlsStyles
    defaultStreamingIndicatorColors mergeStreamingIndicatorColors
    defaultStreamingIndicatorStyles mergeStreamingIndicatorStyles
    defaultStreamingIndicatorSizeConfigs --
    defaultStreamingUrlLabels mergeStreamingUrlLabels
    defaultStreamingSettingsLabels mergeStreamingSettingsLabels
    defaultStreamingConfig --
    import {
    TranscriptViewer,
    TranscriptionControls,
    defaultTranscriptionColors,
    } from '@hiyve/react-capture';

    // Light theme transcript viewer
    <TranscriptViewer
    colors={{
    background: '#ffffff',
    text: '#212121',
    localUser: '#1565c0',
    }}
    styles={{
    padding: 20,
    fontSize: '1rem',
    }}
    maxHeight={500}
    />

    // Custom control labels
    <TranscriptionControls
    labels={{
    startTranscription: 'Begin',
    stopTranscription: 'End',
    transcribing: 'Active...',
    }}
    />

    Transcription defaults and merge functions:

    Default Merge Function
    defaultTranscriptionLabels mergeTranscriptionLabels
    defaultTranscriptionControlLabels mergeTranscriptionControlLabels
    defaultTranscriptionColors mergeTranscriptionColors
    defaultTranscriptionControlColors mergeTranscriptionControlColors
    defaultTranscriptionStyles mergeTranscriptionStyles
    • @hiyve/react (^2.0.0) -- components must be rendered inside HiyveProvider
    • @hiyve/rtc-client -- WebRTC client (provided by HiyveProvider)
    • @hiyve/utilities (^1.0.0)
    • @mui/material (^5.0.0 || ^6.0.0) and @mui/icons-material
    • @emotion/react (>=11) and @emotion/styled (>=11)
    • react (^18.0.0)

    Proprietary - Hiyve SDK

    Components

    RecordingControls
    RecordingIndicator
    StreamingControls
    StreamingIndicator
    StreamingSettingsDialog
    StreamingSettingsForm
    StreamingUrlDisplay

    Other

    RecordingControlsIcons
    RecordingControlsLabels
    RecordingControlsProps
    RecordingControlsStyles
    RecordingIndicatorColors
    RecordingIndicatorProps
    RecordingIndicatorSizeConfig
    RecordingIndicatorStyles
    RecordingOptions
    StreamingConfig
    StreamingControlsIcons
    StreamingControlsLabels
    StreamingControlsProps
    StreamingControlsStyles
    StreamingIndicatorColors
    StreamingIndicatorProps
    StreamingIndicatorSizeConfig
    StreamingIndicatorStyles
    StreamingOptions
    StreamingSettingsDialogProps
    StreamingSettingsFormProps
    StreamingSettingsLabels
    StreamingUrlDisplayProps
    StreamingUrlLabels
    TranscriptionColors
    TranscriptionControlColors
    TranscriptionControlLabels
    TranscriptionControlsProps
    TranscriptionEntry
    TranscriptionGroupProps
    TranscriptionGroupType
    TranscriptionLabels
    TranscriptionStyles
    TranscriptViewerProps
    StreamingMode
    defaultRecordingControlsIcons
    defaultRecordingControlsLabels
    defaultRecordingControlsStyles
    defaultRecordingIndicatorColors
    defaultRecordingIndicatorSizeConfigs
    defaultRecordingIndicatorStyles
    defaultStreamingConfig
    defaultStreamingControlsIcons
    defaultStreamingControlsLabels
    defaultStreamingControlsStyles
    defaultStreamingIndicatorColors
    defaultStreamingIndicatorSizeConfigs
    defaultStreamingIndicatorStyles
    defaultStreamingSettingsLabels
    defaultStreamingUrlLabels
    defaultTranscriptionColors
    defaultTranscriptionControlColors
    defaultTranscriptionControlLabels
    defaultTranscriptionLabels
    defaultTranscriptionStyles
    debounce
    formatDateDivider
    formatDuration
    formatTimestamp
    formatTranscriptionDuration
    getConfidenceLevel
    getDisplayName
    getInitials
    getSentimentColor
    getSpeakerColor
    groupByDate
    mergeRecordingControlsIcons
    mergeRecordingControlsLabels
    mergeRecordingControlsStyles
    mergeRecordingIndicatorColors
    mergeRecordingIndicatorStyles
    mergeStreamingControlsIcons
    mergeStreamingControlsLabels
    mergeStreamingControlsStyles
    mergeStreamingIndicatorColors
    mergeStreamingIndicatorStyles
    mergeStreamingSettingsLabels
    mergeStreamingUrlLabels
    mergeTranscriptionColors
    mergeTranscriptionControlColors
    mergeTranscriptionControlLabels
    mergeTranscriptionLabels
    mergeTranscriptionStyles
    needsDateDivider
    TranscriptionControls
    TranscriptionGroup
    TranscriptViewer
    useStreamingDuration
    useTranscriptionGrouping