H.264 ou VP9 para codificação para o YouTube?

15

Faço curtas-metragens que distribuo através do YouTube. Sei que o YouTube usa o VP9 para streaming, mas o YouTube ainda recomenda o upload com o h.264. Faz mais sentido para mim fazer upload em um formato semelhante ao que será transmitido pelo YouTube, mas talvez esteja faltando alguma coisa.

Além disso, o upload de um codec de qualidade superior como DNxHR ou Prores (não estou preocupado com largura de banda ou tempo de processamento) preservaria melhor a qualidade do vídeo após a codificação do YouTube?

KC McLaughlin
fonte
Parece que o YouTube codifica vídeos também para o H.264. Você pode transmitir esses vídeos no Google Chrome, se você usar a extensão h264ify.
jarno

Respostas:

13

tl; dr: Como o YouTube recodifica todos os vídeos, independentemente do formato de upload, ele realmente não é tão importante. Exporte seu vídeo com uma alta taxa de bits para preservar a qualidade. Veja também minha resposta aqui sobre perda de qualidade causada pelo Youtube.

Resposta longa: cada recodificação de um vídeo em um formato compactado reduz a qualidade. Geralmente, isso significa que você perderá a qualidade em dois pontos: quando você exporta o vídeo editado do seu software de edição e quando faz o upload do vídeo exportado para o Youtube, quando é reencodificado para um formato altamente compactado e compatível com streaming. Você não tem controle sobre a segunda etapa; portanto, o que você pode fazer para obter a máxima qualidade possível é perder a menor qualidade possível durante a primeira codificação.
Em teoria, isso significaria exportação para um perceptually (embora tecnicamente não) formato não comprimido como a Apple ProRes ou DNxHD como você sugeriu. No entanto, infelizmente, o YouTube não suporta esses formatos, então você precisará usar um formato compactado. Para minimizar a perda de qualidade, defina uma taxa de bits alta nas configurações de exportação (supondo que o tempo de renderização e upload não seja um problema. Se houver, você precisará encontrar um meio termo; exportar com uma taxa de bits superior à taxa de bits de o material de origem não produzirá mais qualidade, o que é tão alto quanto eu gostaria). Se você fizer isso, não importa realmente qual codec você usa, ambos são altamente eficientes em relação à relação tamanho / qualidade do arquivo (o VP9 provavelmente é um pouco mais, mas isso é mais importante quando você está lidando com taxas de bits baixas). O YouTube recomenda o H264, então é isso que eu usaria. No entanto, o melhor conselho que posso lhe dar é experimentar os dois, ou seja, exportar o mesmo vídeo que o H264 e o VP9 com taxas de bits / outras configurações idênticas, fazer o upload para o youtube e verificar qual é o melhor para você.

MoritzLost
fonte
6
O ProRes e o DNxHD não são descompactados, mas são formatos compactados com perda. No entanto, ambos são geralmente considerados perceptivamente sem perdas.
Llogan 5/09/15
Opa, você está certo, obrigado! Eu vou corrigir isso imediatamente.
MoritzLost
Enquanto a maioria da idéia estiver correta, o YouTube faz Prores apoio. Observe no link que ele publica nos formatos compatíveis com o YouTube que os arquivos .mov Prores são armazenados em um wrapper .mov e não têm extensão de arquivo exclusiva para o codec. Provavelmente o mesmo ocorre com arquivos DNx em um wrapper .mov (embora talvez não seja .mxf).
7

O YouTube recodificará o que você der. Atualmente, o VP9 está muito lento para codificar. Portanto, a melhor opção é:

  • Forneça a filmagem original ou, se não for aceito pelo YouTube ou for grande demais para carregar, então ...

  • Recodifique para H.264

ffmpeg

ffmpegaceitará praticamente qualquer entrada e fornecerá uma saída de ótima qualidade. O desenvolvimento é muito ativo, portanto, é melhor usar uma versão recente que você pode baixar para Windows, OS X ou Linux.

Comandos de exemplo

Codifique o vídeo H.264, fluxo de cópia de áudio, no contêiner Matroska:

ffmpeg -i input.avi -c:v libx264 -preset medium -crf 18 -c:a copy output.mkv

Codifique o vídeo H.264, áudio Vorbis, no contêiner Matroska:

ffmpeg -i input.avi -c:v libx264 -preset medium -crf 18 -c:a libvorbis -q:a 5 output.mkv
  • -crf 18é considerado praticamente sem perda visual. O intervalo é uma escala de log de 0 a 51. 0 é sem perdas (arquivos enormes), 23 é o padrão.

  • -presetcontrola a eficiência da codificação e, portanto, afeta a velocidade da codificação. Geralmente, é recomendável usar a predefinição mais lenta para a qual você tem paciência ou, em caso de dúvida, usar medium(o padrão). As opções são: ultra-rápida, super-rápida, muito rápida, mais rápida, rápida, média, lenta, mais lenta, muito lenta.

  • Seu player pode não gostar da saída, mas o YouTube gostará. Se for esse o caso, basta usar um reprodutor sensato, como o VLC.

Veja também

llogan
fonte
0

A maioria dessas respostas está desatualizada. O YouTube realmente recodifica nossos vídeos no VP9, ​​fazendo com que os vídeos em HD pareçam bastante melhores em termos de qualidade. É somente quando você faz o upload do vídeo em sua codificação original que parece degradado com base na compactação. Pode levar um dia ou uma semana para o YouTube recodificar nossos vídeos em HD no Vp9. Eu sou um youtuber e posso realmente ver a diferença

Cara Lógico
fonte
"É somente quando você carrega o vídeo em sua codificação original que parece degradada com base na compactação. Pode levar um dia ou uma semana para o youtube recodificar os vídeos em HD no Vp9." Eu suspeito que isso é algo que o YouTube publicaria. Você pode fornecer uma fonte?
User24601