Codec de vídeo para tornar vídeos caseiros menores?

0

Iniciador de vídeo completo aqui.

Eu tenho um monte de vídeos antigos em vários formatos e codecs - como vídeos de aniversário, capturas aleatórias de graduação, etc. Há um grande número de arquivos que totalizam ~ 25 GB no total - todos 720p ou menos provável 480p. Eu gostaria de torná-los menores com perda mínima de qualidade.

Pensei em recodificá-los usando avconv ou ffmpeg - Estou no Ubuntu 15.04 64b e esta postagem do Stack Overflow me diz que elas são realmente diferentes para o meu sistema operacional.

Uma análise que encontrei diz-me wmv como um codec pode me dar o menor tamanho sem muita perda de qualidade. Mas, outros artigos dizem que h264 (habilitado pelo pacote libx264-dev ) permite muito de compressão ( que eu não entendo como fazer com perda mínima de qualidade ).

Como obtenho arquivos menores (com comandos de amostra, de preferência) - wmv ou h264 comprimido?

    
por 3l4ng 03.09.2015 / 21:26

2 respostas

2

Exemplo: vídeo H.264 + fluxo de áudio copiado em Matroska

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

Qualquer coisa WMV é uma piada. Vídeo H.264 através do codificador libx264 é a sua melhor aposta agora. Embora o H.265 pareça bom no papel, as implementações ainda não estão disponíveis para uso típico (a menos que seu tempo seja barato porque é lento).

Você basicamente só precisa alterar -crf e -preset :

  • Use o maior valor -crf que ainda oferece uma qualidade aceitável. Intervalo é uma escala de log de 0 a 51. 0 é sem perdas (arquivos enormes). Cerca de 18 é considerado visualmente sem perdas. 23 é o padrão.

  • Use a predefinição mais lenta para a qual você tem paciência. Eles são: ultra rápidos, super rápidos, muito rápidos, rápidos, médios [padrão], lentos, mais lentos, veryslow, placebo (ignore o placebo; é muito lento para qualquer vantagem significativa potencial sobre o veryslow).

  • Agora use o mesmo -crf e -preset para o restante do seu lote de vídeos.

O áudio está sendo copiado em stream em vez de ser codificado novamente, pois a grande maioria dos dados será de vídeo.

Com tudo isso, devo salientar que o 25G é pequeno e o armazenamento é barato. Se eu estivesse nessa situação, provavelmente apenas manteria os vídeos originais e não me incomodaria em recodificar. Além disso, a recodificação pode não ajudar se os originais foram codificados adequadamente com um formato moderno e eficiente.

Veja também

Wiki FFmpeg: Guia de codificação de vídeo H.264

    
por LordNeckbeard 04.09.2015 / 00:50
0

Lorde Neckbeard está certo. Comperession WMV é ruim. A melhor compressão disponível no momento da escrita é H.265

Exemplo: vídeo H.265 HEVC + fluxo de áudio copiado em Matroska

ffmpeg -i inputfile -c:a copy -c:v libx265 -preset veryfast -x265-params crf=25 -vf scale=-8:ih outputfile.mkv

Citando Lord Neckbeards declarações precisas.

Você basicamente só precisa alterar -crf e -preset para atender aos seus requisitos de qualidade e velocidade:

Use o valor mais alto que ainda dá uma qualidade aceitável. Intervalo é uma escala de log de 0 a 51. 0 é sem perdas (arquivos enormes). Cerca de 18 é considerado visualmente sem perdas. 23 é o padrão.

Use a predefinição mais lenta para a qual você tem paciência. Eles são: ultra rápidos, super rápidos, muito rápidos, rápidos, médios [padrão], lentos, mais lentos, muito baixos, com placebo (ignore o placebo; é muito lento para qualquer vantagem significativa em potencial sobre o veryslow). *

    Now use the same -crf and -preset for the rest of your batch of videos."

As escalas de CRF para x264 e x265 não correspondem. x265 CRF 28 é supostamente equivalente a x264 CRF 23. Mas x265 ainda não está tão maduro em seu desenvolvimento quanto x264, então leve essa equivalência de CRF com uma pitada de sal.

Estou muito feliz com a compactação e a qualidade com as configurações acima. Ajuste-os ao seu gosto.

Quebrando o comando acima:

-c: uma cópia copia o fluxo de áudio sem recodificá-lo. -c: v libx265 escolhe libx265 como o codec de vídeo -crf é explicado acima como é -preset

scale = -8: ih evita distorcer o vídeo além do reconhecível no caso de o vídeo de origem não ser um múltiplo exato de 8 pixels de largura (necessário para alguns arquivos de entrada)

Fontes:

Experiência

Codec de vídeo para tornar vídeos caseiros menores?

>

link

    
por Elder Geek 19.04.2016 / 19:06