C++ audió/videó projekt Mac-en

 ( develru | 2012. november 15., csütörtök - 11:34 )

Ismét kellene egy kis segítség. Van egy tudományos projektünk, a szoftver videó és/vagy audió analízist végez. Egy ARM chipes beágyazott rendszerhez csináltuk. A fejlesztéshez C++-t használtunk.

A következő lépésként a hardveres megoldást tovább kellene bővíteni következő képen
- A vezérlés Mac OSX alatt
- Konfigurálhatóan teljes funkció akár hardver mentesen is. (pl. hang input konvertálva ARM-töl, de analízis Mac alatt)
GUI egyelőre nem fontos.

Mac fejlesztésben nem vagyok valami profi. Egy időben tanulgattam az Objective-C-t. Lehetőség szerint szeretnénk továbbra is C++-ban dolgozni. Eddig nem sikerült igazán jó információ forrásra bukkanni, mindenki csak GUI-val foglalkozik.
Van lehetőség Linux librarykat használni Mac-en pl. gstreamer? Vagy ez egyáltalán nem jó ötlet? A legfontosabb a teljesítmény. Ez mellett persze előny lenne ha bármikor egyszerűen portolható lenne Linuxra.

Bármilyen ötlet, esetleg forrás ahol érdemes elkezdeni?

Mennyire érdemes egyáltalán erőltetni az ilyen projekteket Mac-en? Vészmegoldásként persze még mindig ott a Linux.

(inf.: ha elkészül, akkor open source licenszes lesz a projekt)

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

> Van lehetőség Linux librarykat használni Mac-en pl. gstreamer?

Újrafordítás nélkül nem. Amúgy szerintem nem a legjobb ötlet, főleg, ha a legfontosabb a teljesítmény.
MacPorts-nak nézz utána.

os x core audio/video ?

Elég ígéretesnek tűnik, natív megoldáshoz ez lesz (lenne az ideális).

---
linux user

Qt audio in, out, Phonon?

Azt hiszem ezzel készítem majd az első teszteket. Nagyon hajlok afelé, hogy először Linuxra csináljuk meg, és utána portoljuk Mac-re. Összességében így egyszerűbb lesz. Persze ha a Qt beválik, akkor nem kell sokat vesződni a portolással.

Köszi az ötletet. (Nem voltam vele tisztában, hogy ennyire összetett multimédia modulja van a Qt-nek.)
---
linux user

A multiplatformos dolgok mindig komplexitást hoznak be.
Ha tudod, hogy Maces lesz, akkor inkább a natív Maces apikat használnám, nagyon jók, persze a kérdésedben nem írtad le, hogy pontosan mi a célod, így nehezebb tanácsot adni.
Ha a jövőben viszont lesz GUI, akkor a qt nagy burden lesz, mert gondolom az a qt -val integrálódik jól, arra van kitalálva, qt -s appok meg elég gagyik macen, nem lesz élvezet használni.

Nem próbáltam, de csodálkoznék rajta ha nem működne. GTK-val is tökéletes az integrálódik.
http://qt-project.org/doc/qt-4.8/demos-macmainwindow.html

A tökéletestől távol van. Nagyjából hasonló, de apróságok másképp vannak, pl. scrollozás, ilyesmik. Egyszer does not feel right.
A gtk implementációját nem ismerem, lehet hogy jobb (a Swing pl. határozottan jobb mint a QT), de minek ilyenekhez folyamodni, ha nem muszáj? Ezek tipikusan úgy próbálnak beidomulni a környezetbe, hogy saját maguk rajzolnak ki olyat, ami úgy néz ki, mint az eredeti. Minek másolni az eredetit, ha lehet használni az eredetit?

(SWT az kivétel, az elvileg a natív elemeket használja, de azt nagyon rosszul, mert valahogy mégis az a legborzasztóbb mind közül)

Szóval, ha tudja hogy Mac a target, minek plusz egy réteg a Cocoa és az app, vagy a Core Audio és az app között?

Ez a kérdés szerintem nem ilyen egyszerű. Persze ha valaki megteheti, hogy csak Mac-re ír valamit, akkor egyértelműen a Cocoa a nyerő.

De ha indítok egy projektet, és keresek hozzá embereket, akkor a Mac-el igen leszűkítem a lehetőségeket. És máris a platform független megoldásoknál vagyunk. Nekem speciel gtk szimpatikusabb, de eddig a legjobban portolható a Qt. Nekem sem tetszik ahogy sokszor kinéz, de szerintem nem járható út, hogy csinálok egy gtk-s Qt-s és Cocoa-s verziót. (Ez csak pár gondolat a portolhatóságról, nem a konkrét projektel kapcsolatben.)

Ha valaki tud jobb megoldást a problémára, ne kíméljen.

---
linux user

A qtconfig rendszerszinten állítja be az alkalmazások kinézetét. Nálam be van állítva GTK -ra és tökéletes.
Nem tudom nálad pontosan mi a baja a scrollozásnak. Tudnál képet mellékelni ?

Screenshoton nem látszik amire gondolok, csak használat közben, feelingre jön át, hogy teljesen másképp működik, és nagyon zavaró. Nem csak a scrollozás, hanem context menük, listák működése, stb... De mondom, a kinézet az jó, és lehet hogy még videón se jönne át a különbség, csak amikor az ember használni akarja, akkor reagál másképp a dolgokra.

Egyébként nem tudnék küldeni videót se, mert már (hálistennek) nem használom a kérdéses appot. Amúgy a Perforce verziókezelő Maces kliense volt az, ami miatt megharagudtam a Qt-re.

Mivel tesztelni nem tudom elhiszem. És teljesen igazad van, Mac re fejleszteni hülyeség Qt-val. Viszont ha szóba jöhet más platform is akkor jó alternatíva lehet.
szerkesztve:
Most látom ezt már lejjebb te is megállapítottad.

:)

Az egész projekt egy tanulmány, olyan "meg lehet-e csinálni" féle. A lényeg, hogy "hardveres" megoldásnak indult, egy egyedül álló készüléknek, de aztán kiderült, hogy lehetne ezt akár számítógéppel is kombinálni. Elég bonyolult a projekt, ezért nem írok konkrétumokat, de egy része például a beszéd felismerés.

Az egészet szabadidőnkben csináljuk, úgyhogy a kívánt eredmény elérése mellett az is fontos, hogy mennyire kell új dolgokba beletanulni. A ráfordítást szeretnénk a lehető legalacsonyabban tartani. Szóval ha valakinek nem tetszik a Qt felület (még tervezés alatt van, hogy egyáltalán ez lesz-e), akkor majd írhat egy saját natív felületet hozzá.

Ja egyébként én egy MacBook Pro-t használok dualboot-tal, egy másik srác egy MacBook Airt (csak OSX), 3. csapattag meg egy (ha jól emlékszem) egy Acer Travelmate-et Ubuntuval. Szóval innen a probléma forrása.

---
linux user

Ja, hát ha cél az, hogy ubuntun és os x -en is fusson, akkor persze jó kompromisszum a Qt szerintem is.

s/auidó/audió/