Emby Emby Emby Learn
  • Emby Home
  • Video
  • Audio
  • Media Files
    • Subtitles and captions
    • Photos and images
    • Metadata and discovery
    • Libraries and media collections
    • Playback and streaming
    • Media hardware acceleration
    • Displays and AV connections
    • Live TV and recording
  1. Emby Learn
  2. Playback and streaming
  3. Casting and remote playback
  4. Playback remote control
Search Results for

    Show / Hide Table of Contents

    Playback remote control and reported session state

    Playback remote control sends commands to a selected playback session while reported state and actual media presentation establish what the receiving player did.

    Playback remote control lets one application request actions from another playback session. Play, pause, seek, track selection and volume operate on that receiving player's supported state.

    The controller can remain outside the media-delivery path. A pause command can travel through a server while movie bytes travel from the media origin directly to the receiver.

    Commands and status form a feedback path

    An original remote-control diagram separates requested actions, reported player state and media presentation.

    Stage What it establishes
    Controller forms a command Intended action and target session
    Command reaches the supported handler Receipt at that stage
    Player changes state Receiver-side action
    Updated state is reported Feedback available to the controller
    Programme presentation changes The user's observed result

    An HTTP response acknowledging a request does not, alone, describe the picture currently on screen. A receiver can need more media preparation before a requested seek becomes visible.

    Target the session that can accept the action

    Emby's remote-control API documentation describes selecting controllable sessions and supported commands. A client can filter sessions by the relevant user's control context.

    A discovered receiver and a currently controllable playback session are therefore different concepts. Sessions can end or be replaced; a command for an old session need not control the new one.

    Track selection also belongs to a particular source/session context. An audio-stream number from one source should not be assumed to identify the same language in another.

    Absolute actions and toggles have different intent

    Consider an original state example starting in Playing:

    Intent applied twice Result in the simplified state model
    Pause Paused, then still Paused
    Toggle play/pause Paused, then Playing

    The table models requested state meanings, not the retry contract of a particular HTTP API. It explains why a controller that repeats a toggle after uncertain feedback can undo the action it wanted.

    A useful user interface reconciles intended state with reported state. A delayed status message also needs its session and ordering context so it does not overwrite a newer observation incorrectly.

    Seek coordinates need their unit

    Emby exposes seek positions in ticks for the relevant remote-control operation. One second is ten million ticks.

    For an original request targeting programme second 95:

    95 × 10,000,000 = 950,000,000 ticks
    

    That value is a media-time destination. It is not an HTTP byte offset or a wall-clock timestamp. The receiving player still resolves the seek through its media and decoding path.

    See Also

    • Casting and screen mirroring: where playback happens
    • DLNA media playback and UPnP AV roles
    • Google Cast and receiver-side media playback
    • Controller and receiver connectivity
    • Resume positions and playback timelines

    References

    • Emby API: Remote control
    • Google Cast: Web Receiver core features
    • UPnP AV Architecture version 2
    On this Page
    2026 © EMBY LLC. Please see our terms of use and privacy policy.
    Back to Top