2011-04-20 4 views
0

나는 안 드 로이드에서 라이브 비디오를 PC로 스트리밍하는 안드로이드 어플리케이션을 개발 중입니다. 나는 프레임 비디오를 Camera.onPreviewFrame()에 캡처 한 다음 소켓을 사용하여 서버에 byte[]YUV 데이터를 전송하는 중입니다.안드로이드에서 YUV 프레임 스케일링

이 방법은 정상적으로 작동합니다. 내가 직면하고있는 문제 만이 아니다. 초당 프레임 수 이제 4-5fps이고 15-16fps를 달성하고 싶습니다.

이것을 달성하기 위해 나는이 YUV 데이터를 압축하려고합니다. 현재 내 애플 리케이션 해상도 320 X 240의 프레임을 제공합니다. 나는 그것을 줄일 수 있도록 그것을 스케일 다운 싶어요. 네트워크에서 보낼 바이트 수 이 작업을 수행 할 수있는 라이브러리 또는 알고리즘이 있습니까?

안드로이드 휴대 전화에서 PC로 라이브 비디오를 스트리밍하는 다른 방법이 있습니까?

답변

1

YUV 데이터 크기를 조정하는 것이 좋습니다. 하지만 휴대 전화의 최대 해상도가 다른 것보다 좋습니다.

  1. YUV -> anoter 색 공간 (RGBA, BGRA, ARGB .. 등)
  2. 가 OpenCV의 또는 메트 사용 RGBA 크기 조정 ...
  3. 처리
  4. 하면 (최대) 크기 조정