Cópia em fluxo
Quando você chamar -c:v:1 copy
, o FFmpeg usará o bitstream de vídeo existente e a cópia de fluxo . O fluxo de bits de video é apenas encapsulado no recipiente exterior, e. WMV, AVI ou MP4 - seu bitstream de vídeo real é msmpeg4
e permanecerá assim.
Se você quiser saber mais sobre o que eu estou falando, veja aqui: O que é um codec (por exemplo, DivX?) e como ele difere de um formato de arquivo (por exemplo, MPG)?
Ao copiar o fluxo de bits, o FFmpeg não precisa realmente decodificar e recodificar o vídeo real. Ele só precisa mesclar o fluxo de bits do vídeo em um novo formato de contêiner, que geralmente é uma operação bastante simples e, portanto, não demora muito.
Codificação
Em contrapartida, se você chamar -vcodec libx264
(ou -c:v libx264
, a sintaxe que você deve usar porque vcodec
foi preterido), o FFmpeg será forçado a decodificar o fluxo de bits de vídeo de msmpeg4
para um formato bruto , em seguida, canalize-o em x264
, um codificador H.264.
O x264 é rápido, mas ainda assim, a codificação de vídeo leva tempo, especialmente quando é um conteúdo de 720p. E isso pode levar mais de uma hora, especialmente se sua entrada já tiver mais de uma hora. Além disso, sua CPU pode não ser a mais rápida. Esta é a principal razão pela qual os codificadores MPEG-4 Visual mais antigos, como o XviD, ainda estão por aí e são muito populares: eles levam menos tempo para codificar do que os codecs H.264. Eles podem não oferecer o melhor desempenho em termos de qualidade x tamanho de arquivo, mas são rápidos.
Isso tudo dito: você pode acelerar a codificação x264, forçando uma predefinição. As predefinições são configurações de otimização do codificador e variam de: ultra rápido, super rápido, muito rápido, rápido, médio, lento, mais lento, mais baixo. Seu comando poderia ficar assim:
ffmpeg -i input.wmv -c:v libx264 -preset ultrafast out.mp4
Ele deve ser executado mais rápido do que sem a predefinição. A única desvantagem é que ela não alcança uma qualidade tão boa para as mesmas taxas de compactação em comparação com, por exemplo, -preset veryslow
.
Além disso, não há muito que você possa fazer além de investir em uma CPU veloz e ter certeza de que está executando uma versão recente do FFmpeg com suporte a x264.
Para mais informações, consulte FFmpeg Wiki: Guia de codificação H.264 .