Conversione di immagini in video

come posso convertire le immagini in video senza utilizzare FFmpeg o JCodec , solo con Android MediaCodec . Le immagini per il video sono file bitmap che possono essere ARGB888 o YUV420 (la mia scelta). La cosa più importnte è che il video deve essere riproducibile in dispositivi androidi e l'API massima è di 16 anni. So tutto su API 18 MediaMuxer e non posso utilizzarlo.

Mi prego di aiutarmi, sono bloccato su questo per molti giorni. (JCodec a lento, e FFmpeg molto complicato da usare).

  • Che cos'è RemoteControlClient in Android 4.0?
  • Come utilizzare un ListView e un ViewFlipper per navigare in un app Android?
  • Carica un'image dalla cartella degli asset
  • Android: è ansible creare un SurfaceTexture senza un SurfaceView?
  • Sovrapposizioni di mappe efficienti in Google Maps di Google
  • Imansible scrivere la richiesta: nessun HttpMessageConverter appropriato trovato per il tipo di richiesta e il tipo di contenuto
  • Snackbar su Android senza modificare il tema
  • Lancia un'altra applicazione INSIDE di un'applicazione in Android
  • Cassetto scorrevole di navigazione che non gestisce i clic sugli elementi di menu android
  • Android - Controllo di un'attività con Timer e TimerTask?
  • Ottieni elementi visibili in RecyclerView
  • Inserire o aggiornare in SQlite e Android utilizzando il database.query ();
  • One Solution collect form web for “Conversione di immagini in video”

    Non esiste un modo semplice per farlo in API 16 che funziona in tutti i dispositivi.

    Potrai incontrare problemi con l' allineamento del buffer , gli spazi di colore e la necessità di utilizzare diversi layout YUV su diversi dispositivi .

    Considera il problema dell'allineamento del buffer. Su dispositivi pre-API 18 con Qualcomm SOCs, è necessario allineare i piani CbCr ad un offset 2K dall'inizio del buffer. Su API 18, tutti i dispositivi utilizzano lo stesso layout; questo viene applicato dai test CTS che sono stati aggiunti in Android 4.3.

    Anche con API 18 è necessario runtime per rilevare se l'encoder desidera valori piani o semi-piani. (Probabilmente non è pertinente per la tua situazione, ma nessuno dei formati YUV usciti dalla camera è accettato da MediaCodec .) Nota: non è presente alcun ingresso RGB in MediaCodec .

    Se la portbilità non è una preoccupazione, vale a dire che stai targetando un dispositivo specifico, il codice sarà molto più semplice.

    Ci sono frammenti di codice nelle pagine SO collegate sopra. L'esempio "ufficiale" più vicino è il test buffer-to-buffer / buffer-to-surface in EncodeDecodeTest . Questi sono test API 18, il che significa che non fanno il "se QC e API16 cambiano l'allineamento del buffer", ma mostrano come eseguire il rilevamento planare rispetto al layout semi-piano. Non include un converter di colore RGB-to-YUV, ma ci sono esempi di tali in tutto il web.

    Sul lato luminoso, l' output dell'encoder sembra essere perfetto su qualsiasi dispositivo e versione API.

    La conversione del stream H.264 in un file MPP richiede una libreria di terze parti, poiché, come ha notato, MediaMuxer non è disponibile. Credo che alcune persone hanno installato ffmpeg come utility di row di command e lo hanno eseguito in questo modo (forse così?).

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.