:: 게시판
:: 이전 게시판
|
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
08/06/17 00:15
일단 avi 와 wmv 는 코덱 자체가 다릅니다.
스킵할때 오래걸리는건 wmv 의 특징인데 구체적인 원리는 저도 잘..;; 아무래도 실시간 스트리밍이 가능하다보니 - avi 를 인터넷으로 볼려면 전체를 다 다운받아야 재생이 가능하지만 wmv 는 조금씩 받으면서도 재생이 가능합니다. - avi 보다 디코딩 방식이 복잡하겠죠.. 그래서 스킵할때마다 계산을 복잡하게 할테고 그래서 오래 걸리는거 같습니다.
08/06/17 00:17
저도 그점이 궁금해서 예전에 검색좀 해봤었는데
대충 이해만 해서 지금은 기억이 나지 않습니다. 다만 코덱 자체 특성이라 인코딩해서 그 증상을 바꿀수는 있다고는 하네요. 그리고 이것은 좀 신기한 점인데 KMPlayer로 재생할 경우 상당수의 버퍼링 영상들의 버퍼링이 보이지 않습니다.
08/06/17 00:33
음... 상당히 전문적인 설명을 드려야만 궁금증이 해결 될것 같군요.
일단 영상에 대한 기본 적인 이론 부터 말씀 드리겠습니다. 동영상은 일반적으로 I-Frame 과 P-Frame의 연속으로 이루어 져있습니다. I-Frame은 그 영상 하나만 가지고 한 화면을 만들수 있는 것이고, P-Frame은 그 바로 전 영상과의 차이점만을 기록한 것이기 때문에 그 영상 만으로는 하나의 화면을 만들수 업습니다. I-Frame은 좀 크고, P-Frame 은 작습니다. (용량이). I-Frame만으로 만든 동영상은 그 싸이즈가 무지 무지 커질수 밖에 없기 때문에 대부분의 동영상은 1초에 1개 정도의 I-Frame과 P-Frame 으로 이루어져 있습니다. (초당 25 Frame 이라면 Iframe 1개 + P Frame 24 개) Seek는 일반적으로 I-Frame 만으로 갈 수 있습니다. 왜냐면 P-Frame은 그전 프레임이 없으면 Decoding이 되지 않기 때문임니다. 대부분의 파일 포멧에는 Seek Table 이라는 것이 있습니다. 기본적으로 Seek는 그 Table에 가고 싶은 시간에 가장 가까운 I-Frame을 찾아 거기서부터 다시 Decoding을 시작 하는 동작입니다. 그런데 만일 Seek Table 이 없다면.... 여기서 문제가 발생 합니다. (Seek Table은 일반적으로 파일 가장뒷부분에 있습니다.) AVI의 경우 SeekTable이 없으면, 모든 Frame을 검색하여 I-Frame Check 합니다. 그래서 Seek Table이 있는 것보다 시간이 오래 걸리거나 Seek가 되지 않습니다. ASF의 경우 SeekTable이 없으면, AVI 처럼 모든 Frame검색하여 I-Frame인지를 확인 해야 합니다. 그런데... ASF의 경우 상 대적으로 몇 번째 Frame 이 파일에 어디쯤 있을지 예측이 어렵습니다. 따라서 ASF는 AVI 보다 I-Frame을 찾는 것이 느릴 수 밖에 없습니다. 대략 적인 설명 입니다. 아무튼 다 받지 않은 파일을 Seek 하면 ASF/AVI 할 것 없이 시간이 걸리지만, ASF의 경우 Frame을 찾아내는 알고리즘이 복작하기 때문에 좀더 걸리는 것 뿐 입니다. 좀더 깊이 들어가면... 머리가 많이 아파지기 때문에 생략 하겠습니다. 아무튼... ASF, AVI, RealMedia, MPEG4 등등의 많은 포맷을 직접 코딩해본 결과.... AVI 사발라면입니다. AVI... MS가 버릴만 합니다. ^^;;;
|