330 likes | 407 Views
Design em Movimento. Workflow de Produção de Vídeo. Reynaldo Fagundes COO – LabOne Systems S/A reynaldo.fagundes@labone.net. Agenda. Suporte a áudio e vídeo em Silverlight Pré-processamento de áudio e vídeo Melhores práticas para conteúdo Windows Media em Silverlight
E N D
Design em Movimento Workflow de Produção de Vídeo Reynaldo Fagundes COO – LabOne Systems S/A reynaldo.fagundes@labone.net
Agenda • Suporte a áudio e vídeo em Silverlight • Pré-processamento de áudio e vídeo • Melhores práticas para conteúdo Windows Media em Silverlight • Expression Media Encoder • Técnicas avançadas de encoding
Suporte a áudio e vídeo em Silverlight Video em silverlight = Windows Media Video codec: Windows Media Video 7,8,9 e 9AP Audio codec: Windows Media Audio (standard) A grande maioria do conteúdo WM disponível hoje é compatível com execução no atual silverlight player Compatível também com as tecnologias de entrega atuais (WMServer 9 series). O que não funciona: Conteúdo WM com codecs de captura de tela (screen capture), e áudio (WMA Pro, Voice, Lossless, Acelp) Playback otimizado (720p + video layers sem dropped frames) 4
Suporte a áudio e vídeo em Silverlight VC-1 e Windows Media 9 VC-1 é um padrão aberto de vídeo criado pela Microsoft (como o h264 ou MPEG-2) Padronizado pela SMPTE Codec WM9 = VC-1 Presente em especificações de discos hi-def. Mais de 50% dos títulos em blu-ray em produção nos EUA usam VC-1 como codec Ampla gama de ferramentas de encoding disponíveis 5
Suporte a áudio e vídeo em Silverlight VC-1 e Windows Media 9 Alta qualidade de áudio e vídeo Encoding rápido quando comparado com codecs similares (3x) Suporte a aceleração de Hardware (Tarari, Tandberg…) Servidor de media muito escalável (3500 300Kbps streams num Pentium D930) Infra-estrutura de distribuição de baixo custo (comparado com Flash) Tecnoligia madura (ferramentas de encoding, suporte a live, DRM, SDKs) 6
Pré-processamento de áudio e vídeo Captura Capture bitstreams nativos ou sem compressão DV, DVCPRO HD (100Mbps) Outros formatos – uncompressed DV bridges para capturar analógico introduzem artefatos (use apenas se o destino é <450Kbps) Vá direto à fonte! DVDRip não é ideal (ok se detino <600Kbps) Se possível, pegue saídas digitais de ilhas não-lineares (SDI) 7
Pré-processamento de áudio e vídeo Pré-processamento Tudo o que se faz com o áudio/vídeo antes do encoding propriamente dito Mais importante do que a escolha dos profiles de encoding Muda dramaticamente o resultado final. Missão do algoritmo de pré-processamento: reduzir ruído Missão da algoritmo de compresão: ser fiel ao sinal original 8
Pré-processamento de áudio e vídeo Interlaced video: Economia de banda. Output da maioria dos equipamentos domésticos. Proibido em equipamentos profissionais Silverlight usa vídeo progressivo Sinais 60i/50i -> Faça o desentrelaçamento Vídeo telecinado (original era película 24 e foi convertido para NTSC) -> inverse telecine Se o vídeo já é progressivo: muito bom! 13
Pré-processamento de áudio e vídeo Recortes TV’s (CRT) não atingem as bordas do vídeo Monitores de computador e TV’s novas sim É comum o sinal de vídeo ter sujeiras (ou mesmo informação) nas bordas Vídeo profissional é criado considerando a “safe area” do vídeo Se o objetivo é vídeo de banda muito baixa (<150Kbps), vale a pena cortar a área for a da “safe area” 14
Pré-processamento de áudio e vídeo Recortes 15
Pré-processamento de áudio e vídeo Ajustes de imagem Brilho e Contraste Telas de computador normalmente tem um alcance maior do que uma TV CRT comum. Use. Na captura analógica, tente regular brilho e contraste para deixar pretos e brancos idênticos às cores web (#000000 e #FFFFFF) Faça todo o possível para reduzir ruídos de entrada (texturas de captura, interferência) 16
Pré-processamento de áudio e vídeo Áudio Normalização -3dB = 90% do volume do PC Não tente eliminar ruído de áudio reduzindo o volume da captura – use filtros de áudio 18
Melhores práticas – Windows Media Progressive download HTTP 1.1 Baixado pelo navegador para área temporária Não é possível fazer seek Tolerane a restrição de banda Ineficiente para a infra-estrutura Não suporta multiple-bitrate Suporte CBR e VBR Streaming • Streaming (rtsp) • Executado pelo media player (pode fazer cache) • Permite seek • Não é tolerante a restrições de banda • Infra otimizada (só envia o que o usuário consome) • Suporta detecção e adaptação de banda • Suporta apenas CBR 19
Melhores práticas – Windows Media Frame Size Silverlight usa “square pixels” (embora possa deformar durante a apresentação) Deve-se converter para o aspect correto (original) do vídeo se os pixels não são quadrados. Ex: DV original: 720x480 Conteúdo 4:3 deve ser convertido para 640x480 (ou divisões) Conteúdo 16:9 deve ser convertido para 832x480 (ou divisões) Janela ótima depende de banda 200-500Kbps: 320x240 – 432x240 1-2Mbps: 640x480 - 832x480 20
Melhores práticas – Windows Media Múltiplas passagens 1-pass x 2-pass: 1-pass lê e faz o encoding direto (exceção de B-frames) 2-pass primeiro analisa todo o vídeo para marcar “dicas” para a segunda passagem (encoding) 2-pass demora mais (aprox 30%), mas leva a resultados melhores CBR x VBR x Peak VBR CBR: bitrate constante (streaming) VBR: bitrate varia (progressive download) Peak VBR: bitrate varia dentro de uma máxima (devices) 21
Melhores práticas – Windows Media Frame Rate Use sempre divisões inteiras da taxa original Quanto maior o frame-rate original, melhor Mito do limite de 30fps. Se a fonte tiver framerate maior, pode gerar (contanto que o output playback seja PCs) Para destinos maiores do que 200Kbps, usar full frame (frame rate de saída = frame rate de entrada) 2x mais frames != 2x mais banda 22
Técnicas avançadas de encoding VC-1 não tem parâmetros para controlar detalhes do processo de encoding (motion vectors, chroma search, b-frames)? - tem mas estão escondidos no registry Opções: Regedit (glup) WM9 Power Toy (uffa) 24
Técnicas avançadas de encoding Thread & multi-core VC-1 usa até 4 threads de encoding simultâneas. Quad 6600 quase 2 vezes mais rápido que Duo 6600 (1.7x nos meus testes) Desligue HT nos seus encoders (OS pensa que são cores distintos) Cada thread tem que ter pelo menos 64pixels. <128p – 1thread ; <256p – 2threads; +256p: 4threads. Logo… 320x240 só usa 2 núcleos. 26
Técnicas avançadas de encoding Vetor de Movimento – Alcance de busca É quando um determinado “bloco” de um frame faz referência a outro bloco do outro frame (anterior por exemplo) em diferente posição Em compressão de vídeo, é o segundo elemento de redundância Quanto maior a área de busca, melhor a compressão, porém mais tempo demora para comprimir (mas não para descomprimir) 27
Técnicas avançadas de encoding Vetor de Movimento – Alcance de busca Opções disponíveis: 128p H / 64p V 256p H / 128p V 1024p H / 256p V (lento) 2056p H / 512p V (muito lento) Macro-bloco adaptativo (varia conforme a detecção de movimento) (lento) Não use adaptativo para conteúdo Live: você pode ter surpresas na sua CPU Chroma search: Verifica onde só muda a cor (mas não a iluminação). Por melhorar (muito, até 20%) a eficiência, mas é lento. 28
Técnicas avançadas de encoding B-Frames Usam como referência os dois frames (anterior e posterior). Por conta disso, têm mais redundância e são mais compressíveis. Em ilhas de edição não linear, é possível inserir B-Frames em frames disruptivos (ex: flashes), de forma que eles não sejam base para nenhum outro frame) 1-B frame está de bom tamanho para encoding web 31
Técnicas avançadas de encoding Filtros Loop Filter: atenua arestas visíveis nos blocos Overlap Filter: atenua arestas em vetores de moviemento que referenciam mesmas regiões (mas deixa imagem mais “borrada”) Median Filter: retira ruído antes de calcular vetores de movimentação. Pode deixar “marcas” de movimentação Denoise Filter: apenas um filtro de redução de ruído baseado em frequência 32