android ffmpeg bitmapler ile mp4 oluşturun (jpg yok)


1

android uygulamamda bu yöntemin ürettiği bitmap dizileri var:

public Bitmap createFrame(int i) {
    Bitmap bitmap = Bitmap.createBitmap(800, 800, Bitmap.Config.ARGB_8888);
    .
    .
    return bitmap;
}

şimdi ffmpeg komutu için bütün bitmapleri tek bir mp4 videoya dönüştürmek istiyorum.

for (int i=0; i<500; i++) {
    Bitmap frame = frameBitmap(i);
    String cmd = "ffmpeg -y -i <<all frameBitmap">> ... libx264 ... output.mp4"
}

bir bitmap dizisi ile bir komut nasıl kullanılır?

Yanıtlar:


2

Giriş olarak boru

Resimleriniz, onları üreten şeyden dışarı aktarılabilirse, boru protokolünü kullanabilirsiniz. Stdin'den okumak için örnek:

ffmpeg -framerate 10 -i pipe:0 -c:v libx264 -pix_fmt yuv420p -movflags +faststart output.mp4

Alternatif olarak kullanabilirsiniz pipe: veya düz - aynı şeyi yapmak için.

Bakın boru protokolü dokümantasyonu daha fazla bilgi için.

Giriş olarak kaydedilmiş görüntüler

Bir dizi resim dosyanız varsa, örneğin img001.bmp, img002.bmpvb. kullanabilirsiniz:

ffmpeg -framerate 30 -i img%03d.bmp -c:v libx264 -pix_fmt yuv420p -movflags +faststart output.mp4

Veya kullanabilirsiniz küre desen hangi bir joker destekler:

ffmpeg -framerate 24 -pattern_type glob -i "*.bmp" -c:v libx264 -pix_fmt yuv420p -movflags +faststart output.mp4

Bakın görüntü dosyası demuxer belgeleri detaylar için.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.