Como criar um vídeo a partir de imagens com o nome do arquivo aaaa-MM-dd: HH: mm: ss

1

Eu tenho muitas imagens (> 11.000) e quero criar um vídeo com o avconv como timelaps. Com o ffmpeg eu fiz o truque com:

ffmpeg -r 25 -i "/mnt/stora/dahopi/Pictures/Gartencam/%*.jpg" \
       -vf scale=800:600 -c:v mpeg4 -vtag xvid -qscale:v \
       10 gartencam.avi

Mas com o avconv isso não funciona. Eu acho que o problema é o seletor de arquivos %*.jpg e gostaria de saber se tenho uma chance de criar o vídeo sem modificar o nome do arquivo.

Se não - você conhece outra ferramenta para fazer o truque?

    
por DaHopi 02.09.2016 / 20:59

1 resposta

0

Eu tenho medo que você esteja certo sobre o erro ser devido ao seletor de arquivos. Citando o manual:

% bl0ck_qu0te%

Se você quiser, pode começar com um número inteiro maior que 0:

% bl0ck_qu0te%

Você não precisa realmente renomear: você pode criar links simbólicos com o comando ln , o que levaria muito pouco espaço no disco.

Eu aconselho você a fazer um backup de suas fotos antes de tentar scripts

Você pode tentar usar este script bash:

#! /bin/bash
INPUTDIR="$1"
OUPUTDIR="$2"

SORTEDLIST="$(cd "$INPUTDIR" && ls -1 | sort -n)"

COUNT="$(echo -e "$SORTEDLIST"|wc -l)"
echo "Found $COUNT files"

ZEROES="$(echo -e "$COUNT"|wc -c)" # (will count \n)
echo "Using $ZEROES characters to display integers"

COUNTER="0"
for file in $SORTEDLIST; do
    ID="$(printf "%0${ZEROES}d" "$COUNTER")"

    echo "ln -s $INPUTDIR/$file $OUPUTDIR/$ID.jpg"
    ln -s "$INPUTDIR/$file" "$OUPUTDIR/$ID.jpg"

    COUNTER=$((COUNTER + 1))
done

Este script pressupõe que todas as suas imagens estão localizadas em um diretório que contém apenas as imagens que você deseja incluir em seu vídeo. Para usá-lo:

  • crie um diretório de saída que contenha seus links: mkdir output
  • execute ./script.sh nameofthefoldercontainingyourimages output
por Gabriel Devillers 02.09.2016 / 21:51