A sintaxe mf: // diz que você pode passar um arquivo de lista, assim você pode passar uma lista de arquivos, classificados por data, dessa forma.
Para classificar seus arquivos, se os nomes forem simples o suficiente e eles estiverem todos em um diretório, ls -t
fará: ls -t *.png > file-list
.
Então mencoder mf://@file-list -mf fps=1/3:type=png …
deve fazer isso (você pode verificar facilmente usando mplayer
no lugar do mencoder).
Se você precisa lidar com coisas mais complicadas (por exemplo, subdiretórios), você pode usar o comando find e perl juntos. Estou ignorando a possibilidade de novas linhas nos nomes dos arquivos, pois duvido que mencoder
possa lidar com isso:
find -type f -name '*.png' | perl -E 'chomp(@a = <>); @a = sort { -M $a <=> -M $b } @a; $,="\n"; say @a'
Isso não é particularmente eficiente (ele chama stat
mais do que o necessário), mas é bom o suficiente, a menos que você tenha muitos arquivos. A eficiência poderia ser melhorada por uma manobra de Orc, Schwartzian, etc., se você precisar de milhares de arquivos.