Generuje plik video a źródłem obrazu jest widget ktory jest wielokrotnie przerysowywany i przechwytywany jest jego obraz
Tak wyciągam pamięć obraz z widgetu
const QImage &frame(grabFramebuffer());
const uchar *bits = frame.constBits();
I potem używam libffmpeg aby wygenerować video
Na Windows muszę ustawić format danych wejściowych AV_PIX_FMT_BGRA
a na Linux AV_PIX_FMT_RGBA
Czyli w buforze ktory dostałem od Qt jest odwrotna kolejność kolorów
Tak sie zastanawiam skąd się bierze różnica kolejności kolorów?
Dokumentacja grabFramebuffer Renders and returns a 32-bit RGB image of the framebuffer.
Ale może w tym przypadku RGB oznacza tylko ze sa trzy kolory a kolejnosc to już inna para kaloszy
Pamiętam ze kiedyś w Larazus tez była odwrócona kolejność kolorów pomiędzy Windows i Linux jak sie odczytywało pamięć BITMAP na niskim poziomie
Taka tylko ciekawostka