Voir la modification en bas de page. Certaines informations ci-dessous sont erronées.
Y a-t-il un moyen de faire en sorte que FFMPEG écrive directement sur la destination et saute le répertoire tmp ?
Sinon, existe-t-il un moyen de choisir le répertoire temporaire au moment de l'exécution ? Imaginons que je veuille utiliser /mnt/hgfs/videos/tmp
au lieu de la /tmp
répertoire.
Je sais que dans ma situation, je peux faire un certain nombre d'autres choses pour résoudre le problème, mais je veux d'abord voir si je peux faire l'une ou l'autre des choses ci-dessus.
J'ai une machine virtuelle qui utilise ffmpeg pour transcoder les fichiers. J'ai besoin de combiner un groupe de gros fichiers et de les transcoder. Le fichier combiné peut avoir une taille supérieure à 60 Go. L'espace disque de la machine virtuelle est de 46 Go, ce qui est suffisant car toutes les vidéos (entrée et sortie) se trouvent sur un drobo monté à l'adresse suivante /mnt/hgfs/videos
. Quand j'exécute mon ffmpeg concat
sur 15 fichiers de 4 Go, j'ai un fichier de 60 Go. FFMPEG écrit d'abord dans le fichier /tmp
dir puis le déplace dans le répertoire de destination. Comme le /tmp
Le problème est que sur le système de 46 Go, il est plein et FFMPEG se plante.
Quelques solutions de contournement qui pourraient aider d'autres personnes ayant des problèmes similaires : (je ne veux pas les utiliser pour mon problème).
1) Suivez les étapes aquí pour recompiler FFMPEG avec un répertoire temporaire différent.
2) Suivre este à mv /tmp
sur un disque plus grand et faites un lien symbolique vers /tmp
.
et dans mon cas, j'aurais pu juste : 3) transcoder les vidéos puis les concaténer avec MP4Box ou FFMPEG pour ne jamais avoir à travailler avec un fichier aussi volumineux.
EDIT : J'avais tort depuis le début.
FFMPEG n'écrit pas le fichier à /tmp
puis le déplacer vers la destination. J'utilise un projet de nœud qui appelle FFMPEG, mais qui définit la destination comme suit /tmp
ensuite, lorsque FFMPEG a fini de transcoder la vidéo, le projet de nœud la déplace vers la destination que je souhaite. Donc, pendant tout ce temps, ce n'était pas FFMPEG qui utilisait la fonction /tmp
répertoire.