Fundo:
Estou tentando compactar faixas bluray sem perdas para um tamanho mais amigável para armazenamento, sem uma enorme perda de qualidade.
O que venho fazendo até agora:
Explorando opções de compactação com ffmpeg. Principalmente em torno de h264 com o argumento -crf.
Restrições:
Linux e ferramentas de código aberto. Por favor, não sugira nada específico da Apple / Microsoft.
Questão:
A maioria das opções que vejo em relação à compactação envolveu taxas de bits ou tamanhos de saída fixos. Estou procurando um codec de vídeo que tenha mais de um "limite de qualidade". Não me importo se partes mais complexas da faixa exigirem mais bytes para oferecer o mesmo nível de qualidade visual. Existe algo assim?
Editar:
Estou tendo boa sorte com o argumento -qscale e libxvid. Se não receber outras sugestões, seguirei em frente.
fonte
Respostas:
Você está no caminho certo com o
-crf
x264 (o melhor codificador H.264) e ele deve fornecer o "limite de qualidade" que você está procurando. O CRF é recomendado se você deseja uma certa qualidade de saída e tamanho do arquivo de saída é menos importante. Por outro lado,-b:v
é recomendável executar uma codificação de duas passagens com o objetivo de um tamanho de arquivo de saída específico e a qualidade é menos importante.A codificação HEVC / H.265 com x265 deve seguir as mesmas diretrizes básicas. Geralmente, você obtém uma melhor compactação em troca de um tempo de codificação mais longo.
1. Escolha uma predefinição
Uma predefinição é uma coleção de opções que fornecerão uma certa velocidade de codificação: taxa de compactação . Uma predefinição mais lenta fornecerá melhor compactação (compactação é a qualidade por tamanho de arquivo). O uso geral é usar a predefinição mais lenta para a qual você tem paciência. Presets atuais, a fim de velocidade decrescente são:
ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow, placebo
. Ignoreplacebo
, pois é uma piada e uma perda de tempo (ajuda no máximo ~ 1%). Se estiver codificando muito lentamente, use uma predefinição mais rápida.2. Escolha um valor de CRF
O intervalo para x264 é de 0 a 51, onde 0 é sem perdas, 23 é o padrão e 51 é o pior possível. Um valor mais baixo é uma qualidade mais alta. Uma faixa subjetivamente sã é de 18 a 28. Considere ~ 18 como visualmente sem perdas: deve ser igual à entrada, mas não é tecnicamente sem perdas. Aumentar o valor de CRF +6 é aproximadamente metade da taxa de bits, enquanto -6 é aproximadamente duas vezes a taxa de bits.
O uso geral é escolher o
-crf
valor mais alto que ainda forneça uma qualidade aceitável. Ou seja, se a saída parecer boa, tente um valor mais alto e, se parecer ruim, escolha um valor mais baixo.3. Codificar
Use essas configurações para o restante dos seus vídeos. Todos devem acabar com a mesma qualidade.
Exemplo
Veja também
fonte
-ssim 1 -psnr
no ffmpeg, o cmdline medirá algumas métricas de qualidade de vídeo (que nem sempre correspondem à qualidade visual da percepção humana). Pode ser útil ter uma idéia de quanto o seu vídeo está sendo confundido.Talvez isso seja útil K-Lite Codec Pack Quando você instala, há um pacote de codecs para que você possa escolher o que melhor se adequa a você. Esta é a lista de codecs: • Filtros de decodificação de vídeo DirectShow: - ffdshow [versão 1.2.4475] - Vídeo LAV [versão 0.51.3] (- Decodificação de: H264, VC1 (somente progressivo), MPEG2, MPEG4-ASP, MS -MPEG4, MJPEG, VP8, RV40, WMV1 / 2/3) - On2 VP7 [versão 7.0.10.0] - decodificador DScaler5 MPEG-2 [versão 0.0.6.0 IVTC mod]
fonte