O que é um perfil?
Um perfil H.264 define mais ou menos quais "campainhas e assobios" o codificador pode usar ao compactar seu vídeo - e há muitos recursos H.264 que o codificador pode ativar. Quais é permitido ativar é definido pelo perfil. Os perfis garantem a compatibilidade entre dispositivos que possuem diferentes recursos de decodificação. Com os perfis, o codificador e o decodificador concordam com um conjunto de recursos com os quais ambos podem lidar.
O que os diferentes perfis fazem?
Para uma lista detalhada, consulte Perfis H.264 na Wikipedia.
Geralmente, o perfil da linha de base restringe o codificador apenas a certos recursos básicos. Os vídeos codificados com o perfil da linha de base podem ser facilmente reproduzidos, mesmo em dispositivos com menor poder computacional, como smartphones mais antigos. Os telefones Android e iOS, por exemplo, reproduzem oficialmente apenas vídeo codificado com o perfil de linha de base, mas não Alto ou Principal . Isso mudou um pouco nos últimos anos, onde mais e mais telefones podem realmente reproduzir vídeo principal ou de alto perfil, mas ainda assim as recomendações oficiais não mencionam isso .
Principalmente para aplicativos de baixo custo, esse perfil é normalmente usado em videoconferência e aplicativos móveis. Corresponde ao subconjunto de recursos que são comuns entre os perfis de linha de base, principal e alto
Principal e Alto, basta adicionar recursos a isso. Especialmente o alto perfil é frequentemente usado na transmissão:
O perfil principal para aplicativos de transmissão e armazenamento de disco, principalmente para aplicativos de televisão de alta definição (por exemplo, esse é o perfil adotado pelo formato de armazenamento Blu-ray Disc e pelo serviço de transmissão DVB HDTV).
As fatias B são, por exemplo, permitidas apenas no perfil principal e acima. Eles podem ser usados para economizar largura de banda, mas são mais difíceis de decodificar, e é por isso que alguns dispositivos podem não suportá-los.
O que isso tem a ver com qualidade?
O perfil apenas influencia indiretamente a qualidade. Alguns recursos de perfis mais altos podem permitir que você obtenha a mesma qualidade com tamanhos de arquivo mais baixos em comparação com perfis mais baixos.
Por exemplo, a codificação de entropia CABAC ( Principal e Alta ) é mais eficiente que a CAVLC ( Linha de Base ). Também é computacionalmente mais intensivo. Portanto, se você der ao codificador uma certa taxa de bits para gastar, ele poderá criar um vídeo de melhor qualidade com o CABAC do que com o CAVLC, pois ele obtém uma compressão muito melhor.
Isso também explica por que você alcançou um tamanho de arquivo menor com o perfil Alto - obviamente, de alguma forma, você define um nível de qualidade constante e o codificador pode usar técnicas de compressão mais avançadas para criar um arquivo de vídeo com a mesma qualidade que o perfil da Linha de Base , mas com tamanhos menores. Tamanho.
Então ... qual você deve usar?
Algumas regras básicas:
- Perfil de linha de base se você estiver segmentando dispositivos móveis antigos
- Perfil principal ou alto, se você estiver segmentando streaming da Web, armazenamento de longo prazo, PCs ou Macs, criação de Blu-ray, etc.