2012-07-24 6 views
0

나는 웹 브라우저에서 안드로이드 원격 제어에 대한 작업을하고 있습니다. 캔버스 또는 플래시와 같은 무언가가 안드로이드 장치의 화면을 그릴 것이며, 나는 그것이 매우 부드럽게되기를 원합니다.실시간으로 웹 페이지에 안드로이드 화면을 렌더링하는 방법

나는 프레임 버퍼를 사용하여 안드로이드 화면을 캡처 할 수 있습니다. 이것에 관한 기사가 많이 있습니다. 그러나 fps는 매우 많습니다. 최대 4 ~ 5fbs입니다. 개선 할 방법이 있습니까?

이는 FFmpeg 도움을?

답변

0

같은 당신은 실시간으로 운영 할 수 없을 것이다 것입니다. 항상 약간의 지연이있을 것입니다. 이것은 인터넷 연결, 장치 하드웨어 속도, 화면 캡처 지연 등과 같은 여러 요인으로 인한 것입니다. 전세계에서 성공적으로이 작업을 수행하는 회사는 지체없이 있습니다.

+0

지연이 허용됩니다. 나는 그것을 줄이는 방법을 원해. 나는 소켓 요청이 받아 들여지면 framebuffer에서 이미지를 읽는 현재의 화면 캡처 방법이 충분하지 않다고 생각한다. –

+0

지연을 측정하는 한 가지 방법은 화면에서 어떤 작업을 수행 한 후에 1/1.5 초 지연으로 볼 수 있어야합니다. 그것을 달성 할 수 있다면 코드가 정상이라고 가정합니다. 그렇지 않다면 코드를 게시하면 도움을 드릴 수 있습니다. – Shafi

+0

글쎄, 1/1.5는 웹 사이트를 상쾌하게하거나 한 장의 그림을 새로 고칠 수 있지만 리모컨에는 사용할 수 없다고 생각합니다. 그것은 비디오와 같은 것이어야합니다. 거의 20 fps의 속도에서만 4 ~ 5. 현재 코드는 다음과 같을 수 있습니다 : code.google.com/p/androidscreencast/ –

0

나는 가상 드라이버 (.so)를 작성하고 설치해야한다고 생각하는데, "droid VNC 서버"와 같은 모든 응용 프로그램은 루트 액세스 수준이 필요합니다.

+0

droid vnc server를 사용했습니다. 하지만 불행히도 내 huawei u8800 + 장치에서는 작동하지 않습니다. –

0

ARM NEON 기반 최적화를 수행 했습니까? 그것은 4 ~ 5fps 이상이어야합니다. 나는 25fps를 쉽게 할 수있는 디스플레이 레코더 앱을 만들고있다. 그러나 원격 처리가 아니라 캡처 된 비디오가 로컬 스토리지에 저장됩니다.

VNC와 같은 솔루션에서 핵심은 루프를 돌지 않고 프레임을 캡처하는 것이므로 비디오 버퍼가 업데이트 될 때만 수행해야합니다.

우리의 vnc 서버가 장치에서 작동하는지 테스트 할 수도 있습니다. VMLite VNC 서버는 루트를 필요로하지 않는 첫 번째 vnc 서버이지만 USB 연결로 서버를 시작해야합니다.

https://play.google.com/store/apps/details?id=com.vmlite.vncserver

+0

최대 25fps의 비디오를 캡처하는 것이 좋습니다. 당신이 어떻게 만드는지 우리와 함께 나눌 건가요? VMLite VNC 서버의 무료 버전이 있습니까? –

관련 문제