nu este mereu scris fisierul /cache/file.webm pe disk.
Procesul de ffmpeg merge pana la capat, nu am nicio eroare, output-ul procesului este acelasi si cand fisierul este scris pe disk si cand nu este. Rulez manual comanda.
Poti sa incerci cu un flag de overwrite(-y) in caz ca ffmpeg se supara ca e un fisier deja acolo, desi nu ar mai incerca sa faca conversia si ti-ar da un mesaj descriptiv, daca ar fi cazul asta.
Cand testez manual dau mereu remove fisierului scris inainte de conversie (cand execut ffmpeg din aplicatie, mereu se verifica inainte daca exista fisierul deja, caz in care nu se mai face conversia).
Degeaba cauti alternative, ffmpeg e tatal lor Eu am convertit sute de fisiere cu ffmpeg, unele de 10GB, am facut decupaje cu el, resicronizare sunet, downscaling, transcoding, concatenare, capturare de ecran, cu si fara accelerare hardware etc si n-am patit niciodata ce zici tu.
De regula pe Fedora si Windows 10. Iar la un moment dat am convertit din .flv in .mp4 (doar containerul, nu transcoding, codecul video a ramas h.264) un batch de cateva sute de fisiere pe o masina APU2. Vreau sa zic ca l-am torturat pe sarmanul ffmpeg in toate felurile imaginabile si a rezistat cu stoicism, fara sa crape vreodata
Ce-i drept, am convertit rar in ,webm si niciodata n-am precizat cate thread-uri sa foloseasca, l-am lasat pe el sa aleaga numarul optim de thread-uri.
De curiozitate, asta se intampla la orice transcoding mp4->webm? Ai incercat cu fisiere diferite, poate fisierul pe care vrei sa il transcodezi se comporta mai ciudat. Acum ceva timp am testat si vlc pentru taskuri de genul asta, dar nu am habar daca merge pentru webm.
Daca nu e confidential, poti sa pui undeva mp4-ul cu probleme sa ne uitam si noi peste el?
Iti acceseaza mai multe procese acele fisiere? De obicei pe linux comportamentul aleatoriu provine din “too many chefs in the kitchen”. Te poti asigura ca doar tu le accesezi din acest proces?
In aplicatie se verifica daca exista fisierul pe disk, si doar daca nu exista se face conversia. Dupa ce fisierul exista (chiar si in timp ce ffmpeg inca mai scrie in el), alte procese il pot accesa, insa doar citesc din el. Singurul proces care scrie in fisierul respectiv este cel de ffmpeg, si daca fisierul exista deja, nu se va mai deschide inca un proces de ffmpeg.
Problema o intalnesc si in medii de test, unde sunt singurul care face conversie, si chiar si daca rulez ffmpeg direct, nu prin aplicatie.