2012-10-29 2 views
1

저는 Arm Linux 디바이스, 특히 (FriendlyArm 2440)에서 몇 가지 작업을하고 있습니다.arm Linux에서 CMOS 카메라의 스트림을 읽어 비디오/사진으로 변환하십시오.

나는 ("/dev/camera")

가 어떻게이 비디오/사진 파일로 변환 할 수있는 CMOS 카메라를 엽니 다?

내 현재 코드는 다음과 같다 :

FileInputStream fis = null; 
    try { 
     String file = "/dev/camera"; 
     fis = new FileInputStream(file); 

     byte[] buffer = new byte[1024]; 
     int count = fis.read(buffer); 

     while (count != -1) { 
     System.out.println(buffer); 
     count = fis.read(buffer); 
     } 
    } catch (IOException ex) { 
     System.out.println("Error: " + ex.getMessage()); 
    } finally { 
     try { 
     fis.close(); 
     } catch (IOException ex) { 
     System.out.println("Error: " + ex.getMessage()); 
     } 
    } 

마지막으로 나는 PC에 클라이언트 프로그램에 소켓을 통해 데이터를 전송하고 바로 라이브 스트림 표시가 나 를 통해 파일을 저장합니다.

비디오/사진으로 저장하려면 어떤 기술이나 라이브러리를 사용해야합니까?

+0

행운을 빕니다. 그렇게해도 충분하지 않다면 원하는 비디오 파일의 종류와 원하는 압축 코덱을 연구해야합니다. – DThought

+0

1) '?'를 추가하십시오. 질문하기. 2) 게시물 끝에 노이즈를 남겨주세요. –

답변

0

gstreamer 패키지를 살펴 보는 것이 좋습니다. FriendlyArm 2440 보드가 gstreamer를 지원하는지는 확실하지 않지만 gstreamer를 직접 컴파일하고 추가 할 수는 있습니다. 그런 다음 카메라를 지원하는 사용자 정의 플러그인을 생성 한 다음 많은 사용 가능한 plugins을 사용하여 보드에서 비디오를 생성/인코딩하고 비디오를 스트리밍 할 수 있습니다 ... CPU 리소스가 있다고 가정합니다.

수신 PC 쪽에서 gstreamer를 사용하여 비디오/사진을 수신 및 표시하거나 처리 할 수도 있습니다. 이는 또한 PC로 원시 비디오를 스트리밍하고 PC가 처리하도록 할 수 있습니다 (그러나 더 많은 네트워크 대역폭이 필요함). 당신은 단순히 당신이 읽은 바이트 스트림을 덤핑하여 "하드웨어 특정 원시"동영상 파일로 변환 할 수 있습니다

관련 문제