@nuttyaboutnatty As mensagens "obsoletas" se aplicavam apenas às antigas, mortas e falsas " ffmpeg" do fork do Libav, não ffmpegdo FFmpeg que retornou em 15.04.
O -1comando dirá ao ffmpeg para escolher automaticamente a altura correta em relação à largura fornecida para preservar a proporção. -1também pode ser usado para largura se você fornecer uma determinada altura.
Uma desvantagem de escala quando se usa libx264é que este codificador requer até mesmo valores e escala pode escolher automaticamente um valor ímpar, resultando em um erro: width or height not divisible by 2. Você pode dizer à balança para escolher um valor par para uma determinada altura (720 neste exemplo):
scale="trunc(oh*a/2)*2:720"
... ou uma determinada largura (1280 neste exemplo):
scale="1280:trunc(ow/a/2)*2"
Observe que sua compilação ffmpeg pode reclamar por não reconhecer -cou -filteropções. Também pode não suportar scale. Nesse caso, você deve usar um ffmpeg mais recente, que pode ser baixado como uma construção estática ou compilado .
Eu tentei ffmpeg -i output.mkv -filter:v scale=720:-1 -acodec copy -threads 12 output_shrink.mkv(em ffmpeg versão 0.8.6-6: 0.8.6-0ubuntu0.12.10.1), mas tenho o erroUnrecognized option 'filter:v'
doug65536
6
Depois de pesquisar na página de manual do ffmpeg várias vezes, descobri que, em vez de -filter:v, a opção parece ter sido alterada para -vf.
precisa saber é o seguinte
2
@ doug65536 -filter:ve -vfambos estão bem. A versão do Ubuntu que você estava usando está desatualizada e desatualizada - não é realmente a do FFmpeg ffmpeg, mas o binário fornecido pelo Libav (o fork do FFmpeg) com o mesmo nome.
slhck
11
@MightyPork provavelmente sua compilação ffmpeg está desatualizada - que problemas acontecem ?. Enfim, isso realmente me ajudou (com ffmpeg version 2.4.10) a reduzir o tamanho de alguns vídeos enormes para liberar espaço - obrigado!
Wilf
4
'-c' é a abreviação de -codec, ': a' especifica o (s) fluxo (s) de áudio, 'copy' especifica o codec de cópia, que copia o (s) fluxo (s) (nesse caso, o áudio) sem reencodificar. Basicamente, os fluxos de áudio passarão. Isso é comum quando você está manipulando apenas o fluxo de vídeo.
jimhark
14
Eu uso os seguintes comandos para redimensionar vídeos e imagens. Para largura e altura fixas -
ffmpeg
pode ser descontinuado, veja aqui e aquiffmpeg
" do fork do Libav, nãoffmpeg
do FFmpeg que retornou em 15.04.Respostas:
O exemplo mais básico é este:
O uso do
scale
filtro fornecerá mais flexibilidade:O
-1
comando dirá ao ffmpeg para escolher automaticamente a altura correta em relação à largura fornecida para preservar a proporção.-1
também pode ser usado para largura se você fornecer uma determinada altura.Uma desvantagem de escala quando se usa
libx264
é que este codificador requer até mesmo valores e escala pode escolher automaticamente um valor ímpar, resultando em um erro:width or height not divisible by 2
. Você pode dizer à balança para escolher um valor par para uma determinada altura (720 neste exemplo):... ou uma determinada largura (1280 neste exemplo):
Observe que sua compilação ffmpeg pode reclamar por não reconhecer
-c
ou-filter
opções. Também pode não suportarscale
. Nesse caso, você deve usar um ffmpeg mais recente, que pode ser baixado como uma construção estática ou compilado .fonte
ffmpeg -i output.mkv -filter:v scale=720:-1 -acodec copy -threads 12 output_shrink.mkv
(em ffmpeg versão 0.8.6-6: 0.8.6-0ubuntu0.12.10.1), mas tenho o erroUnrecognized option 'filter:v'
-filter:v
, a opção parece ter sido alterada para-vf
.-filter:v
e-vf
ambos estão bem. A versão do Ubuntu que você estava usando está desatualizada e desatualizada - não é realmente a do FFmpegffmpeg
, mas o binário fornecido pelo Libav (o fork do FFmpeg) com o mesmo nome.ffmpeg version 2.4.10
) a reduzir o tamanho de alguns vídeos enormes para liberar espaço - obrigado!Eu uso os seguintes comandos para redimensionar vídeos e imagens. Para largura e altura fixas -
e se você deseja manter a proporção, dê a altura como -1 e ela será redimensionada automaticamente com base na largura -
Se você deseja dimensionar com base no tamanho da entrada, por exemplo, digamos, reduza a largura / altura da metade do que você pode
NOTA :
A versão estática pode ser baixada em - https://johnvansickle.com/ffmpeg/
Documentação: https://ffmpeg.org/ffmpeg.html#filter_005foption
fonte