하드웨어 연구소/강좌

팟 플레이어 동영상 옵션 최적화 설정 강좌

Savage3D 2011. 12. 31. 23:11

 

이거 보지 말고 밑에 주소로 들어가서 보샘

 

https://savage3d.tistory.com/521

 

팟 플레이어 동영상 옵션 최적화 설정 강좌 2탄 (2021에디션)

이제는 다음 팟 플레이어가 아니라 카카오 팟 플레이어다. 2011년에 같은 제목의 게시물을 작성한 적이 있고 당시에도 딱히 쓸모있는 글은 아니었으나 지금에서는 아예 가치가 없는 내용이라 2014

savage3d.tistory.com

-----------------------------------------------------------------------
(2014.1.21 추가)

1월16일자로 업데이트된 1.5.44407 버전 이후로 모든 내장코덱이 멀티스레드를 지원하도록 변경되었으며 렌더러(EVR(Vista/ .Net3)) 사용 시 모든 설정이 사용하지 못하도록 비활성화되었습니다. 어쩌면 이전부터 적용이 되지 않았을 수도 있습니다. 영상처리설정을 사용하시려면 EVR Renderless(EVR Custom Present)를 사용하시기 바랍니다. 따라서 본 게시물에 있는 내용들이 대부분 무의미해졌으며 참고 정도만 해주시면 되겠습니다. 내장코덱의 DXVA기능 또한 요근래의 그래픽카드 사용시에는 일부 영상을 제외하고는 거의 문제가 없어 MS DTV-DVD 코덱을 적용할 이유가 없습니다. 열심히 썼던 글이라 글은 내비두겠습니다.
-------------------------------------------------------------


이건 강좌라고 하기도 참 부끄러운 글인데요, 이유는 여기저기서 주워들은 내용을 묶어놓은 내용이기 때문입니다.

다음 팟 플레이어는 기본적으로 디폴트옵션이 잘되어있지만 운영체제가 XP, VISTA, 7 등으로 분포되어있는 현재 상황과 이용자마다 pc사양이 다르다는 조건으로 볼 때 이런 다양한 pc환경하에서 원활히 구동이 가능해야하기때문에 호환성을 위주로 디폴트설정이 되어있는 것 같습니다.

따라서 옵션을 조절하면 자신의 운영체제에 맞는 최적화된 옵션으로 설정하여 화질향상과 끊김없는 영상재생을 할 수 있을 것입니다. 저는 Win7을 기준으로 제 위주의 팟플레이어 설정하는 방법을 글로 남길까 합니다. XP사용자를 위해 별도의 추가적인 내용도 덧붙이구요.

이 글의 작성 기준은 이렇습니다. 별도의 유료 외부코덱(PDVD, CoreAVC, Arcsoft 등)이나 통합코덱 등을 설치하지 않고 내장코덱 위주로 설정하여 복잡하지 않게 하고, 하드웨어 가속(DXVA) 설정과 적절한 디인터레이싱 설정 및 다양한 내부설정을 하여 최대한 영상을 부드럽고 깔끔하게 보려하는 것입니다.

팟 플레이어의 환경설정 메뉴중에서 '코덱/필터' 와 '영상' 딱 두 항목만 건드릴 것입니다. 음성쪽은 제가 몰라서 건드리지 않습니다. 나머지는 자신의 기호에 맞춰서 설정하시면 될 것 같아요.

※ 이 글은 2011년 12월15일자 팟 플레이어 1.5.30857 버전을 사용하여 작성했습니다.

1. 코덱/필터

이 항목에서는 비디오 코덱과 오디오코덱 그리고 스플리터와 필터사용에 대한 설정을 할 수 있습니다.

일단 필터는 아시다시피 플레이어 자체 캡쳐기능이나 부드럽게, 선명하게 등의 설정을 할 수 있도록 해주죠. 일단 내장 영상 처리 필터 설정을 [사용하지 않음] 으로 해 줍니다. 이유는 필터를 사용하게 되면 하드웨어 가속을 사용할 수 없습니다. 그리고 내장코덱을 사용하면 위 옵션에서 내장필터를 꺼도 알아서 사용하게 됩니다.

음 일단 코덱은 모두 내장 코덱을 사용하도록 되어있네요. 코덱/필터의 비디오 코덱 항목으로 내려와서 내장 코덱/DXVA 설정을 눌러줍니다.

왼쪽의 디코더 항목에서 Type2가 있는 디코더는 Type2로, 없으면 Type1 으로 해줍니다. 추가로 텔레시네 인터레이스 인식 사용에서 체크를 해줍니다. 단, 싱글코어 CPU를 사용하는 분이라면 Type1,2가 아닌 일반 디코더를 선택합니다.

※ Type1,2 란 무엇인가?

더보기

팟 플레이어 7월버전 이후에 등장한 옵션으로, 본래는 Thread Slice, Thread Frame 이었으나 얼마 안있어 각각 Type1,2로 이름이 바뀌었습니다. 멀티코어를 제대로 활용하기 위한 방법입니다.

그리고 옆에 있던 [필터/코덱 관리]를 들어가 '검색해서 추가'를 누르면 Microsoft DTV-DVD Video Decoder가 나올 것입니다. 이녀석 덕분에 다른 외부코덱을 설치하지 않아도 되는 것입니다. 들어본 분도 많을텐데요, 이는 원래 7의 미디어 센터에서 사용하는 코덱입니다만 영광스럽게도 팟플레이어에 적용이 가능합니다. xp나 비스타에는 없는 코덱이니 7사용자가 아니라면 이 부분은 패스하도록 합니다.

DTV-DVD 코덱은 놀랍게도 주로 tp,ts 확장자를 가지는 MPEG2코덱과 주로 mkv,mp4 확장자를 가지는 H.264/AVC1코덱 영상 모두 지원하고 하드웨어 가속까지 지원하는 갱장한 코덱입니다.

다 되었으면 이렇게 하면 됩니다. 아까 필터설정에서 내부필터를 껏기 때문에 MPEG2, H.264/AVC1 코덱 영상을 돌릴 때는 하드웨어 가속을 사용하게 됩니다. 따라서 본 코덱에 한하여 캡쳐기능과 영상처리기능 등을 사용하지 못하게 되죠.

이중에 나는 캡쳐기능을 많이 사용한다, 하드웨어 가속 필요없다 하시는분은 내장코덱을 사용하시거나 필터사용을 설정하시면 됩니다. 제가 테스트해본 결과 큰 차이는 없지만 하드웨어 가속을 사용하지 않을 시 내장코덱보다 DTV-DVD코덱이 점유율이 낮았습니다.

아, 추가로 MPEG2코덱은 해당이 없으나 H.264/AVC1 코덱을 사용하는 영상 중에 하드웨어 가속을 사용하면 화면이 깨지거나 영상구동이 제대로 되지 않는 현상이 일어나는 영상이 가끔 있습니다. 이럴때는 위와 마찬가지로 내장코덱을 사용하거나 필터사용을 하면 됩니다. 필터 사용/해제 단축키는 컨트롤+X 입니다. 또한 1080p60fps 급 이상의 영상(좌절영상이라는 이름으로 불리기도 함)은 하드웨어 가속시에 영상이 엄청나게 끊기는 경우도 있습니다. 이럴때도 적절히 하드웨어 가속을 꺼주면 됩니다.

※ 하드웨어 가속이란?

더보기

DXVA(DirectX Video Acceleater)라고 부르는 기능으로, 그래픽카드가 VGA라는 이름을 버리고 GPU라는 이름을 얻을 때쯤해서 생겨난 하드웨어 가속 기능입니다. 그래픽카드의 GPGPU기능중의 하나로 다양한 내용 다 집어치우고, 우리는 이 기능을 사용하여 동영상을 더 원활하게 볼 수 있고 시퓨점유율도 낮아지고 전력소모도 줄일 수 있다는 것이 중요하지요.

2007년즈음을 기준으로 해서 이전에 나온 그래픽카드는 MPEG2 정도만을 가속지원하고 이후에는 H.264/AVC1 또한 가속을 지원하기 시작합니다. 위의 이미지를 보다시피 WMV3/VC1, 플래시스트리밍영상(유튜브같은) 등도 지원합니다. 자신의 그래픽카드가 어디까지 가속을 지원하는지 알아보시려면 DXVA Checker를 받아서 확인해보시기 바랍니다.

응 그런데 DXVA1 도 있고 DXVA2도 있죠. 복잡하게스리.. DXVA1은 오버레이믹서/VMR9 렌더러에서 가속을 지원하고 DXVA2는 오직 EVR 렌더러에서만 가속을 지원합니다. 팟플레이어 블로그에 자세한 내용이 있었는데 운영자님이 폐쇄해버려서 아쉽네요. 아무튼 이것이 우리가 윈도우7을 사용하는 이유입니다. XP에서는 기본적으로 EVR 사용이 불가능하고 닷넷2.0 이상을 설치하면 사용이 가능하다지만 불안정하다는 이야기가 많습니다. 그리고 팟플레이어 내장코덱으로 DXVA기능을 사용해봐도 딱히 맘에 드는 성능이 나오질 않아요. 추가로 IDCT, VLD, MoComp 등의 사용방법도 있는데 잘 모릅니다. 역이산코사인, 모션보상 등 가속사용방법의 차이라 하고 VLD가 제일 좋다합니다.

렌더러 이야기는 잠시 후에 다시하기로 하지요.

2. 영상

드디어 영상으로 넘어왔군요. 위에서 살짝 이야기한 대로 영상 출력 장치는 EVR로 맞춰줍니다. XP 사용자는 오버레이 믹서 추천합니다. 개인적으로 오버레이믹서가 화질이 젤 좋은것 같습니다. 7에서도 오버레이믹서를 사용하고 싶지만, 그리고 사용해도 되지만 에어로가 꺼지는 것과 하드웨어가속이 잘 안되는 단점이 있어서 사용하지 않죠.

추가로 VMR 영상 처리 방법에 3D Texture를 사용하고 VMR9/EVR 크기조절에 Bicubic(A=-1.0) 이렇게 하면 좋다고 하는분들도 있는데 잘 모르겠습니다. 이쪽 알고리즘은 이미지 확대/축소 관련 알고리즘인데 영상쪽에서는 그다지 눈에띄는 영향이 없는 것 같고 처리속도가 느린 bicubic 보다는 비교적 속도가 빠른 bilinear를 권장하고 있습니다.

※ 5/31 추가 : 5월24일자 1.5.33573 버전 업데이트에 VMR9/EVR 크기 조절 방법에 Anisotropic(이방성,비등방성) 추가되었습니다. Direct3D를 쓰는 방식이라는데 실제 작동 여부와 좋다/나쁘다도 아직은 자세히 알지 못합니다. 링크 참고하세요 -

http://cafe.daum.net/pot-tool/Hqfm/1948 ※ EVR에 대한 부가적인 설명

더보기

아 원래 모든 렌더러에 대한 설명이 팟플레이어 블로그에 있었는데 폐쇄되어서 정말 아쉽습니다. 이제는 플레이어 개발자님 머릿속에 있겠죠. VMR9 Renderless 사용하는 분도 많습니다. 하드웨어 가속을 사용할 때는 EVR이지만 가속을 사용하지 않는다면 알아서 적절한 렌더러를 선택하면 되겠죠.

그리고 Direct3D 9Ex는 Flip Mode로 해줍니다. 비스타일 경우에는 Blt Mode, XP의 경우에는 사용하지 않음으로 하면 됩니다.

※ 도대체 Direct3D 9Ex 는 무엇인가?

더보기

기대도 안했겠지만 당연히 저도 모릅니다. 그래서 어떤 분이 써놨던 글을 퍼왔습니다.

시스템적인 설명은 사진으로도 있는데 모르겠고.Direct3D 9Ex Flip Mode present는 읽고 쓰는 횟수를 줄여서 메모리(램) 사용량을 줄이고 소비전력도 낮춰준다. 비스타 이상에서 가능한 Direct3D 9Ex Blt Mode present 보다는 개선된 기능이다. 팟플레이어에도 표시되어 있는데, 사용은 윈7이상에서만 가능하다. XP사용한다면 '사용하지 않음'을 하면 된다.

MS Direct3D 9Ex 관련 페이지 : http://msdn.microsoft.com/en-us/library/ee890072%28VS.85%29.aspx

다음은 컬러스페이스/속성에 들어가 출력 컬러 스페이스를 설정합니다. 여기는 딱히 설정하지 않아도 되는 부분입니다만 왠지 하면 좋을거같아서 올려봤어요. YUY2 또는 자동 선택이 제일 무난해 보입니다. 색공간에 대한 내용도 알아보려 하면 너무 어렵더군요.

※ 5/31 수정 : 컬러스페이스를 YUY2로 해도 큰 문제는 발생하지 않지만 원본색 그대로 표현하기 위해서는 YV12 또는 NV12로 해야 한다고 합니다. 이유는 99%의 영상이 4:2:0으로 서브샘플링이 되기 때문인데 YV12,NV12가 4:2:0이고 YUY2는 4:2:2 머시기라는데 자세한건 모르고 지포스는 YV12로 하시고 라데온은 YV12가 안먹기 때문에 NV12로 하심 되겠습니다.

디인터레이싱. 매우 중요한 부분입니다. 특히 하드디스크 용량이 급격히 많아지면서부터 3분에 400MB가 넘는 TV원본 녹화영상이 많이 돌아다니게 되면서 이부분 설정이 크게 중요해졌습니다. Mpeg2-HD 코덱을 사용하고 tp,ts 확장자를 사용하며 1920*1080 해상도의 영상들. 소위 1080i 라고 말하는 영상. 이것이 인터레이스 영상인 것입니다. [H/W 디인터레이스 사용]을 권장해드립니다. 단, 하드웨어 디인터레이스를 사용하면 내부필터를 사용한 캡쳐시에 인터레이스가 그대로 캡쳐되버리는 문제점이 있습니다. TV원본영상 캡쳐 많이하는분들은 프린트스크린키를 이용하거나 소프트웨어 디인터레이스를 사용해야겠죠. 팟플레이어에서 추천하는 S/W 디인터레이스는 Blending 또는 Linear Interpolation 입니다. 자세한 부분은 접어두겠습니다.

※ 디인터레이싱이 뭐죠?

더보기

TV 소스는 모두 인터레이스 소스입니다. 종종 '잔상' 이라는 단어를 사용해 표현하기도 합니다. 방송을 송출할 시에 짝수필드와 홀수필드를 나누어 송출하기 때문인데 이것때문에 적절한 디인터레이싱을 하지 않을 시에 영상이 어긋나는 현상이 발생합니다. 사진 하나 보도록 하지요.


디인터레이싱을 하지 않을 경우 위처럼 영상이 어긋나게 됩니다. Weave 라고도 하구요. 밑의 자막도 그렇고 손과 마이크 부분도 어긋납니다. 정지영상에서는 관계없겠지만 동영상에서는 문제가 많아지는겁니다. 따라서 디인터레이싱이라는 작업이 필요해지죠.


제대로 디인터레이싱이 된 모습. 하드웨어 BOB 으로 디인터레이싱을 하였습니다. BOB을 단지 프레임 뻥튀기라고만 알고계시는 분들이 있는데 BOB은 짝수필드와 홀수필드를 분리하여 순차적으로 재생하여 30프레임짜리 영상을 60프레임으로 만들어버립니다. 부가적인 설명을 하자면 1920*1080i 30fps짜리 영상을 일단 짝수열과 홀수열을 분리, 1920*540p 60fps로 만든 뒤 다시 해상도를 1920*1080p 60fps로 늘리는 것입니다. 이 말인 즉슨, 해상도(화질)가 절반으로 떨어진다는 이야기가 됩니다. 그대신 화면은 훨씬 부드러워지죠.


소프트웨어 디인터레이싱인 Blending 으로 디인터레이싱을 하면 위 이미지처럼 두 영상이 곂쳐보이는 것처럼 됩니다. 자세한 내용이 없어서 제 생각을 덧붙여보자면, BOB처럼 일단 짝수열과 홀수열을 분리한 뒤 따로 뿌리는 것이 아니라 그냥 한 프레임에 곂쳐버리는 방법이 아닐까 생각하고 있습니다.

아쉽게도 하드웨어 디인터레이싱 방법은 Weave와 BOB 두가지밖에 없습니다. 라데온 그래픽카드의 경우에는 Motion Adaptive와 Vector Adaptive라는 방법을 지원하지만 이 또는 BOB의 연장선일 뿐 새로운 것이 아닙니다. 동작적응형이라 부르는 이 디인터레이싱 기술은 정지화면에서는 Weave, 움직이는 화면에서는 BOB을 사용하는 적응형 방법이지만 움직임이 많은 영상이 대부분이기 때문에 큰 의미가 없고 분명히 움직이는 화면에서도 Weave를 먹여서 잔상이 생기는 경우도 있구요.

하지만 인터레이스소스를 제대로 보기 위한 최선의 방법이 BOB 이 아닐까 싶습니다. 다음 팟 플레이어에서는 다양한 소프트웨어 디인터레이싱 방법을 제공하지만 모두 테스트해 본 결과 맘에 드는 녀석이 하나도 없었습니다. S/W 디인터레이싱 중에도 BOB이 있습니다만 아까 말했듯이 60프레임으로 변환하기 때문에 시퓨 점유율이 높아지고 그 말은 전력소모도 올라간다는 말이 됩니다. 가능하면 H/W 디인터레이싱을 추천하는 것입니다. 부득이하게 캡쳐를 하고싶은분들은 S/W BOB을 사용하는게 좋겠죠.

테스트 영상 링크 올립니다. DVD 또는 케이블QAM 해상도인 720*480i 영상입니다. 이 영상을 사용해서 다양한 디인터레이싱을 테스트해보면 디인터레이싱이 얼마나 중요한지 알 수 있을겁니다. http://dl.dropbox.com/u/8424544/Slices/Video/SD_NTSC_29.97_480i.ts

딱히 별 내용 아니지만 설정해보면 은근히 도움이 될 지도 모르는 설정을 알아보았습니다. 이용자에 따라 맘에 안드는 부분이나 적용하기 힘든 부분도 있을 것입니다. 요즘은 CPU성능도 좋아지고 내장코덱의 멀티코어 사용능력이 매우 좋아서 하드웨어 가속을 사용할 이유를 느끼지 못하는 분들은 하드웨어가속을 사용하지 않아도 됩니다. EVR 또한 사용하지 않아도 됩니다. 하지만 디인터레이싱은 하드웨어 가속을 추천하는 바입니다. 특히 TV수신카드를 구입해서 컴퓨터로 TV보시는 분들은 전용플레이어로 보는 것 보다 팟플레이어 TV수신기능을 이용하는 것이 더 좋습니다. 비교해보시면 확실히 알 수 있습니다. 그럼이만.