Skrypt wykonujący drawtext w ilości większej niż 500 wysypuje się z błędem

0

Generuje z poziomu kodu skrypt wykonujacy osobny drawtext co sekunde w ffmpeg. Skrypt dziala dobrze dla ilosci drawtextow mniejszej od 500.... a przy wiekszej (czasem 507, a czasem 509) sie wysypuje z bledem:

Fontconfig error: Cannot load default config file
[Parsed_drawtext_509 @ 09d7f5a0] Cannot find a valid font for the family Sans
[AVFilterGraph @ 030bcb00] Error initializing filter 'drawtext' with args 'fonts
ize=26:enable=between(t,509,510):fontcolor=Black:fontfile=C\:\\Windows\\Fonts\\m
icross.ttf:text=Time=509, speed=17,32km/h, distance=2575,225km:x=0:y=0'
Error initializing complex filters.
No such file or directory

O co chodzi? To jest jakis limit drawtextow? Ja mam filmy po godzine czasu i chce im renderowac czas w sekundach.... wiec potrzebuje nawet po 60*60=3600 drawtextow!
Skrypt FFMPEG:

ffmpeg -i input.mp4 -filter_complex_script "scr.txt" -y output.mp4
pause

Plik txt: https://pastebin.com/BtpAydK2

0
youmound napisał(a):

Ale nie piszą co z nim można zrobić i jak go naprawić?

Jest to bug w ffmpeg: trzeba otworzyć źródła, naprawić, przekompilować i podzielić się patchem z innymi ;-)
Natura problemu jest w zasadzie jasna: każde wyspecyfikowanie fontu powoduje że ffmpeg otwiera go na nowo, aż program osiąga limit otwartych plików.

Co można by poradzić… podzielić film na kawałki po 5 minut, każdy przetworzyć osobno i skleić. oczywiście jakimś skryptem albo tak jak robisz że z C# odpalasz ffmpeg.
Żeby dodatkowo nie tracić na jakości to ta faza musiałaby być w kompresji bezstratnej albo nawet bez kompresji.

0

Od czego jest ten drawtext?

I to tylko na windowsie występuje?

0

Ja bym ci pomógł, ale w ogóle nie znam tego formatu, ale Azarien, mi kiedyś dupe uratował jak wpadłem na głupi pomysł z alokacją w asemblerze, normalnie to wszyscy się śmiali, że nie przenośne, a ja byłem początkującym, Azarien ładnie wszystkim wszystkim wytłumaczył za to go lubię, jest cool. Nie zimny czy coś tylko spoko gościu i jak coś pomogę też sam w naprawieniu buga, ale nie mam 100% pewności że naprawię, mam depresję jak nie zrobię czegoś na co składałem obietnicę i kurde jutro cały dzień w robocie siedzę do piątku maks poniedziałku nic nie wymyślę to nie liczcie na mnie, jestem zwykłym człowiekiem i noobem. ogólnie lubię Azariena za swój honor, zawsze jest dobrym wzorem dla innych. Zawsze będzie dla mnie wzorem, lubię go i jak coś powie to zrobię to, a jak spieprze to będę próbował to naprawić, pamiętam co on dla mnie zrobił. Macie jakiś plan to pomogę, jak sam mam zrobić to mi coś pomóżcie określić i dajcie z 1-2 tygodnie bo jestem zwykłym człowiekiem. Sypnijcie mi trochę informacji, co mnie doprowadzą do zrobienia zadania, może mi się uda jak nie to napiszę i będzie fail.

Beta testy będę musiał zrobić z tym wyświetlaniem.
Nie chce mi się pisać będzie coś łatwiej? ja nie lubię gadać nie mam przyjaciół nie da się łatwiej?

Kurde, pomóźcie mi z tym zadaniem, a wam pomogę, bo sam do końca nie wiem co tak błąd powoduje, kiedyś się dowiem, ale to może zająć kilka lat.
Nie jestem idealny.

1 użytkowników online, w tym zalogowanych: 0, gości: 1