O que é F4V?

F4V é o contêiner de vídeo Flash da Adobe para conteúdo H.264 e AAC, baseado no formato de arquivo de mídia base ISO (ISO/IEC 14496-12), a mesma família estruturada em caixas do MP4. O Flash Player podia reproduzir arquivos F4V a partir da versão 9 Update 3 (9.0.115.0).

Como funciona o F4V

O F4V armazena trilhas em uma hierarquia de caixas tipadas, o que torna sua organização mais próxima do MP4 do que do formato FLV anterior: uma caixa de tipo de arquivo (ftyp), uma caixa de filme (moov) que contém as tabelas de amostras e uma caixa de dados de mídia (mdat). O Flash Player reproduzia qualquer uma das ordens de moov e mdat, mas a especificação recomenda moov primeiro para uma inicialização mais rápida e streaming progressivo. A Adobe adicionou suas próprias camadas à estrutura ISO: caixas de tags de autor, título, descrição e direitos autorais, uma caixa de metadados XMP e, a partir da versão 10.1 do Flash Player, caixas para pontos de sinalização, criptografia e streaming HTTP. O contêiner e a compressão usada dentro dele são questões de compatibilidade distintas, portanto a migração começa pela inspeção das trilhas de cada arquivo.

Informações essenciais

  1. Inspecione as trilhas antes de escolher uma conversão. A especificação da Adobe permite mais do que H.264 e AAC em um arquivo F4V: áudio MP3, vídeo On2 VP6, quadros estáticos GIF, PNG e JPEG, trilhas de texto e trilhas de dados ActionScript Message Format são todos listados como tipos de mídia compatíveis. Um plano que trate todo .f4v como H.264 mais AAC processará esses arquivos incorretamente.
  2. A marca é um indício, não uma prova. A especificação define f4v (com um espaço no final) como a marca principal na caixa de tipo de arquivo, e o multiplexador F4V do FFmpeg 8.0 grava essa marca. A mesma especificação informa que o Flash Player não impunha restrições à caixa de tipo de arquivo e tentava reproduzir tudo o que conseguia decodificar, portanto não há garantia de que um arquivo disponibilizado como F4V contenha essa marca. O FFmpeg também não depende da marca: ele lê .f4v com o mesmo demultiplexador que usa para MP4 e MOV.
  3. Para trilhas H.264, AAC e MP3, um reempacotamento em MP4 pode evitar a recodificação: o multiplexador MP4 do FFmpeg 8.0 tem tags de codec para os três. Ele não tem nenhuma para VP6, portanto uma trilha VP6 precisa ser recodificada para saída em MP4. Uma tag não é a única condição: o mesmo multiplexador rejeita MP3 com taxa de amostragem abaixo de 16 kHz, a menos que sua configuração strict seja reduzida abaixo do normal, portanto verifique também as taxas de amostragem de MP3. As trilhas de imagens estáticas, texto e dados AMF não foram avaliadas para este verbete, portanto teste-as separadamente. Isso descreve o código-fonte do multiplexador de uma ferramenta, conforme verificado na versão 8.0, e não o que o padrão MP4 permite, e uma cópia bem-sucedida não comprova que determinado player decodifique o resultado. Após um reempacotamento, verifique a duração, a sincronização de áudio e vídeo, a navegação pela linha do tempo e quaisquer tags que você precise manter.
  4. Arquivos protegidos e conteúdo de streaming HTTP são casos distintos. Arquivos protegidos usam entradas de amostras criptografadas (encv, enca) com caixas DRM da Adobe, e a caixa de esquema da especificação identifica o sistema de DRM que gerencia as chaves, portanto as amostras não podem ser decodificadas sem essas chaves. O streaming HTTP da Adobe constrói uma apresentação a partir de um manifesto F4M e arquivos de segmentos (F4F). A especificação define um segmento como um arquivo F4V completo que contém fragmentos em um único nível de qualidade, e uma apresentação pode ser dividida em vários segmentos. Um fragmento isolado não é um arquivo F4V completo, pois as caixas ftyp e moov não são permitidas nele. Assim, um arquivo .f4f pode conter apenas parte de uma apresentação, e não foi testado para este verbete se determinada ferramenta lê segmentos F4F.

Quando o F4V é importante

Os desenvolvedores encontram F4V ao migrar mídia de sistemas de entrega da era do Flash. A Adobe encerrou o suporte ao Flash Player em 31 de dezembro de 2020 e bloqueou a execução de conteúdo Flash no player a partir de 12 de janeiro de 2021, portanto esses acervos precisam migrar para players que não dependam de Flash. Se um reempacotamento em MP4 é suficiente ou se uma recodificação é necessária depende das trilhas dentro de cada arquivo, não do nome .f4v.

Como a Transloadit ajuda com F4V

A tabela de formatos de áudio/vídeo da Transloadit, que abrange Robots baseados em FFmpeg, como /video/encode, lista f4v (F4V Adobe Flash Video) como um formato que esses Robots podem gravar. A linha mostra Read como No porque o FFmpeg não tem um demultiplexador chamado f4v: sua documentação de formatos registra a extensão f4v no demultiplexador combinado de MOV, MP4 e 3GP.

A tabela informa o que cada stack do FFmpeg pode ler e gravar, não um resultado testado para cada codec dentro de um arquivo F4V enviado por upload. O comportamento do multiplexador descrito nos fatos principais foi verificado no código-fonte do FFmpeg 8.0, não em um stack da Transloadit. Processe um arquivo legado representativo na sua Assembly antes de depender desse comportamento.

Explore os formatos de arquivo e os recursos de compressão da Transloadit

Fontes

Transforme conhecimento sobre mídia em um pipeline funcional

Conecte uploads, processamento, IA, armazenamento e entrega por meio de uma única API declarativa, com o stack de codificação, o ajuste de escala e as constantes mudanças de formatos gerenciados para você.

Experimente a Transloadit gratuitamente