Qual é o problema do Handbrake?
Quando você estiver usando o Handbrake para converter de um formato de contêiner para outro (por exemplo, MKV para MP4 no seu caso), o Handbrake recodificará o vídeo. Consulte também a respectiva solicitação de recurso que teria ativado a passagem de vídeo:
Desculpe, a adição da transmissão de vídeo não está planejada. O HandBrake foi projetado para ser um transcodificador de vídeo. Não foi projetado para permitir a passagem.
Portanto, sempre que você trocar de contêiner com o Handbrake, seu vídeo será recodificado, o que significa que a) leva tempo eb) pode causar perda de qualidade.
Eu tenho que recodificar? Eu não poderia simplesmente trocar o contêiner?
Como a passagem não é possível, pergunte-se: preciso recodificar? Se você deseja alterar apenas o contêiner de MKV para MP4, normalmente não precisa codificar nada , basta alterar o "agrupamento" ao redor do vídeo. Isso não perde qualidade e será um processo muito mais rápido.
Você pode trocar contêineres facilmente com o FFmpeg - basta solicitar a cópia dos fluxos de vídeo e áudio:
ffmpeg -i input.mkv -c copy -map 0 output.mp4
Existem também ferramentas como o MP4Box que também podem criar contêineres MP4 - o mesmo existe para o MKV com o MKVtoolnix .
No entanto, há uma grande ressalva: isso funciona apenas se os codecs de áudio e vídeo forem suportados no contêiner de destino (MP4), como é o caso do H.264 / H.265 e AAC, por exemplo, mas não para muitos outros. Além disso, o suporte ao formato de legenda para MP4 é diferente do MKV e, na verdade, é bastante restrito; portanto, esse comando pode falhar.
Se esse comando não funcionar, e se sua entrada usar codecs incorretos para o contêiner de saída, você provavelmente precisará recodificar . Nesse caso, os codecs serão adaptados ao contêiner de saída.
Para entender por que isso é necessário, é importante aprender a diferença entre codecs de vídeo e contêineres . Isso ajudará você a entender por que a alteração de contêineres funciona e por que os contêineres MP4 e MKV têm pouco a ver com codecs de vídeo.
Por que a recodificação está ruim, afinal?
Você (geralmente) não pode manter a qualidade total ao codificar um vídeo que já foi codificado. Isso ocorre porque o original já foi compactado descartando informações e, ao fazê-lo novamente, você está apresentando perda de geração .
Freqüentemente, você deseja recodificar o vídeo quando, por exemplo, suas dimensões mudarem, ou precisa de uma taxa de bits específica para compactar seu fluxo de vídeo ou o vídeo original usa um codec que não pode ser reproduzido por qualquer motivo.
Portanto, se você carregar seu vídeo MKV no Handbrake e recodificá-lo com x264, o codificador H.264 o Handbrake usa, armazena-o em um contêiner MP4, você perde qualidade independentemente do que for, a menos que defina a taxa de bits ou fator de qualidade tão alto que você não verá (realmente) a diferença. Mas então, o tamanho do arquivo também será maior.
No caso ideal, você converteria o vídeo em um vídeo não compactado, o que não perderá nenhuma qualidade, mas fornecerá arquivos com uma dúzia de Gigabytes de tamanho, mesmo por alguns minutos de material de vídeo.
Ok, mas eu realmente tenho que recodificar!
Se você realmente precisar recodificar, certifique-se de não definir uma taxa de bits média, mas escolha um fator de taxa constante , que é algo como "qualidade constante". Assim como a "taxa de bits variável" do MP3: ele garantirá o gasto dos bits nas partes de vídeo que precisam deles e melhorará a qualidade geral - no mesmo tamanho de arquivo.
Os valores de CRF sã são de 19 a 24, onde menor significa "melhor". Portanto, você pode tentar com um fator de taxa de 19. Além disso, certifique-se de definir o perfil "Alto", que permite ao codificador usar todos os sinais e assobios e otimizar a qualidade para uma determinada taxa de bits.