Ignorando o diretório temporário ou alterando-o em tempo de execução com o FFMPEG

3

Veja a edição na parte inferior. Algumas informações abaixo estão erradas.

Existe uma maneira de fazer o FFMPEG gravar diretamente no destino e pular o diretório tmp?

Se não existe uma maneira de escolher o dir temp em tempo de execução? Digamos que eu queira usar /mnt/hgfs/videos/tmp em vez do diretório /tmp .

Sei que com a minha situação posso fazer várias outras coisas para corrigir o problema, mas quero ver se posso fazer uma das opções acima primeiro.

Eu tenho uma máquina virtual que usa o ffmpeg para transcodificar arquivos. Eu preciso combinar um monte de arquivos grandes e transcodificá-los. O arquivo combinado pode ser maior que 60 GB. O espaço em disco da máquina virtual é de 46 GB, o que é suficiente porque tenho todos os vídeos (entrada e saída) em um drobo montado em /mnt/hgfs/videos . Quando executo meu ffmpeg concat em 15 arquivos de 4GB, tenho um arquivo de 60GB. O FFMPEG primeiro grava no /tmp dir e o move para o diretório de destino. Como o /tmp dir está no sistema de 46 GB, ele fica cheio e o FFMPEG trava.

Alguns trabalhos que podem ajudar outras pessoas com problemas semelhantes: (Eu não quero usá-los para o meu problema)

1) Siga os passos here para recompilar o FFMPEG com um diretório temporário diferente.

2) Siga this para mv /tmp para uma unidade maior e symlink para /tmp .

e no meu caso eu poderia ter apenas: 3) transcodificação dos vídeos, em seguida, concatená-los com MP4Box ou FFMPEG para que você nunca tenha que trabalhar com esse tamanho de arquivo.

EDIT: Eu estava errado o tempo todo.

O FFMPEG não grava o arquivo em /tmp , depois o move para o destino. Estou usando um projeto de nó que chama o FFMPEG, mas ele define o destino como /tmp , e quando o FFMPEG é feito transcodificando o vídeo, o projeto do nó o move para o destino desejado. Então, o tempo todo não foi o FFMPEG usando o diretório /tmp .

    
por DutGRIFF 07.05.2014 / 22:30

1 resposta

1

No primeiro link que você deu, eles estão tendo um problema com a compilação de ffmpeg , não o executando. Tanto o compilador quanto o ffmpeg devem usar o diretório temp do sistema. Então, da mesma forma que alterar a variável TMPDIR permitiu que ela compilasse corretamente, ela deve permitir que ela seja executada corretamente para você. A localização do diretório temporário é armazenada na variável de ambiente TMPDIR ou TMP .

    
por 07.05.2014 / 22:46

Tags