Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

AVI Stream Headers

.NET Compact Framework 1.0
Windows Mobile Not SupportedWindows Embedded CE Supported
9/8/2008

O cabeçalho principal é seguido por um ou mais 'strl' blocos. (Uma 'strl' parte é exigido para cada fluxo de dados.) Desses pedaços contêm informações sobre os fluxos no arquivo.

Cada 'strl' parte deve conter um cabeçalho transmitir e transmitir formato parte.

  • Fluxo cabeçalho Blocos são identificados pela FourCC (quatro-código de caractere) 'strh'.
  • Fluxo formato blocos são identificados pela FOURCC 'strf'.

Juntamente com o cabeçalho transmitir e transmitir formato partes, a 'strl' parte também pode conter um transmitir - parte dados cabeçalho e um transmitir nome parte.

  • Fluxo-cabeçalho dados blocos são identificados pela FOURCC 'strd'.
  • Fluxo nome blocos são identificados pela FOURCC 'strn'.

A estrutura cabeçalho transmitir contém informações cabeçalho para uma única transmitir de um arquivo.

typedef struct {
  FOURCC fccType;
  FOURCC fccHandler;
  DWORD dwFlags;
  DWORD dwPriority;
  DWORD dwInitialFrames;
  DWORD dwScale;
  DWORD dwRate;
  DWORD dwStart;
  DWORD dwLength;
  DWORD dwSuggestedBufferSize;
  DWORD dwQuality;
  DWORD dwSampleSize;
  RECT rcFrame;
} AVIStreamHeader;

O cabeçalho transmitir especifica o tipo de dados que a transmitir contém, such as áudio ou vídeo, by means of um FourCC.

fccType

Contém um FOURCC que especifica o tipo dos dados contidos na transmitir.

O seguinte padrão valores AVI Para vídeo e áudio são definidos.

Valor Definição

'vids'

Indica a transmitir vídeo contém dados. A parte formato transmitir contém um BITMAPINFO estrutura que pode incluir informações paleta.

'auds'

Indica a transmitir contém áudio dados. A parte formato transmitir contém um WAVEFORMATEX Ou PCMWAVEFORMAT estrutura, consulte a seção " Comentários " abaixo.

'txts'

Indica que a transmitir contém dados de texto.

fccHandler

Opcionalmente, contém um FOURCC que identifica um manipulador dados específicos. Manipulador de dados é o manipulador preferencial para a transmitir. Para áudio e vídeo fluxos, isto especifica o compactador instalável ou descompactador.

dwFlags

Contém sinalizadores para o fluxo de dados. Os bits de alta-palavra ordem desses sinalizadores são específicos para o tipo de dados contidos na transmitir.

O seguinte padrão sinalizadores são definidos.

Sinalizador Definição

AVISF_DISABLED

Indica este transmitir não deve ser habilitado Por padrão.

AVISF_VIDEO_PALCHANGES

Indica este vídeo transmitir contém alterações paleta.

Este sinalizador avisa o software de reprodução que ele precisará animar a paleta.

dwPriority

Especifica prioridade de um tipo transmitir. De exemplo, em um arquivo com múltiplo áudio fluxos, aquele com a maior prioridade pode ser a transmitir usar como padrão.

dwInitialFrames

Especifica quanto áudio dados são inclinados Ahead of o vídeo quadros na intercalados arquivos. Normalmente, isso é cerca de 0,75 segundos.

Se você estiver criando arquivos intercalados, especificar o número de quadros no arquivo prior to o quadro inicial da seqüência de AVI nesse membro.

Para obter mais informações sobre o conteúdo desse membro, consulte "especial de informações para Interleaved arquivos" Em Vídeo para Windows Programmer ' s Guide.

dwScale

Usado com dwRate Para especificar a escalabilidade tempo que este transmitir usará. Dividir dwRate Por dwScale Retorna o número de amostras por segundo.

Para vídeo fluxos, essa taxa devem ser a taxa quadro.

Para áudio fluxos, essa taxa deve corresponder ao tempo necessário para nBlockAlign bytes de áudio, que de áudio PCM simplesmente reduz a taxa de exemplo.

dwRate

Consulte dwScale.

dwStart

Especifica o tempo de início do arquivo AVI. As unidades são definidas pelo dwRate e dwScale members in the main file header. Geralmente, isso é zero, mas ele pode especificar um tempo de retardo para transmitir um que não iniciar concurrently with o arquivo.

dwLength

Especifica o comprimento deste transmitir. As unidades são definidas pelo dwRate e dwScale Membros do cabeçalho da transmitir.

dwSuggestedBufferSize

Especifica como grande uma reserva deve ser usada para ler esse transmitir. Normalmente, isso contém um valor correspondente para a maior parte presente na transmitir.

Usar o tamanho do buffer correto torna reprodução mais eficiente.

Use zero se você não souber o tamanho do buffer correto.

dwQuality

Especifica um indicador de qualidade dos dados a transmitir.

Qualidade é representada como um número entre 0 e 10.000. Para dados compactados, essa geralmente representa o valor do parâmetro de qualidade passado para o software compactação.

Se os drivers definida como – 1, usam o valor qualidade usar como padrão.

dwSampleSize

Especifica o tamanho de um único exemplo de dados.

Isso é definido como zero se os exemplos podem variar de tamanho.

Se esse número é diferente de zero, múltiplo amostras de dados podem ser agrupadas em uma única parte dentro de arquivo.

Se for zero, cada exemplo de dados (such as um vídeo quadro) deve estar em um separar parte.

Para vídeo fluxos, esse número é geralmente zero, embora ele possa ser diferente de zero se todos os vídeo quadros são o mesmo tamanho.

Para áudio fluxos, esse número deve ser igual a nBlockAlign membro das WAVEFORMATEX estrutura descrevendo o áudio.

rcFrame

Especifica o retângulo para transmitir um texto ou vídeo dentro do retângulo de filme especificado pelo destino de dwWidth e dwHeight Os membros das Cabeçalho principal AVI estrutura.

O rcFrame membro é geralmente usado no suporte de múltiplo vídeo fluxos. Defina esse retângulo como as coordenadas correspondente ao retângulo de filme para atualização o retângulo filme inteiro.

As unidades para esse membro são pixels. É o canto superior esquerdo do retângulo de destino relativo para o canto superior esquerdo do retângulo de filme.

Os últimos oito membros descrever as características de reprodução da transmitir. Esses fatores incluem o seguinte:

  • (Taxa de reproduçãodwScale e dwRate)
  • Tempo do (a seqüência iniciandodwStart)
  • Comprimento do (a seqüênciadwLength)
  • Tamanho do (a reserva de reproduçãodwSuggestedBuffer)
  • Indicador de (qualidade de dadosdwQuality)
  • (Tamanho de exemplodwSampleSize)

Alguns membros na estrutura de cabeçalho transmitir também estão presentes na estrutura de cabeçalho principal. Os dados no cabeçalho principal se aplica ao arquivo inteiro, enquanto os dados na estrutura de cabeçalho transmitir aplica-se somente a um transmitir.

Uma parte transmitir formato ('strf') deve seguir uma parte transmitir cabeçalho ('strh'). A parte formato transmitir descreve o formato dos dados na transmitir.

Para vídeo fluxos, as informações nessa parte é um BITMAPINFO estrutura (incluindo informações paleta se apropriado).

Para áudio fluxos, as informações nessa parte é um WAVEFORMATEX estrutura. Ele também pode ser um PCMWAVEFORMAT Ou WAVEFORMAT estrutura, mas ambas essas estruturas são substituído in favor of WAVEFORMATEX.

A 'strl' parte também pode conter um transmitir adicional-cabeçalho parte dados ('strd'). Se usado, esta parte segue a parte formato transmitir.

O formato e de conteúdo desta parte são definidos pelos drivers compactação ou descompactação instaláveis. Normalmente, os drivers usam esse informações de instalação.

Aplicativos que ler e arquivos RIFF de gravação não precisam decodificar esta informações. Eles transferir essa dados de e para um driver como um bloco memória.

O opcional 'strn' transmitir nome parte fornece uma seqüência de caracteres zero-Terminated texto descrevendo a transmitir. (As funções arquivo AVI podem usar esta parte para permitir que aplicativos identificar os fluxos desejar para acessar pelos seus nomes.)

Um jogador AVI associa os cabeçalhos transmitir na lista 'hdrl' parte com os dados transmitir na lista 'movi' parte usando a ordem da 'strl' blocos. A 'strl' primeiro parte se aplica a transmitir 0, o segundo se aplica ao transmitir 1 e assim por diante.

De exemplo, se a 'strl' primeiro parte descreve o áudio onda dados, o áudio onda dados estão contidos em transmitir 0. Da mesma forma, se a 'strl' segundo parte descreve vídeo dados e, em seguida, o vídeo dados estão contidos em transmitir 1.

Contribuições da comunidade

ADICIONAR
Mostrar: