Não é uma limitação absoluta. Aplica-se quando o formato de pixel de saída tem planos cromados subamostrados, como yuv420p
, yuv422p
..etc.
Se o seu processo subseqüente puder manipular yuv444p, você pode simplesmente executar
ffmpeg -i "$f" -vf 'scale=-3:300,format=yuv444p' \
-r 24 -c:v libx264 -preset "medium" -map 0:a -map 0:v -map 0:s -map_metadata 0 \
-c:a aac -ac 1 -c:s copy -y "$partname"
Mas se ele puder manipular somente yuv420p
, você poderá preencher a saída da escala com preto e fazer com que seu aplicativo descarte a última fatia com largura de 1 px.
ffmpeg -i "$f" -vf 'scale=-3:300,pad=iw+1:ih' \
-r 24 -c:v libx264 -preset "medium" -map 0:a -map 0:v -map 0:s -map_metadata 0 \
-c:a aac -ac 1 -c:s copy -y "$partname"