구체적으로는 다음과 같습니다. 픽셀을위한 32 비트 부호없는 RGBA 정수 시퀀스가 있습니다. 왼쪽 픽셀에서 시작하는 행당 640 개의 정수, 맨 위 행에서 시작하는 프레임 당 480 개의 행, n 개의 프레임에 대해 반복. 이것을 일반적인 이미지 형식으로 인코딩하지 않고 ffmpeg (또는 다른 인코더)에 쉽게 공급할 수 있습니까?RGBA 값 스트림을 비디오로 인코딩하는 방법은 무엇입니까?
저는 ffmpeg가이 경우에 사용할 수있는 가장 좋은 도구라고 가정하고 있지만 출력 비디오 형식은 중요하지 않습니다.
:가 나는 경우에는 내가 잘못된 질문을 부탁 해요 ... 난 그냥 적당한 키워드를 알고 있다면 설명서를 가르치 려 것 알고, 여기에 내가 가장 높은 수준에서 할 노력하고있어 무엇
나는 디스플레이 트리에서 그려지고 움직이는 Actionscript 코드를 가지고 있으며 프레임별로 BitmapData를 그리는 AIR 응용 프로그램에서이 코드를 래핑했습니다. AIR는이 출력을 직접 인코딩 할 때 비효율적 인 것으로 판명났습니다. 제가 관리해온 최고의 성능은 초당 몇 프레임으로, 적어도 15fps, 바람직하게는 100fps와 같이 렌더링해야합니다. PNG 이미지를 제공하십시오 (AIR는 640x480 PNG를 인코딩하는 데 1 초 이상 걸릴 수 있습니다 ... 소름 끼치는). AIR에서 인코딩하는 대신 원시 바이트 데이터를 인코더 또는 렌더링 된 디스크로 빠르게 보낼 수 있습니다.
왜 내가 애니메이션을 렌더링하기 위해 Actionscript를 사용하고 있는지, 왜 그렇게 빨리 인코딩해야하는지 궁금하다면, 그렇게하지 마십시오. 말하자면, 프레임은 실행 시간에 계산됩니다 (예 : .swf 파일에서 애니메이션으로 저장되지 않음). 생성 할 비디오의 양이 너무 많아 제한된 시간이 걸리고 다른 것 프레임을 생성하는 Actionscript는 옵션이 아닙니다.
는 일부 파고 후, 나는 -pix_fmt 옵션 건너 온 : '는 FFmpeg -pix_fmt RGBA는 640 × 480 -r (15) -f 이미지 2 -i % d.bin -r 15 -s 640 × 480 output.avi' 이를 -s '스트림 # 0.0 : 비디오 : 0x0000, rgba, 1200x675, 15 tbr, 15 tbn, 15 tbc' '디코더 (코덱 ID 0)를 입력에 대해 찾을 수 없습니다. stream # 0.0' ffmpeg는 입력에 디코더를 사용하는 것을 주장하는 것 같습니다. 실제로 rgba 바이트를 사용하는 방법은 없습니까? 다음의 4 살짜리 블로그 포스트는 아니오, 방법이 없다고 주장합니다 : http : // kylecordes.com/2007/pipe-ffmpeg –
image2 대신 -f rawvideo 또는 -f fbdev (프레임 버퍼 장치)를 사용하십시오. 다른 사항을 지정하면 ffmpeg에서 파일의 시작 부분에 코덱 메타 데이터가 필요합니다. –