|
일반적인 전송 방법으로 한다면.. 속도가 많이 안나오겠죠..? 화면 크기도.. 어느정도로 제한을 두셔야 할것 같습니다. 그렇지 않으면.. 속도가 나오기 힘들겠죠..
1. 화면을 캡쳐한 뒤, 보여줄 크기만큼으로 축소
2. 축소된 비트맵에서 바로 이전의 비트맵과 비교하여 Pixel Color가 다른 곳을 뽑아내서, int 형으로 연산시킴. 만약, 똑같다면 -1 값을 사용.
3. 연산된 값의 픽셀들을 String으로 길게 늘어뜨림
4. 압축 알고리즘으로 해당 String을 압축 (화면 크기가 작으면, 오히려 압축이 더 비효율 적입니다)
몇가지 문제점이 있었는데, 제일 큰 문제는.. 서버에서 화면을 캡쳐할때, 동영상은 캡쳐가 잘 되지 않는다는 점입니다. 그래서 임시 방편으로, 동영상을 멈춘후에, 윈도우에서 화면을 다시 그리게 하고 캡쳐를 했던 기억이 나네요. 역시.. 속도가 많이 떨어지고 비디오 카드마다 다른 성능을 보이는, 별로 좋지 않은 방법이었습니다..
그리고, 전송은 소켓으로 해당 값을 스트림 전송시키시면 됩니다.
하느리 님이 쓰신 글 :
: 한대의 서버에 다수의 클라이언트가 물려 있는 상황에서 서버에서 디스플레이하는 동영상을 클라이언트에도 전송하면서 보이게 하고 싶은데, 방법이 영 떠오르지를 않네요. 어떤 방법을 이용하면 될까요 ?
:
|