Maximizei o espaço de armazenamento que tenho e gostaria de fazer algum espaço.
Eu pensei em converter todos os arquivos para mkv e reduzir os arquivos de alta resolução para uma resolução mais baixa.
Então, para converter mp4 para mkv, existe
ffmpeg -i input.mp4 -vcodec copy -acodec copy output.mkv
E para reduzir há
ffmpeg -i input.mp4 -vf scale=$w:$h <encoding-parameters> output.mp4
mas eu preciso converter todos os arquivos e não um único mp4, preciso remover o arquivo de entrada depois de processá-lo e tenho que fazer isso apenas para arquivos acima de uma determinada resolução. Também gostaria de manter a proporção e não sei se isso está fazendo isso.
Existe uma ferramenta chamada video-dieta que faz parte disso.
Isto é o que eu gostaria de fazer
Recursively find every file under the current directory
If the file resolution has a height equal or greater to a given height.
Convert the file to mkv if it's in another format avi, mp4, flv, etc
Downscale to a lower resolution height, keeping the aspect ratio.
Talvez eu também deva diminuir a taxa de quadros para 24 fps?
Se houver uma maneira melhor, eu gostaria de ouvi-la.
Aqui está um script para você começar. Você provavelmente desejará modificar isso para atender às suas necessidades, adicionar opções ao ffmpeg se desejar alterar a taxa de quadros etc.
Observe que há uma condicional lá verificando se o arquivo já é um .mkv, mas na verdade não estou fazendo algo diferente com eles, então a condicional é meio inútil. Está lá porque sua pergunta fez parecer que você queria fazer algo diferente com eles, embora eu não tenha certeza do porquê. O FFMPEG pode dimensionar e converter ao mesmo tempo.
Mas se você quiser fazer algo diferente, altere a linha ffmpeg para quando a condicional for verdadeira para algo diferente.
Isso pode ser meio exagerado, e pode haver maneiras de simplificá-lo, mas é o que eu faria.