# DSM CC

O comando e controle de mídia de armazenamento digital (Digital storage media command and control, DSM-CC) é um kit de ferramentas para desenvolver canais de controle associados a fluxos MPEG-1 e MPEG-2. Ele é definido na parte 6 do padrão MPEG-2 (Extensões para DSM-CC) e usa um modelo cliente/servidor conectado por meio de uma rede subjacente (transportada pelo multiplex MPEG-2 ou independentemente, se necessário).
O DSM-CC pode ser usado para controlar a recepção de vídeo, fornecendo recursos normalmente encontrados em Videocassetes (VCR) (avanço rápido, retrocesso, pausa, etc.). Ele também pode ser usado para uma ampla variedade de outros propósitos, incluindo transporte de dados por pacote. Ele é definido por uma série de padrões pesados, principalmente MPEG-2 ISO/IEC 13818-6 (parte 6 do padrão MPEG-2).
O DSM-CC pode trabalhar em conjunto com redes de pacotes de próxima geração, trabalhando junto com protocolos de internet como RSVP, RTSP, RTP e SCP. Embora o DSM-CC seja geralmente associado à entrega de vídeo (via satélite ou terrestre) e com conteúdo interativo, ele também é usado entre servidores e clientes de áudio. A arquitetura descreve três partes principais do sistema: o cliente, o servidor e o gerenciador de recursos de sessão (SRM). O servidor fornece conteúdo e outros serviços ao cliente, e ambos são "clientes" do SRM. O SRM aloca e gerencia recursos de rede (como canais, largura de banda e endereços de rede). Ao combinar componentes de servidor e cliente nas mesmas plataformas, sistemas de acesso e entrega de conteúdo ponto a ponto podem ser construídos.
Essas especificações incluem inúmeras opções de implementação. Por exemplo, o vídeo MPEG-2 pode ser codificado de diferentes maneiras, e um sistema DSM-CC pode ser construído para incluir ou excluir certos recursos e interfaces. Normalmente, uma especificação externa definirá um perfil de opções específicas, permitindo que sistemas construídos usando perfis comuns interoperem.
O DSM-CC define ou estende cinco protocolos distintos:

## Usuário-Usuário

    Permite acesso remoto pelo cliente a objetos no servidor. A especificação User-User vai além da definição de classes de objetos de servidor específicas para definir classes locais para o cliente, bem como algumas das interações com outras partes do sistema. O modelo de objeto distribuído é baseado em CORBA. Os objetos são acessados ​​usando o protocolo inter-ORB da Internet (IIOP), com algumas extensões opcionais. Dois subconjuntos, "core" e "extended", são definidos. No modelo, alguns clientes também podem carregar conteúdo no servidor.

## Rede de Usuários

    Há duas partes neste protocolo: Sessão e Recurso. Este protocolo é usado entre o cliente e o SRM, e entre o servidor e o SRM. O protocolo UN Session é usado para estabelecer sessões com a rede, associadas a recursos que são alocados e liberados usando o protocolo UN Resource.

## Perfis de transporte MPEG

    A especificação fornece perfis para o protocolo de transporte MPEG padrão (definido pela ISO/IEC 13818-1) para permitir a transmissão de eventos, sincronização, download e outras informações no fluxo de transporte MPEG.

## Download

    Várias variações deste protocolo permitem a transferência de conteúdo do servidor para o cliente, seja dentro do fluxo de transporte MPEG ou em um canal separado (presumivelmente de alta velocidade). O download controlado por fluxo permite que as operações de download sejam negociadas e controladas pelo cliente. Uma variação do download é um "carrossel de dados" autônomo no servidor que baixa informações repetidamente; o cliente do carrossel de download espera pelas informações sem iniciar a transferência. Uma extensão do carrossel de dados é o "carrossel de objetos", que apresenta as informações baixadas como objetos compatíveis com os objetos definidos pela API Usuário-Usuário. (A escolha dos protocolos de download ou IIOP é incorporada no IOR do objeto, então o meio de acesso é transparente para o aplicativo cliente.)

## Protocolo de mudança de canal de transmissão digital comutado (SDB/CCP)

    Permite que um cliente alterne remotamente de canal para canal em um ambiente de transmissão. Usado para anexar um cliente a uma sessão de feed contínuo (CFS) ou outro feed de transmissão. Às vezes usado em pay-per-view.
Uma implementação nem sempre precisa de todos esses protocolos. Quase todas as implementações no mundo real usam um subconjunto.

## Extensão

O Delivery Multimedia Integration Framework (DMIF) expande o padrão MPEG-2 DSM-CC (ISO/IEC 13818-6:1998) para permitir a convergência de multimídia interativa, de transmissão e conversacional em uma especificação que será aplicável a decodificadores, desktops e estações móveis. O trabalho do DSM-CC foi estendido como parte do ISO/IEC 14496-6 (MPEG-4 Parte 6), com o DSM-CC Multimedia Integration Framework (DMIF).