Voir l'édition en bas. Certaines informations ci-dessous sont fausses.
Existe-t-il un moyen de faire en sorte que FFMPEG écrit directement sur la destination et ignore le répertoire tmp?
Sinon, y a-t-il un moyen de choisir le répertoire temp au moment de l'exécution? Dites que je voulais utiliser à la /mnt/hgfs/videos/tmp
place du /tmp
répertoire.
Je sais qu'avec ma situation, je peux faire un certain nombre de choses pour résoudre le problème, mais je veux voir si je peux faire l'une des choses ci-dessus en premier.
J'ai une machine virtuelle qui utilise ffmpeg pour transcoder des fichiers. Je dois combiner plusieurs fichiers volumineux et les transcoder. Le fichier combiné peut dépasser 60 Go. L'espace disque de la machine virtuelle est de 46 Go, ce qui est suffisant car j'ai toutes les vidéos (entrée et sortie) sur un drobo monté sur /mnt/hgfs/videos
. Lorsque je lance mes ffmpeg concat
15 fichiers de 4 Go, j'ai un fichier de 60 Go. FFMPEG écrit d’abord /tmp
dans le répertoire puis le déplace dans le répertoire de destination. Parce que le /tmp
répertoire se trouve sur le système de 46 Go, il est saturé et FFMPEG se bloque.
Quelques solutions de rechange pouvant aider d’autres personnes ayant des problèmes similaires: (je ne souhaite pas les utiliser pour mon problème)
1) Suivez les étapes décrites ici pour recompiler FFMPEG avec un répertoire temporaire différent.
2) Suivez ceci pour mv /tmp
sur un lecteur plus grand et faites un lien symbolique vers celui-ci /tmp
.
et dans mon cas, je pourrais tout simplement: 3) transcoder les vidéos puis les concatater avec MP4Box ou FFMPEG afin que vous n’ayez jamais à travailler avec ce gros fichier.
EDIT: Je me suis trompé tout le temps.
FFMPEG n'écrit pas le fichier pour /tmp
le déplacer ensuite vers la destination. J'utilise un projet de nœud qui appelle FFMPEG, mais il définit la destination sur /tmp
puis, lorsque FFMPEG a terminé le transcodage de la vidéo, le projet de nœud le déplace vers la destination que je souhaite. Ainsi, pendant tout ce temps, FFMPEG n’utilisait pas le /tmp
répertoire.