Estou tentando dimensionar um vídeo com o FFmpeg com o seguinte comando:
ffmpeg -i input.jpg -vf scale="'if(gt(a,4/3),320,-1)':'if(gt(a,4/3),-1,240)'" output_320x240_boxed.png
Isso é feito na íntegra no wiki do FFmpeg, no link .
Quando copio e colo no bash recebo o seguinte erro:
[scale @ 0x23a0980] [Eval @ 0x7fff165851e0] Missing ')' or too many args in 'if(gt(a,4/3),320,-1)'
[scale @ 0x23a0980] [Eval @ 0x7fff165851e0] Missing ')' or too many args in 'if(gt(a,4/3),-1,240)'
Error when evaluating the expression 'if(gt(a,4/3),-1,240)'
Error opening filters!
Eu tentei todas as combinações de escape das várias vírgulas, aspas e parênteses que eu posso imaginar com resultados variados, mas o ponto principal é que não importa o que eu faça, o FFmpeg não avalia a expressão corretamente e gera um erro . Alguém sabe o que estou fazendo errado?
Saída completa:
ffmpeg version 0.8.10-6:0.8.10-0ubuntu0.13.10.1, Copyright (c) 2000-2013 the Libav developers
built on Feb 6 2014 20:53:28 with gcc 4.8.1
*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
Input #0, image2, from 'input.jpg':
Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
Stream #0.0: Video: mjpeg, yuvj420p, 535x346 [PAR 100:100 DAR 535:346], 25 tbr, 25 tbn, 25 tbc
Incompatible pixel format 'yuvj420p' for codec 'png', auto-selecting format 'rgb24'
[buffer @ 0x100b400] w:535 h:346 pixfmt:yuvj420p
[scale @ 0x100a980] [Eval @ 0x7fff33214ee0] Missing ')' or too many args in 'if(gt(a,4/3),320,-1)'
[scale @ 0x100a980] [Eval @ 0x7fff33214ee0] Missing ')' or too many args in 'if(gt(a,4/3),-1,240)'
Error when evaluating the expression 'if(gt(a,4/3),-1,240)'
Error opening filters!