소프트웨어 ffdshow(intel qsync) 설정과 디코더 설정에서의 궁금점
2012.01.07 13:48
댓글이 길어져 새로 글을 작성합니다.
동방전패님 자세한 답변 감사드립니다. :-) 답변을 따라가며 세팅을 하는 과정에서 몇 가지 의문점이 있어서 다시 질문 드립니다.
0. 지난번 문제 : H264에서 PDVD11 Video Decoder 적용 시 일시 정지 후 재생할 때 프리징 발생하는 현상.
동방전패님의 추측대로 소스/스플리터의 문제가 맞네요. AVI 스플리터를 MS AVI Splitter에서 내장 AVI Splitter로 교체해주었더니
문제가 해결되었습니다. ^^ 스플리터를 변경 못한 PowerDVD에서는 여전히 그런 걸 보니 이게 원인이었던 것 같네요.
1. ffdshow 설정
링크해주신 쓰레드를 읽어본 결과,
Intel 2nd Core i3/i5/i7 (Sandy bridge)의 경우 적용된다는 내용인데, 제 CPU인 G530은 2세대 코어 샌디브릿지는 맞는데 i3급은 아닌 셀러론이라서 조금 애매하군요. 자세한 답변은 그 쓰레드에 질문해두겠습니다.
FFDSHOW를 설치하다보면 과정 중에서 몇 가지 설정할 부분이 있네요. 여기서 Enable한 값들로 설정해두면 이것이 레지스트리에 등록이 되고, 팟플레이어 같은 경우에는 시스템 코덱으로 설정할 때 동작하게 되는 값이 되는 것이죠?
제가 관심있는 부분은 H264, AVC1, VC1, MPG2 등의 고화질 영상에서 주로 사용되는
코덱들이라서 이 부분 설정만 간단히 말씀드리겠습니다. 나머지는 대부분 기본 설정값으로 둔 상태라서요.
Format : H.264/AVC의 경우 Decoder를 libavcodec에서 Intel? QuickSync로 변경
MPEG2는 disabled 그대로 (여기에도 Intel? QuickSync 선택은 있습니다.)
VC1도 disabled 그대로 (여기에도 Intel? QuickSync 선택은 있습니다.)
만약 여기서 disabled라고 해도 팟플레이어에서 사용을 원한다면 코덱/필터 설정에서 [시스템 코덱 추가] 후 선택하면 적용 가능으로 알고 있습니다.
시스템 코덱 추가를 할 경우 FFDshow video decorder와 FFDshow DXVA video decorder가 두 가지 따로 나오네요.
후자의 경우 H264, AVC1 등에 적용되는 것으로 생각되는데 따로 DXVA video configuration에서 Profiles/preset settings에서 Hardware acceleration에서 DXVA codecs enabled에서 H264와 VC1을 활성화시켰습니다. (원래는 꺼져있더군요.)
Intel? QuickSync와 libavcodec
FFDshow Video decorder와 FFDshow
DXVA video decorder 에서 각각 하나를 선택해야 하는 것인데
어떻게 세팅되는 건지 모르겠네요. 사실 점유율에선 별 차이가 있는 것 같지도 않구요 ;;
동방전패님이 말씀하센 세팅은 어느 쪽인지 궁금합니다.
3. 어떤 코덱이 제일 좋은가에 대하여
이 부분은 저도 예전에 읽었던 ‘동방전패’님의 글에서 말씀해주신 메시지에 공감합니다. ^^ 제가 말한 Cyberlink가 가장 좋다고 했던 것은 단지 제 기준이었는데 의도가 잘못 전달되었네요.
메인스트림급의 쿼드코어 CPU 사용자의 경우 규격을 안 지킨 좌절 영상이든 뭐든 CPU 가속만으로 여유있게 돌려버리겠지만, 보급형 CPU를 쓰는 제 입장에서는 내장VGA의 DXVA의 가속이라도 최대한 활용해서 점유율을 낮추고, 토렌트 등에서 규격을 제대로 안 지킨 인코딩을 한 동영상이라도 잘 돌릴 수 있는 그런 디코더 위주로 세팅을 찾게 되네요.
다행스럽게도 디코더에 따른 화질 차이는 없다고 하시니 (출력에 따른 색감 차이는 존재하는 것 같지만.. RGB32 NV12 이런 ??) 제가 신경쓸 것은 “CPU 점유율”과 “호환성” 두 가지겠지요. 물론 다양한 옵션 설정이 가능하다면 금상첨화겠지만요.
Cyberlink의 PowerDVD11 코덱으로 설정했더니, DXVA도 MPG2, AVC1, H264의 경우 호환성에도 별 문제가 없었고 (VC1은 약간 문제가 -_-;) 점유율도 다른 코덱들에 비해서 월등히 낮아서 제겐 가장 좋은 선택지였습니다. 다만 유독 팟플 재생정보의 Input에 H264로 나오는 동영상들의 많은 경우 일시 정지 후 재생 시 1-2초 정도의 프리징 후 재생되는 문제 때문에 이것저것 다시 검색을 하게 되었습니다.
덕분에 다른 여러 가지 좋은 디코더들이 있다는 사실을 알게 되었습니다. Arcsoft나 Mainconcept 등이 있겠네요. 기존에 유명한 CoreAVC나 DivX7.0도 있겠구요. 아니면 팟플 내장이나 MS의 디코더들도 있구요. 이것들이 좀 아쉬웠던 것은 개인적으론, 점유율에서 DXVA를 지원하는 것치고는 별로 낮아지는 효과가 없다는 것과 ?보통 다른 분들의 경우 5% 이하까지도 떨어지던데, 제가 내장 VGA라서 그 정도는 무리라도, PDVD 처럼 10% 근처로는 떨어져주길 원했는데 말이죠.-, 호환성 면에서 국내 흔히 공장릴이나 알 수 없는 인코딩에서 (60fps 동영상들이 많겠죠. ㅎ) 제대로 못 돌려주는 경우가 발생하다보니, 일일이 재생하면서 바꿔주기가 귀찮은 면 때문에 그렇네요.
동방전패 님의 글을 읽고 여러 가지 디코더와 세팅, 소스/스플리터 등에 대해서도 좀 알아보고 딱 이런 세팅 (낮은 CPU 점유율과, 높은 호환성) 을 갖추기 위해서 더 알아봐야겠습니다.
댓글 [5]
-
초월신 2012.01.07 14:32 2번에 대해서 말인데요, 오버스펙 영상들은 별로 신경쓰지 않는게 정신건강에 좋습니다.
원본 감상이 목적이면 그냥 MPEG-2 TS 영상을 하드웨어 가속으로 보는게 낫습니다.
(소프트웨어 디코딩은 VGA가 제공하는 고급 디인터레이싱 적용이 안되는 경우가 있어서.....)
1080p 60fps 라면 1080i의 모든 스펙보다 상위에 있는것도 맞고,
다른 Progressive스펙들 보다는 원본 보존에 유리한건 맞습니다만,
어떤 디인터레이싱 방식이건 원본을 100% 보존하지는 못하기 때문에, 오버스펙이 큰 의미가 있는가가 의문이네요.
근본적으로 텔레시네 영상을 디인터레이스 한다는건 두 필드를 합쳐서 인위적으로 가공한다는 얘깁니다.
많이 쓰는 디인터레이스 방식중에 그나마 고급형이라는 Vector Adaptive나 Motion Adaptive 방식들
(VGA에서 제공하는) 이라 하더라도, 원본 TS를 비월주사방식 영상장비(TV...)로 보는것과 똑같은 화면을 만드는건 아닙니다.
최대한 그에 가깝게/자연스럽게 만드는 방식일 뿐.....
더군다나, 일반적으로 오버스펙으로 인코딩 되는 영상들이 그런 고급 디인터레이싱 필터를 썼으리라곤
생각되지 않네요.....거의다 BOB방식이 아닐까 싶습니다.
게다가, 인코딩이란건 하면 할 수록 화질은 무조건 저하됩니다. (오버스펙이라 할 지라도...)
그렇기 때문에 오버스펙 영상을 보기 보단 그냥 원본을 찾는게 낫다는 얘기인거죠.
인코딩의 목적은 용량을 줄이고자 함이지, 원본 보존의 목적이 아니니까요....
-
동방전패 2012.01.07 15:46 MPEG-2, H.264, VC-1 의 HW Deinterlacing은 GPU에서 NV12 출력일 경우에만 받아들입니다.
즉, 디코딩을 CPU 혹은 DXVA 로 하던지 관계없이 Interlaced Flag 정보를 VMR(렌더러에서 할당하도록)로 정하여
컬러 출력이 NV12로 이루어 질 경우 자동으로 HW Deinterlacing이 이루어져 최고급 옵션인 Vector Apaptive가 실행됩니다.
요즘이 아니라 오래전에 FFDShow 등 오픈소스측에서 이 방식으로 CPU 디코딩을 하면서 interlacing 방식은
HW Deinterlacing으로 이끌어 오고 있습니다. 현재는 madVR 뿐만 아니라 팟플에서도 적용되는 개념이고요.
MPEG-2 영상물 같은 경우 워낙 CPU를 적게 차지하므로 굳이 HW 가속을 사용할 필요는 없습니다.
또한, MPEG-2 영상물에서 interlacing 방식 접근 보다는 IVTC 해결 문제가 더 중요하고요.
-
동방전패 2012.01.07 15:48 1) 저는 AMD 사용자라 intel 관련 GPU는 어떻게 알수가 없습니다.
아마도 FFDShow DXVA Video Decoder는 FFMpeg DXVA (MPC Video Decoder와 유사)이고
Intel QuickSync Decoder는 FFDshow Video Decoder에서 지원할 겁니다.
(외장 A,N GPU 사용자도 샌디브리지 이상급의 GPU 내장을 가졌다면 동시에 사용 가능한 방법도 있는 것으로 알고 있는데,
아쉽게도 저는 실험대상에서 제외할 수 밖에 없어요..)
2) 모션블러(강제 더블 프레임 효과)에서....
가장 부드러운 재생을 원하시면 모션블러는 다음 후 순위고요.
모니터 혹은 LCD TV가 24,25,30,60hz 스위칭 가능한 경우가 일순위 입니다.
24/1.001(23.976fps)영상인 블루레이 혹은 립등을 24hz 로 모니터를 스위칭하여 보실 때 가장 완벽하게 부드러운 재생을 합니다.
불행하게도 모니터 혹은 LCD TV가 24hz가 안될 때 배수 개념으로 48, 60hz 로 보는 것이 차선책이고요.
역으로 60hz에 맞추기 위해 프레임을 24/1.001 혹은 30/1.001, 60i /1.001를 60hz에 맞도록 배수 개념으로 프레임을
확장시킬 때 보다 부드럽게 재생됩니다. 물론 이 경우 화질 저하를 감수하시고요.
대다수 최신TV의 경우 Interlaced MPEG-2 경우 59.94필드를 vector adaptive 처럼 자동으로59.94프레임화 시킵니다.
즉, 모니터 주파수에 맞는 프레임을 가질 때 영상 재생이 가장 부드럽기 때문입니다.
(방송녹화본을 다시 재인코딩하는 개념이 아닌)
원본소스를 국내 방송처럼 MPEG-2 1080i60으로 인코딩하는 것보다 H.264 720p/60으로 인코딩하는 것이
더나은 화질이라고 해외문서에 나와 있더군요.
물론 현실적으로 하드웨어 규격의 제한성 때문에 1080p/60은 당분간 주류에 포함되지 못하고요.
H.264 인터레이스된 방송 녹화본을 이야기할 때 좀 더 합리적인 기준이 될 수 있지만
국내 방송분처럼 MPEG-2가지고는 도코리 키재기입니다.
인코딩할 때 MPEG-2 1080i/60를 H.264 720p/24 , 720p/30, 720p/60으로 나눌 수 있는데
(IVTC 개념등도 고려되어야 하지만...)
화질개념에서 동일한 비트레이트라면 프레임수에 따라서 느낌이 완전히 달라집니다.
이론상 720p/60으로 인코딩되어 있으면 모니터상에서 볼 때 제일 부드럽게 진행되겠지만 인코딩을 잘못햇을 경우
또 다른 일거리가 생깁니다.
1080i를 인코딩하여 1080p로 만들때는 돼지목에 진주 목걸이죠.
국내 방송 녹화본 자체도 화질이 엄청 열악한데 거기에 다시 재인코딩하면 1080p가 아닌 480000p 미래의 해상도를
해도 녹화 원본보다 화질이 떨어집니다. 뻥튀기한다고 좋아지진 않습니다.
MPEG-2에 사용되는 필드 2개를 하나의 프레임화 시킬 때 기준으로 보자면
이는 제대로 된 Progressive 1 프레임보다 화질이 떨어집니다.
뻥튀기 해상도는 도움이 안되고 위에 언급한 프레임수는 모니터의 주파수와 영상의 프레임수가 다른것에 기인한
영상 재생의 문제을 완화시킬 수 있으므로 고려해 볼 대상은 됩니다.
그렇다손 치더라도 워낙 MPEG-2 자체가 구리다표라서 ..
H.264는 MBAFF를 사용하여 품질을 좀 더 높이고 있지만 Progressive보다는 못합니다.
3. 팟플에서 Cyberlink VC-1를 WMV에 사용할 수 없습니다. 이는 팟플의 문제가 5% 정도이고 Cyberlink가 95% 문제입니다.
MPC-HC에서만 꼼수로 완벽히 대처할 수 있습니다.
4. Input: H.264 표현은 팟플에서 TS나 M2TS를 재생할 때 나타내는 방식이므로 TS/M2TS에 가장 합리적인 스플리터인
LAV Splitter를 기본적으로 사용하시길 바랍니다.수정: Splitter에 따라 H.264를 다음 필터에 연결할 때 FourCC값을 AVC1, H264로 하는데
저도 좀 구별해서 알고 있었는데 확인해보니 어떤 기준점이 하나도 없네요.
LAV Splitter, 내장필터,mpc-hc 필터의 경우 avc1으로 표현되고
cyberlink demuxer 2.0의 경우 H264로 표현되네요.
따라서, 굳이 구별할 필요가 전혀 없네요.
5. 먼저 해당 GPU가 지원하는 DXVA 를 확인해보시길 바랍니다.
비디오 디코더의 문제 보다는 인텔 GPU의 좀 열악한 환경으로 보고 싶네요.
개인적으로 DXVA 적용 기술만큼은 Splash가 좋지 않나 생각됩니다.
그리고 팟플에서 Tab 키 눌러 나오는 정보는 별로 도움이 안됩니다. -
루키즘 2012.01.08 16:46 상세한 답변 다시 한 번 감사드립니다. 덕분에 그동안 어설픈 지식 가지고 궁금하던 점들이 많이 해소되었네요 ^^
디코더 뿐만 아니라 스플리터도 굉장히 중요하다는 것을 깨달았습니다. 요즘 인코딩이 워낙 대중화되다보니까 원 세팅으로
모든 동영상을 원활히 재생할 수 있는 세팅 찾기가 쉬운 일은 아니군요.
AVI splitter를 내장 스플리터로 바뀐 뒤 일시정지 후 프리징 현상을 해결했다고 생각했는데, 뭔가 재생 자체가 이상하고,
LAV splitter도 같은 현상 .. HANrel이라고 TV 프로그램 릴도 상당히 대중적인 릴인데 저한테만 뭔가 안 맞는 것 같기도 하네요.
내장 디코더에 AVI splitter를 써도 다른 문제들이 원활하긴 한데 0.1초씩 음성과 영상 싱크가 어긋나있는 것을 보니
완벽한 해결이 안되는 걸 보니 들인 시간에 비해서 허무해지긴 합니다. ㅜㅜ
최적화 세팅의 길은 험난하네요. 그래도 동방전패님의 자료들을 하나 둘씩 검색해가며 많이 배웁니다.
-
동방전패 2012.01.08 17:16 오히려 이번에 저도 모처럼 공부 좀 했네요.
팟플 설정을 위해 간단하게 요약한 표을 그려봤습니다.
아래 표는 컨테이너에 따라 해당 스플리터가 작동할 때 하드웨어 가속을 원활하게 하는지 여부를 따진 겁니다.
물론, 차후에 스플리터 및 디코더 등이 업데이트 되면 달라질 수도 있는 값들입니다.
현재 기준으로...
음성 싱크 문제는 ReClock Audio Renderer를 사용하시는게...
ReClock 사용한지 꽤 되었는데 지금까지 문제된 적이 없네요.
번호 | 제목 | 글쓴이 | 조회 | 등록일 |
---|---|---|---|---|
[공지] | 질문과 답변 게시판 이용간 유의사항 | gooddew | - | - |
27778 | 윈 도 우| 윈도7에서 xp로 넘어오는데 동영상 및 파일 로드권한관련 ... [2] | 환상속 | 2848 | 01-08 |
27777 | 윈 도 우| 윈도7에서 xp로 넘어오는데 동영상 및 폴더, 파일 로드권한... | 환상속 | 1831 | 01-08 |
27776 | 소프트웨어| 파이어폭스 임시파일 저장... [1] | ♡오르골 | 2172 | 01-08 |
27775 | 윈 도 우| 페이지 파일&크롬 관련 질문입니다 [1] | 개나리짜증 | 2280 | 01-08 |
27774 | 기 타| bootice 에서 usb 포맷 질문 | 바수 | 3441 | 01-08 |
27773 | 소프트웨어| 시간차 압축해제 명령에 대해 순차적으로 대기하며 (압축파... [15] | 2677 | 01-08 | |
27772 | 하드웨어| 크로스 파이어 사용시 [2] | ♡오르골 | 2422 | 01-08 |
27771 | 윈 도 우| 탐색기에서 파일명 변경시 자동정렬 끄기 [5] | 루브럼 | 5664 | 01-08 |
27770 | 소프트웨어| 블루스크린 메세지가 뜨는데 어떤 오류인가요??? [2] | 아카라미 | 3698 | 01-07 |
27769 | 윈 도 우| 원인 불명 블루스크린 [2] | blahblah | 5917 | 01-07 |
27768 | 윈 도 우| 갑자기 부팅이 안되네요... [1] | 별빛속에 | 2040 | 01-07 |
27767 | 하드웨어| 노트북 해상도로 인한 액정 질문드립니다. [10] | Jinneous | 3606 | 01-07 |
27766 | 기 타| 노트북과 usb 키보드 급질문 도와주세요 [2] | 그만해줘 | 4344 | 01-07 |
27765 | 소프트웨어| 모니터 화면 공유 프로그램? [4] | 이카디아 | 4925 | 01-07 |
» | 소프트웨어| ffdshow(intel qsync) 설정과 디코더 설정에서의 궁금점 [5] | 루키즘 | 4842 | 01-07 |
27763 | 윈 도 우| 파일질라 서버 질문입니다 [1] | 지민아빠 | 2198 | 01-07 |
27762 | 하드웨어| Wake-up on LAN 항목이 어느건지요 [7] | 오뎅궁물 | 5171 | 01-07 |
27761 | 소프트웨어| 정형과 비정형 Data? [1] | 컴하수 | 2479 | 01-07 |
27760 | 하드웨어| i5 사려는데 조언좀 부탁드립니다. [12] | ♡오르골 | 2757 | 01-07 |
27759 | 하드웨어| geforce gt 430 OC-1 어느정도 오버가 적당할까요.. | 기리나 | 2136 | 01-07 |
2. 1080p, 60fps 영상에 대해서..
이 점은 예전부터 궁금하던 것입니다. (동방전패님이 이 분야에서 가장 정확하고 폭 넓은 지식을갖추고 계신 것 같아 명쾌한 답을 얻어보기 위해서 질문 드려봅니다. )
보통 이런 규격으로 만들어지는 것을 보면 국내 방송(보통 가요 프로그램의 clip)을 인코딩한 것인데요. 동방전패님의 말씀처럼 단순 벤치마크 용 또는 규격을 벗어난 억지 인코딩으로 보여지는 것 같습니다.
국내 방송의 경우 1080i에 29.9x fps가 원본인데 인코딩 한 것이 기존 스펙보다 더 나은 1080p에 59,9x fps가 되어버렸으니까 말이죠. 그래서 대부분의 영상은 720p에 29.x fps 정도로 H264/AVC1으로 인코딩 되는 것으로 알고 있습니다.
여기서 제가 궁금한 점은, 인코딩을 통해서 혹은 동영상 플레이어의 설정에서 프레임 수를 두배로 늘릴 수 있다는 것이고, 실제로 동영상을 보면 착각인진 몰라도 더 부드러워 보입니다.
그리고 1080i를 720p로 인코딩하게 되면 i가 p로 바뀌었지만 어쨌든 해상도가 작아지니까 화질이 떨어질 것으로 보이는데 동일 해상도에서 i를 p로 바꿀 수 있는지 여부는 모르지만 1080i를 1080p로 인코딩하면 해상도도 유지할 수 있어서 결론적으로 이렇게 1080p,60fps로 인코딩 했을 때가 화질면에서 규격을 지킨 720p에 30fps보다 더 나은 결과물을 얻을 수 있는 것이 아닌가 하는 점입니다. 원본 TP 보다 프레임이 두배가 되어서 더 부드러운 재생 화면을 볼 수도 있구요.
이 분야에 정확한 지식이 없어서 단지 기본적인 정보와 추측으로 내린 결론입니다. 틀린 부분이 많이 있을 것 같군요 ^^;;