2013-05-13 13 views
7

Ho bisogno di unire le immagini al video come un overlay ed esportarlo. Ho trovato modi per creare video da immagini usando javacv ma non ho trovato nessun jar o libreria che aggiungono immagini come sovrapposizione a video esistenti, alcuni dei link suggeriscono di usare FFMPEG e JNI per ottenere questo, ma purtroppo non lo faccio avere alcuna conoscenza di JNI. Usano il framework di avifondazione in IOS per ottenere lo stesso risultato.Come possiamo aggiungere un'immagine animata/semplice come livello superiore al video ed esportarla come un singolo video in Android?

enter image description here

L'immagine qui sopra è replica delle mie esigenze, se qualcuno mi può guidare nella giusta direzione e mi fornire alcune cose utili per iniziare sarebbe apprezzato.

Quello che ho raggiunto finora è: 1) FFMPEG compilato. 2) File .so generati 3) Compilato e in grado di eseguire il progetto Hello Jni.

Quello che sto cercando è: 1) Divisione del video in frame. 2) Unione delle immagini di sovrapposizione con i fotogrammi video 3) Ricreare il video con audio.

e so JNI è l'unico modo per raggiungere questo obiettivo in modo cercato molto, ma non ha trovato nulla di buono roba JNI per iniziare. Non sto chiedendo l'intero codice, ma se qualcuno può indicarmi qualche buon tutorial o blog sarebbe di grande aiuto.

Grazie !!

+1

Android recente ha finalmente rilasciato un Codec. Puoi usarlo per farlo. http://stackoverflow.com/questions/18795353/using-mediacodec-to-save-series-of-images-as-video JNI ha un problema di compatibilità che è davvero un peccato. – lifelogger

risposta

1

Il modo per raggiungere questo obiettivo è come hai detto tu - incorporare un codec video e utilizzarlo per ricomporre il video.

  1. decodificare il video originale
  2. Disegna la sovrapposizione sopra il video originale incornicia
  3. codificare i fotogrammi di nuovo.

Utilizzando FFMPEG con JNI è la soluzione più ovvia, ma se si trova qualsiasi altra libreria di codec in grado di ottenere lo stesso risultato con puro Java, funzionerà anche.

Nessuna conoscenza di JNI? Questo è il momento di imparare =)

Riferimenti per l'apprendimento:

  1. docs NDK sul file system: http://developer.android.com/tools/sdk/ndk/index.html#Docs

  2. JNI - http://192.9.162.55/docs/books/jni/html/jniTOC.html

  3. FFMPEG per Android - ci sono molti tutorial là fuori e molti alberi di sorgenti che contengono un ambiente di build pronto. è possibile seguirli o semplicemente farlo da soli - a condizione che si capisce l'ambiente NDK e può leggere makefile. Questo è un esempio: http://vec.io/posts/how-to-build-ffmpeg-with-android-ndk

  4. Utilizzando ffmpeg per codificare \ fotogrammi decodificare - purtroppo, non buoni tutorial up-to-date qui, c'è la documentazione API: http://ffmpeg.org/doxygen/trunk/index.html

  5. bitmap di fusione - utilizzare Tela per Android infrastruttura, o semplicemente copiare manualmente i pixel uno sull'altro e fondersi in base ai valori alfa.

Attenzione - questa è una biblioteca complesso da costruire ed è meglio che sperimentare progetti NDK più facile prima di tentare questo.

+0

Grazie a SriKnigget, ti prego di indicarmi qualche tutorial o blog che sai per ottenere ciò che hai suggerito, in pratica lo JNI per codificare e decodificare il video. Ho modificato la mia domanda per chiarire dove esattamente ho bisogno di aiuto da voi ragazzi. –

+0

Aggiornamento dei contenuti della risposta – SirKnigget

Problemi correlati