Aprimoramentos para interação na rede

O Flash Player 10.1 e o AIR 2.5 introduzem um conjunto de novos recursos para otimização da rede em todas as plataformas, inclusive buffer circular e busca inteligente.

Buffer circular

Ao carregar conteúdo de mídia em dispositivos móveis, você pode enfrentar problemas que quase nunca esperaria em um computador desktop. Por exemplo, será mais provável que você esgote o espaço em disco ou a memória. Ao carregar vídeo, a versão para deskto do Flash Player 10.1 e do AIR 2.5 baixa e armazena em cache todo o arquivo FLV (ou arquivo MP4) no disco rígido. Em seguida, o tempo de execução reproduz o vídeo a partir daquele arquivo de cache. O esgotamento do espaço em disco é incomum. Se essa situação ocorrer, o tempo de execução do desktop para a reprodução do vídeo.

Um dispositivo móvel pode mais facilmente ficar sem espaço em disco. Se o espaço em disco do dispositivo se esgotar, o tempo de execução não para a reprodução, como acontece com o tempo de execução no desktop. Em vez disso, o tempo de execução começa a reutilizar o arquivo de cache gravando nele novamente a partir do começo do arquivo. O usuário pode continuar assistindo ao vídeo. O usuário não pode fazer uma busca na área do vídeo que foi regravada, exceto no início do arquivo. O buffer circular não é iniciado, por padrão. Ele pode ser iniciado durante a reprodução, e também no começo da reprodução, se o filme for maior do que o espaço em disco ou a RAM. O tempo de execução exige pelo menos 4 MB de RAM ou 20 MB de espaço em disco para usar o buffer circular.

Nota: Se houver espaço em disco suficiente no dispositivo, a versão móvel do tempo de execução se comportará da mesma maneira que no desktop. Lembre-se de que um buffer na RAM é usado como reserva se o dispositivo não tiver disco ou se o disco estiver cheio. É possível definir um limite de tamanho para o arquivo de cache e para o buffer na RAM no momento da compilação. Alguns arquivos MP4 têm uma estrutura que requer que todo o arquivo seja baixado antes do início da reprodução. O tempo de execução detecta esses arquivos e impede o download se não houver espaço suficiente em disco, o que faz com que o arquivo MP4 não possa ser reproduzido. Pode ser melhor nem solicitar o download desses arquivos.

Como desenvolvedor, lembre-se de que a busca funciona somente nos limites do fluxo armazenado em cache. Algumas vezes, pode ocorrer a falha de NetStream.seek() se o deslocamento estiver fora do intervalo e, nesse caso, um evento NetStream.Seek.InvalidTime é acionado.

Busca inteligente

Nota: O recurso de busca inteligente requer o Adobe® Flash® Media Server 3.5.3.

O Flash Player 10.1 e o AIR 2.5 introduzem um novo comportamento, chamado busca inteligente, que aprimora a experiência do usuário ao reproduzir fluxo de vídeo. Se o usuário busca um destino dentro dos limites do buffer, o tempo de execução reutiliza o buffer para oferecer a busca instantânea. Em versões anteriores do tempo de execução, o buffer não era reutilizado. Por exemplo, se um usuário estivesse reproduzindo um vídeo a partir de um servidor de fluxo e o tempo do buffer estivesse definido como 20 segundos ( NetStream.bufferTime ), e o usuário tentasse buscar 10 segundos para a frente, o tempo de execução descartaria todos os dados do buffer em vez de reutilizar os 10 segundos que já foram carregados. Esse comportamento forçava o tempo de execução a solicitar novos dados do servidor com frequência muito maior e gerar um desempenho insuficiente da reprodução em conexões lentas.

A figura abaixo ilustra como o buffer se comportava nas versões anteriores do tempo de execução. A propriedade bufferTime especifica o número de segundos para pré-carregar de forma que, se a conexão for perdida, o buffer pode ser usado sem parar o vídeo:

Comportamento do buffer antes do recurso de busca inteligente

Com o recurso de busca inteligente, o tempo de execução agora usa o buffer para fornecer busca instantânea para frente ou para trás quando o usuário arrasta o vídeo. A figura a seguir ilustra o novo comportamento:

Busca adiante com o recurso de busca inteligente

Busca para trás com o recurso de busca inteligente

A busca inteligente reutiliza o buffer quando o usuário busca mais adiante ou mais atrás, para que a experiência de reprodução seja mais rápida e suave. Um dos benefícios desse novo comportamento é a economia de largura de banda para publicadores de vídeo. No entanto, se a busca estiver fora dos limites do buffer, o comportamento padrão ocorre e o tempo de execução solicita novos dados do servidor.

Nota: Esse comportamento não se aplica ao download progressivo do vídeo.

Para usar a busca inteligente, defina NetStream.inBufferSeek como true .