Vytvoril som aplikáciu, v ktorej klient môže prezerať ip kameru, ktorá dáva http live stream MJPEG používajúci tento odkaz Android ICS a MJPEG pomocou AsyncTask
Teraz chcem, aby užívateľ zaznamenal video na svoju pamäťovú kartu. Chvíľu som sa googlil a myslel som si iba na dva prístupy: -
Buď si budem ukladať obrázky JPEG a kedyužívateľ klikne na zastavenie nahrávania, potom i nejako klip všetky obrázky, aby poskytovali 3GP video alebo nejaký iný formát súboru. Ale neviem, ako vytvoriť video zo všetkých obrázkov, a bude to efektívne priblížiť alebo nie.
Alebo to urobím ffmpeg a v tomto prípade sa budem musieť vysporiadať s NDK a zdá sa, že je dlhšie cesta, ktorá nemusí nikam viesť: P
Je teda FFMPEG lepšou možnosťou? Ak áno, podeľte sa o niektoré odkazy alebo je prvá možnosť lepšia. Vopred ďakujem
odpovede:
0 pre odpoveď č. 1FFmpeg je lepšia voľba, ale pravdepodobne budeteuviaznuť s dosť zlým rozlíšením / kompresiou kódovania. Možno bude fungovať nejaký nekvalitný MPEG-4 ako xvid, ale aj to si môže vyžadovať príliš vysoký výkon z CPU.
Android nemá rozhranie API na prístup k logike kódovania videa v SoC, takže natívna implementácia je do značnej miery vaša jediná voľba. Ak je to tak, FFmpeg prostredníctvom NDK je pravdepodobne najjednoduchší.