OBS! Ansökningsperioden för denna annonsen har
passerat.
Arbetsbeskrivning
Contribio
Contribio är ett innovationsbolag som drivs inom Chalmers Innovation. Företaget har
utvecklat ett peer-to-peer-baserat system för överföring av video över Internet, och jobbar
nu med applikationer av detta samt vidareutveckling av systemet.
Projektbeskrivning
Projektets mål är att vidareutveckla Contribios teknik och lägga till stöd för live-material. I
dagsläget stödjer tekniken enbart förinspelat material.
En grova plan för hur detta ska åstadkommas finns, men är inte specificerad i detalj. Detta
gör att en väsentlig del av arbetet kommer bestå i att undersöka möjliga lösningar på olika
delproblem och välja mellan dessa.
Kunskapskrav
Listan nedan beskriver ungefär vad som kommer användas under projektet, ordnat efter
ungefärlig viktighet.
C/C++
Contribios klientmjukvara är till större delen skriven i C/C++ (Mac-klienten har en del i
ObjC/Cocoa), och använder Apache Portable Runtime för att hantera delar av stödet för
flera plattformar.
Flash/Actionscript
För att spela upp videon i webbläsaren använder vi Flash, så en förståelse för hur det
fungerar kommer underlätta arbetet. En videospelare kommer behöver skrivas eller
anpassas eftersom streaming fungerar lite annorlunda än progressiv nerladdning som vi
använt hittills.
Videoformat
Ett av problemen med att arbeta med video är att det finns många olika format och
kombinationer av format, och många verktyg fungerar bara med vissa kombinationer. Till
exempel kan man i Flash spela upp h264-video som laddas ner progressivt eller strömmas
från Adobe-certifierad servrar, men inte från open source-servrar. En del av arbetet
kommer vara att komma fram till en fungerande kombination av format och verktyg för att
komma hela vägen från kamera till tittare.
SOAP
Vårt peer-to-peer-protokoll är i dagsläget SOAP-baserat, så en förståelse för hur detta
fungerar underlättar. Vi använder gSOAP för detta i klientmjukvaran.
Java
Det finns ett open source-projekt som implementerar Flash-streaming i Java, vilket
kommer vara en viktig informationskälla för att se hur protokollet fungerar