Ffmpeg nu scrie mereu fisierul de output pe disk

Vreau sa mai testez o vreme, sa nu fie ceva ce nu vad chiar de ochi - https://en.wiktionary.org/wiki/PEBCAK

1 Like

Unele fișiere s-ar putea sa depaseasca buffer-ul, adica memoria., dar trebuie sa dea eroare.

Ce sistem de fisiere folosesti ? Sper ca nu btrfs.

True true. FFmpeg e software matur, testat etc. Iar ce vezi tu pare un bug foarte naspa si usor de detectat. Asa ca trebuie sa fie ceva “exterior lui ffmpeg” care cauzeaza probleme.

Eu zic sa incerci sa reproduci intr-un mediu cat mai de baza. Poate un vm pe digital ocean, cu un ubuntu nou si un apt-get install ffmpeg (sau ce mai e zilele astea). Cu aceleasi fisiere, vezi daca se comporta la fel. Daca da, macar poti sa stii ca e ceva de la ffmpeg + fisierele tale. Daca nu, trebuie sa fie ceva la configuratia ce o folosesti la munca.

Folosesc ext4.

Am testat si pe digital ocean, ubuntu 16.04, totul instalat de la zero.

File this under #bizzaro

O chestie care imi pare mai ciudatica e ca tu convertesti un fisier audio la unul video. Nu-s familiar cu webm si daca are suport doar pentru audio, dar poate lipsa informatiei video da “ceva” peste cap? Daca faci o conversie la ceva foarte banal, gen wav, se plange in acelasi mod? Macar ca sa-ti dai seama daca e si de la input-uri sau doar de la ffmpeg.

In orice caz, pare ca e un bug pe undeva la mijloc.

Am avut in minte concurenta, am avut in minte ce zicea @tekkie, sa nu fie fisierul deschis de mai multe procese, stiam cum functioneaza aplicatia, doar ca nu am facut review complet codului. Nu m-am uitat peste functia de verificare a existentei fisierului ce urmeaza sa fie convertit daca nu exista. Era o chestie banala, de ce m-as uita peste bucata aia de cod? Doar se verifica daca exista sau nu si atat.

Chiar acolo era problema, existenta fisierului pe disk era facuta prin deschidere, nu prin citire directa. Cand am vazut “os.Open”, mi s-a luminat mintea (https://stackoverflow.com/questions/12518876/how-to-check-if-a-file-exists-in-go).

De fiecare daca cand faceam conversie direct in terminal, de fapt facusem un request in aplicatie, si luam parametrii de conversie din log-uri, iar deja fisierul pe care il testam fusese deschis.

Multumesc tuturor pentru idei!

7 Likes