안드로이드 ffmpeg 비트 맵으로 mp4 만들기 (jpg 없음)


1

내 안드로이드 앱 에서이 방법으로 생성 된 일련의 비트 맵이 있습니다.

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

이제 모든 비트 맵을 하나의 mp4 비디오로 변환하는 ffmpeg 명령에 대해 이것을 원합니다.

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

일련의 비트 맵에 하나의 명령을 사용하는 방법?

답변:


2

입력으로 파이프

생성중인 이미지에서 이미지를 제거 할 수있는 경우 파이프 프로토콜을 사용할 수 있습니다. stdin에서 읽는 예 :

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

또는 동일한 작업을 수행하기 위해 pipe:또는 일반 -을 사용할 수 있습니다 .

자세한 내용은 파이프 프로토콜 설명서 를 참조하십시오.

저장된 이미지를 입력으로

당신과 같은 이미지 파일, 일련의 경우 img001.bmp, img002.bmp등, 당신은 사용할 수 있습니다 :

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

또는 와일드 카드를 지원하는 glob 패턴 을 사용할 수 있습니다 .

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

자세한 내용은 이미지 파일 디 먹서 설명서 를 참조하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.