FFmpeg edição de vídeo on the fly

0

Eu estou tentando fazer vídeo em loop no tablet Android que tem o Ubuntu 15.04 instalado no chroot. Existem ffmpeg e todas as ferramentas do Linux estão disponíveis. O problema que eu tenho espaço muito limitado e ffmpeg usa arquivos temporários para recodificar vídeos para consumir espaço adicional. Na verdade eu não preciso de nenhuma re-codificação apenas encolhimento e concatenação. Por exemplo, o comando abaixo junta dois arquivos e com certeza mantém os originais

ffmpeg -f concat -i /tmp/join.txt -c copy out.mov

O próximo fragmento de corte e o vídeo input.mov original permanecem

ffmpeg -ss 00 -i input.mov -t 90 -c:v copy -c:a copy out.mov

É realmente possível realizar essa edição sem manter os arquivos originais? Por exemplo. ao editar, ao mesmo tempo, apague as partes acabadas para preservar o espaço.

UPD. De acordo com as respostas abaixo e minhas pesquisas, não é possível. Obrigado por participar.

    
por Demontager 28.06.2015 / 20:49

1 resposta

0

Para excluir seus arquivos de origem indesejados após cada operação FFmpeg bem-sucedida, você pode adicionar código de script ao final de seus comandos FFmpeg com um duplo comercial. Desta forma, a fonte não será excluída se o FFmpeg cometer erros por algum motivo, mas você ainda deve ser cauteloso ... Nada pior do que eliminar sua fonte antes de descobrir que você definiu os tempos de busca ou duração errados ao criar um clipe.

Exemplos

Isso excluiria os vids de origem listados em seu arquivo "join.txt" depois que você criasse seu vídeo concatenado:

ffmpeg -f concat -i /tmp/join.txt -c copy out.mov && \
for DELVIDS in 'awk '{print $2}' /tmp/join.txt'; do rm -f $DELVIDS; done

Isso eliminaria o arquivo 'input.mov' depois que você criasse seu clipe de 90 segundos:

ffmpeg -ss 00 -i input.mov -t 90 -c:v copy -c:a copy out.mov && rm -f input.mov
    
por 28.06.2015 / 21:31