Ik ben bezig met een programma dat mpegstreams maakt van screenshots. Die screenhots
worden gemaakt met Qt, en worden in een gelinktelijst van QPixmap's (Eigen class van Qt)
gezet. Dit werkt allemaal naar behoren.
Dat mpegs maken doen we met de libary van berkeley. Op dit moment draait het zo dat we
eerste de plaajes maken en in de lijst zetten. Hierna lezen we de de buffer uit
en slaan we deze QPixmap's op als PNG op de hareschijf. Vervolgens
geven we aan de encoder door welke filenames die moet gebruiken. Dan gaat hij het filpje
maken, en gaat daarna weer nieuwe plaatjes maken en begint alles vanaf vooraf aan.
Wat we nu willen is dat dat hele stuk van het opslaan op disk wegvalt, en dat we gewoon
een lijst kunnen meegeven met PNG's erin. Dit is mogelijk, er is een Qt class Buffer. In
deze class kun je images stoppen als PNG formaat. Dan staat het plaatje dus als PNG in
je geheugen.
Nu komt het probleem dat de encoder een C libary is( waar we wel gewoon de source van hebben)
, hierdoor kunnen we die Buffer niet uilezen omdat die gebasseerd is op de Qt class QBuffer.
Dit is dus C++, en dat vint ansi C niet zo leuk.
Onze vraag is nu, hoe kunnen we dit het beste oplossen. Hoe krijgen we die png's in de C
libary. We hebben al zitten denken om
de harde geheugenadressen mee te geven. We weten alleen niet of dit mogelijk is en of dit
wel een goede degelijke oplossing is.
worden gemaakt met Qt, en worden in een gelinktelijst van QPixmap's (Eigen class van Qt)
gezet. Dit werkt allemaal naar behoren.
Dat mpegs maken doen we met de libary van berkeley. Op dit moment draait het zo dat we
eerste de plaajes maken en in de lijst zetten. Hierna lezen we de de buffer uit
en slaan we deze QPixmap's op als PNG op de hareschijf. Vervolgens
geven we aan de encoder door welke filenames die moet gebruiken. Dan gaat hij het filpje
maken, en gaat daarna weer nieuwe plaatjes maken en begint alles vanaf vooraf aan.
Wat we nu willen is dat dat hele stuk van het opslaan op disk wegvalt, en dat we gewoon
een lijst kunnen meegeven met PNG's erin. Dit is mogelijk, er is een Qt class Buffer. In
deze class kun je images stoppen als PNG formaat. Dan staat het plaatje dus als PNG in
je geheugen.
Nu komt het probleem dat de encoder een C libary is( waar we wel gewoon de source van hebben)
, hierdoor kunnen we die Buffer niet uilezen omdat die gebasseerd is op de Qt class QBuffer.
Dit is dus C++, en dat vint ansi C niet zo leuk.
Onze vraag is nu, hoe kunnen we dit het beste oplossen. Hoe krijgen we die png's in de C
libary. We hebben al zitten denken om
de harde geheugenadressen mee te geven. We weten alleen niet of dit mogelijk is en of dit
wel een goede degelijke oplossing is.