DirectShow¸¦ ÀÌ¿ëÇÑ µ¿¿µ»ó Àç»ý ÄÄÆ÷³ÍÆ® TEVMRPlayer¿Í À̸¦ ÀÌ¿ëÇÑ µ¥¸ð ÇÁ·Î±×·¥À¸·Î C++·Î ¸¸µé¾îÁø MicrosoftÀÇ VMR9Demo project ¼Ò½º¸¦ Delphi·Î º¯È¯ÇÏ°í, ¿©·¯ ±â´ÉÀ» Ãß°¡ÇÏ¿© º°µµÀÇ ¿ÜºÎ ¶óÀ̺귯¸®°¡ ÇÊ¿äÇÏÁö ¾Ê°í DirectShow¸¦ ¸ð¸£´Â »ç¶÷µéµµ ÀÌ¿ëÇϱ⠽±°Ô ÄÄÆ÷³ÍÆ®·Î ¸¸µé¾ú½À´Ï´Ù. Ư¡À¸·Î´Â, 1. DSPack °°Àº ¿ÜºÎ ¶óÀ̺귯¸®³ª ÄÄÆ÷³ÍÆ® ¾øÀÌ DirectShowÀÇ ÇÔ¼ö¸¦ Á÷Á¢ È£ÃâÇÏ´Â ¹æ½ÄÀ¸·Î ¸¸µë 2. LAV FiltersÀÇ ¼Ò½º ÇÊÅÍ, ¿Àµð¿À µðÄÚ´õ ¹× ºñµð¿À µðÄÚ´õ¸¦ ±âº» ÇÊÅÍ·Î ¿ì¼± Àû¿ëµÇµµ·Ï ÇÏ¿© °ÅÀÇ ¸ðµç Á¾·ùÀÇ µ¿¿µ»ó Àç»ýÀÌ °¡´ÉÇϵµ·Ï ÇÔ. (LAV Filters´Â ¼³Ä¡ ÀÛ¾÷¾øÀÌ ÇÊÅÍ°¡ µé¾îÀÖ´Â Æú´õ¸¸ ÁöÁ¤Çϸé ÄÄÆ÷³ÍÆ® ³»¿¡¼ °ü·Ã ÇÊÅ͸¦ Á÷Á¢ ·ÎµùÇÏ¿© »ç¿ëÇÔ) 3. Video Renderer´Â EVR, VMR9 ¹× madVR Áß¿¡¼ ¼±ÅÃÇÒ ¼ö ÀÖÀ¸¸ç Windowless ¸ðµå·Î µ¿ÀÛÇÔ (madVRÀº ¿À¹ö·¹ÀÌ À̹ÌÁö 󸮽ÿ¡ EVRÀ̳ª VMR9°ú ´Ù¸£°Ô µ¿ÀÛÇϹǷΠÁÖÀǸ¦ ¿äÇÔ) 4. Direct3D surface¸¦ ÀÌ¿ëÇÑ À̹ÌÁö ¿À¹ö·¹ÀÌ ±â´ÉÀ» Á¦°øÇÔ (´Ü, madVR video renderer¸¦ »ç¿ë½Ã´Â Direct3D Surface¸¦ ¾²Áö ¾Ê´Â ¹æ½ÄÀ¸·Î 󸮵Ê) 5. ÇÁ·Î±×·¥ µ¿À۽ÿ¡ Graph ÀνºÅϽº¸¦ ½Ã½ºÅÛÀÇ Running Object Table¿¡ µî·ÏÇϹǷΠGraphEdit¸¦ ½ÇÇàÇÏ¿© GraphEditÀÇ File - Connect to Remote Graph.... ¸Þ´º¸¦ ÀÌ¿ëÇؼ filterÀÇ ¿¬°á»óÅÂÀ» ¾Ë ¼ö ÀÖÀ½
¹èÆ÷ ÆÐÅ°Áö¿¡ ÄÄÆ÷³ÍÆ® ¹× µ¥¸ð ÇÁ·Î±×·¥À» ±¸¼ºÇÏ´Â Àüü ¼Ò½º ÇÁ·Î±×·¥°ú LAVFiltersÀÇ ÇÊÅͼ¼Æ®¸¦ Æ÷ÇÔÇÏ°í ÀÖÀ¸¸ç, ÄÄÆ÷³ÍÆ® ¹× µ¥¸ð ÇÁ·Î±×·¥Àº ´©±¸µçÁö ÀÚÀ¯·Ó°Ô ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹ö±×¸¦ ¹ß°ßÇ߰ųª ÀÚüÀûÀ¸·Î ¾÷µ¥ÀÌÆ®ÇÑ ³»¿ëÀÌ ÀÖÀ¸½Å ºÐÀº ¾Ë·ÁÁÖ½É °í¸¿°Ú½À´Ï´Ù.
** Âü°í) 1. ÄÄÆ÷³ÍÆ® ÆÐÅ°Áö¿¡ TEVMRPlayer¸¦ Ãß°¡ ÈÄ Delphi ½ÇÇà½Ã¿¡ TEVMRPlayer°¡ Æ÷ÇÔµÈ ÄÄÆ÷³ÍÆ® ÆÐÅ°Áö°¡ ·ÎµåµÇÁö ¾Ê´Â ¹®Á¦°¡ ¹ß»ýÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ÀÌ ¶§´Â µ¨ÆÄÀÌ°¡ ¼³Ä¡µÈ Æú´õ ¾Æ·¡ÀÇ bin Æú´õ¿¡ ¹èÆ÷ ÆÐÅ°Áö¿¡ Æ÷ÇÔµÈ d3dx9_33.dllÀ» º¹»çÇؼ ³Ö¾îµÎ¸é ÇØ°áµË´Ï´Ù. 2. À©µµ¿ì 8 ½Ã½ºÅÛ¿¡ µ¿¿µ»ó ÄÚµ¦ CoreAVC ¼³Ä¡ ÈÄ Delphi·Î µð¹ö±×½Ã¿¡ µ¨ÆÄÀÌ°¡ ´Ù¿îµÇ´Â ¹®Á¦°¡ ÀÖÀ½. ¹«·á µ¿¿µ»ó ÄÚµ¦ LAV Filters¸¦ ¼³Ä¡ ÈÄ¿¡´Â º°´Ù¸¥ ¹®Á¦°¡ ¹ß»ýÇÏÁö ¾Ê¾ÒÀ¸¸ç, °ÅÀÇ ¸ðµç Á¾·ùÀÇ µ¿¿µ»óÀ» ó¸®ÇÏ´Â ÁÁÀº ¼º´ÉÀ» º¸ÀÓ.
** ¹ö±×) º¼·ý ¼³Á¤Àº Sound RendererÀÎ Directsound¿Í ¿¬°áµÇ´Â ¿Àµð¿ÀµðÄÚ´õ¿¡ µû¶ó µÇ±âµµ ÇÏ°í ¾ÈµÇ±âµµ ÇÕ´Ï´Ù.
** madVR video renderer »ç¿ë½Ã ÁÖÀÇ»çÇ× 1. ¿À¹ö·¹ÀÌ À̹ÌÁö°¡ Ãâ·Â ºñµð¿À Å©±â º¯°æ¿¡ µû¸¥ ½ºÄÉÀϸµ 󸮰¡ ¾ÈµË´Ï´Ù. 2. PreserveAspectRatio(¿øº» Á¾È¾ºñ À¯Áö ¿©ºÎ ¼³Á¤) property°¡ False·Î¸¸ ÀÛµ¿µË´Ï´Ù. 3. function SetBitmapFromFile Áö¿øÀÌ ¾ÈµË´Ï´Ù.
¸¸µç »ç¶÷ : Çö½Çȯ (hyunsh@hanafos.com)
Ver 0.4 2015³â 4¿ù 13ÀÏ - Video renderer·Î madVRÀ» Ãß°¡ÇÔ. (ȣȯ¼º ¹®Á¦ ÀÖÀ¸¹Ç·Î »ç¿ë½Ã ÁÖÀÇ ¿ä¸Á) - LAV FiltersÀÇ ¼Ò½º ÇÊÅÍ, ¿Àµð¿À µðÄÚ´õ ¹× ºñµð¿À µðÄÚ´õ¸¦ ±âº» ÇÊÅÍ·Î ¿ì¼± Àû¿ëµÇ°Ô ÇÔ. - ¹Ù²ï ÇÔ¼ö : function SetMediaFile (ÆÄÀϸí ŸÀÔÀ» pChar¿¡¼ stringÀ¸·Î º¯°æ) - Ãß°¡µÈ ÇÔ¼ö : procedure SetLAVFiltersFolder (LAV Filters°¡ ÀÖ´Â Æú´õ ÁöÁ¤) - »èÁ¦µÈ ÇÔ¼ö : function UpdateBitmapFromImage2, function SetBitmapParams2 * v0.4.1¿¡¼ ¼öÁ¤ - Á¾·á½Ã exception error ¹ß»ýÇÏ´Â ¹ö±× ÀâÀ½(2015-04-14)
Ver 0.3 2015³â 4¿ù 10ÀÏ - enum type TPlayerStateÀÇ ¸â¹ö Áß "psStandby"¸¦ "psNotReady"·Î º¯°æÇÔ (ÀǹÌÀÇ ¸íÈ®È) - property Á¦°Å : VMR9RendererReady, ReadyToPlay (À§ 2°³ÀÇ property´Â property PlayerStateÀÇ °ªÀÌ "psNotReady" °¡ ¾Æ´ÑÁö È®ÀÎÇÏ¸é µÊ) - Graph ±¸¼ºÀ» GraphBuilderÀÇ RenderFile ¸Þ¼Òµå¸¦ »ç¿ëÇÏÁö ¾Ê°í ¼Ò½ºÇÊÅ͸¦ ·Îµå ÈÄ Sound Renderer ¹× Video renderer¿Í ¿¬°áÇÏ´Â ¹æ½ÄÀ¸·Î ȯ¿øÇÔ (Àç»ý ´ë»ó ÆÄÀÏÀ» ¹Ù²Ü ¶§ ¼Ò¿äµÇ´Â ½Ã°£À» ÁÙÀÓ)
|