Jak zapisać kawałek pamięci z obrazem RGBA w formacie wideo?

0

Chce zapisywać vector z danymi RGBA do pliku VIDEO , używałem kawałek kodu na Windows i wszyskto działalo. teraz chciałem ten sam kod użyć na urządzeniu embedded z procesorem arm 64-bit i jest klops

Na podstawie github-a przykładowy kod
https://github.com/mariuszmaximus/raw2video/blob/main/example/main.cpp

// raw DATA MEMORY  
std::vector<uint8_t> raw_RGBA (params.width * params.height * 4);

auto fillRand=[&](Raw2Video &raw2video){
    for (int i=0; i<100; i++)
    {
        for(auto &one: raw_RGBA)
        {
            one = rand() % 256;	
        }
        raw2video.Write(raw_RGBA.data());
    }
    raw2video.Close();
};

Raw2Video file_H264_mp4("file_H264.mp4", params);
fillRand(file_H264_mp4); 

Raw2Video file_H264_mkv("file_H264.mkv", params);
fillRand(file_H264_mkv); 

Raw2Video file_H264_avi("file_H264.avi", params);
fillRand(file_H264_avi); 

na windows działa file_H264.mp4 oraz file_H264.avi
na linux aarch64 nic nie che działać, program ma problem z ustawieniem parametru av_opt_set

Gdzie znaleźć prosty przykład jak zapisać kawałek pamieci z obrazem RGBA , ewentualnie jak przeprowadzić diagnostyke czego brakuje w moim systemie Linux ?

1

Architektury różnią się MSB / LSB, chyba wiesz ?

0

jest tak samo

0

i jest klops - co to znaczy? na linux aarch64 nic nie che działać - program się kompiluje ale nie uruchamia?

1

program ma problem z ustawieniem parametru av_opt_set

Co to za problem konkretnie? Jak się objawia? Anyway, to nie jest tak, że na dwóch systemach odpalasz ten sam kod, binarki właściwego backendu się różnią i w pierwszej kolejności bym sprawdził czy na pewno masz wsparcie dla params.dst_format = AV_PIX_FMT_YUV420P; oraz params.codec = AV_CODEC_ID_H264;.

1

wstępne obejrzenie jak zbudowane są biblioteki ffmpeg, brak parametru --enable-libx264 wiec pewnie dlatego nie działa AV_CODEC_ID_H264

2

Podsumowanie wątku: zbudowanie systemu z libx264 oraz włączenie --enable-libx264 i już wszystko gra i buczy

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