É melhor ter mais quadros B ou mais quadros P para streaming de vídeo?

Estou tentando recodificar (H.264) alguns vídeos da minha biblioteca de filmes para colocá-los em um NAS e transmiti-los para um smartTV por WiFi.

Para fazer isso, estou usando o HandBrake no MacOS e – entre meus experimentos – percebi que ele promove mais quadros B.

Se bem entendi, esses B-frames precisam de mais tempo de CPU e um buffer maior na memória para serem elaborados adequadamente e não tenho certeza se um dispositivo como uma smartTV geral (de alguns anos) pode tirar proveito disso (com fontes 1080p, usei o 4.1 de alto perfil).

Aqui está um exemplo plotado de FFprobe na mesma fonte de vídeo (1080p) antes e depois de re – codificação (e um pequeno filtro para reduzir o ruído) na taxa de bits desejada (VBR de 2 passagens): Antes Depois

O que você acha ou sugere?

Eu pergunto porque o tamanho do arquivo resultante é muito semelhante e não consigo notar a diferença (além dos quadros mais barulhentos).

Obrigado desde já!

Resposta

" P: É melhor ter mais quadros B ou mais quadros P para streaming de vídeo? ".

De: https://en.wikipedia.org/wiki/Video_compression_picture_types

Os três principais tipos de imagem usados nos diferentes algoritmos de vídeo são I, P e B. Eles são diferentes nas seguintes características:

Os quadros I são os menos compactáveis, mas não ” exigem outros quadros de vídeo para decodificar.

Os quadros P podem usar dados de quadros anteriores para descompactar e são mais compactáveis do que quadros I.

Os quadros B podem usar tanto os anteriores quanto frames para frente para referência de dados para obter a maior quantidade de compactação de dados.

Portanto, por uma questão de melhor compactação e qualidade igual: os quadros B são melhores.

No seu caso melhor significa que sua TV será capaz de decodificar e reproduzir adequadamente seus vídeos depois de passar horas / dias transcodificando-os.

Portanto, tente um vídeo usando B-Frames, se houver falhas ou você não conseguir retroceder corretamente, use P-Frames. Tenha cuidado ao usar um grande número de quadros B, pois isso usará mais buffer.

O " tempo de CPU " que você se refere se aplica ao seu computador, para o ASIC de decodificação de hardware da TV não deve ser um problema. Quanto à memória, o inverso é verdadeiro, seu computador terá memória suficiente para muitos B-Frames, mas sua TV pode ter memória suficiente para apenas alguns.

O Blu-Ray usa 3 B-Frames, então sua TV deve aceitar tantos.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *