Hi allemaal!
Ik ben voor 't werk bezig met video. Nou maak ik momenteel video's op 30fps met een resolutie van 640x480 waarbij elk frame ge-encode moet worden. Dit doen we met libtheora. Het probleem is echter dat encoden erg traag gaat met de CPU die over het algemeen in de systemen zit. Op de genoemde resolutie/fps worden er ongeveer 15-20 frames per seconde ge-encode en wordt de rest in een buffer geplaatst. Die buffer wil ik het liefst elimineren (of iig zodattie maar 1-3 frames groot is oid). Daarnaast werkt het niet helemaal lekker met het beeld dat van camcorders afkomt - de veranderingen in het beeld worden dan streperig.
Nou zat ik te kijken naar hardwarematige encoders. Nvidia biedt een hele mooie SDK aan voor GPGPU.
We zouden dan een simpele videokaart kunnen aanbieden aan elke klant die CUDA/OpenCL ondersteunt. Nadeel is echter dat je daar een videokaart voor moet installeren en sommige klanten zouden wel eens zo'n hele kleine computer kunnen hebben waar je niks in kan duwen. Toen kwam ik dit mooie dingetje tegen: Elgato Turbo.264. Een mooie USB stick voor de Mac die helpt met video encoden. Probleem: enkel voor de Mac en geen SDK.
Ik heb moeite met het vinden van een goede oplossing hiervoor. Het liefst vinden we een USB apparaat (met of zonder voeding, hoe dan ook) die simpel kan worden aangesloten en helpt met het encoden van video. Hier moet dan echter wel een SDK voor beschikbaar zijn zodat ik dat ding berekeningen kan laten uitvoeren. Of dat met OpenCL kan weet ik niet. Da's wel een mooi framework om CPU's en GPU's mee te laten werken.
Hebben jullie hier nog goede ideeën over?
Ik ben voor 't werk bezig met video. Nou maak ik momenteel video's op 30fps met een resolutie van 640x480 waarbij elk frame ge-encode moet worden. Dit doen we met libtheora. Het probleem is echter dat encoden erg traag gaat met de CPU die over het algemeen in de systemen zit. Op de genoemde resolutie/fps worden er ongeveer 15-20 frames per seconde ge-encode en wordt de rest in een buffer geplaatst. Die buffer wil ik het liefst elimineren (of iig zodattie maar 1-3 frames groot is oid). Daarnaast werkt het niet helemaal lekker met het beeld dat van camcorders afkomt - de veranderingen in het beeld worden dan streperig.
Nou zat ik te kijken naar hardwarematige encoders. Nvidia biedt een hele mooie SDK aan voor GPGPU.
We zouden dan een simpele videokaart kunnen aanbieden aan elke klant die CUDA/OpenCL ondersteunt. Nadeel is echter dat je daar een videokaart voor moet installeren en sommige klanten zouden wel eens zo'n hele kleine computer kunnen hebben waar je niks in kan duwen. Toen kwam ik dit mooie dingetje tegen: Elgato Turbo.264. Een mooie USB stick voor de Mac die helpt met video encoden. Probleem: enkel voor de Mac en geen SDK.
Ik heb moeite met het vinden van een goede oplossing hiervoor. Het liefst vinden we een USB apparaat (met of zonder voeding, hoe dan ook) die simpel kan worden aangesloten en helpt met het encoden van video. Hier moet dan echter wel een SDK voor beschikbaar zijn zodat ik dat ding berekeningen kan laten uitvoeren. Of dat met OpenCL kan weet ik niet. Da's wel een mooi framework om CPU's en GPU's mee te laten werken.
Hebben jullie hier nog goede ideeën over?