LEADTOOLS Multimedia DLL 배포 방법

배포하려면 애플리케이션에 어떤 DLL이 필요한지를 고려해야 하는데 헬프 파일 항목을 먼저 확인해야 합니다 : Files to be Included With Your Application .

헬프 파일 항목에서 사용자가 쓰고 있는 기능에 따라 어떤 DLL을 배포할지 결정 합니다. 이렇게 하는 것이 어렵다면 아래에 있는 문제 해결 팁을 참고 하십시오 :

Multimedia SDK에 있는 대부분의 DLL은 COM 오브젝트이므로 시스템에 등록해야 합니다.  하지만, 몇 몇 예외가 있기도 합니다 :

  • Couple Codecs (예, H.265 codec, AAC Encoder, & AC3 encoder)용 Couple Helper/Kernel DLL이 있는데 이런 DLL은 해당 코덱을 제대로 등록하기 위해서는 연관된 코덱과 함께 배포되야 합니다.

  • .NET에는 Leadtools.Multimedia.dll, Leadtools.MediaFoundation.dll과  Leadtools.MediaStreaming.dll이 있는데, 모두다 본래의 .NET 어셈블리로 RegSvr32와 함께 등록할 수 없습니다. 이런 DLL은 애플리케이션 EXE와 동일한 디렉토리에 배포 합니다.

  • .NET에는 Visual Studio로 생성되는 Interop 이나 Axinterop이 있습니다. 이런 DLL이 LEADTOOLS COM 오브젝트를 래핑(Wrap)은 하지만 등록할 필요는 없으며 애플리케이션 EXE와 동일한 디렉토리에 배포 합니다. Reg-Free COM을 사용할 경우에는, LEADTOOLS가 래핑한 COM 오브젝트를 등록할 필요는 없습니다. 추가 정보가 필요하면 Registry-free Activation에서 헬프 파일 항목을 참고 하십시오.

어떤 DLL이 필요한지 결정한 후 다음 순서를 따릅니다 :

  1. 배포할 기기의 C:\Windows\SysWow64 디렉토리에 COM DLL을 복사 합니다.
  2. C:\Windows\SysWow64\cmd.exe 를 관리자로 실행 합니다.
  3. C:\Windows\SysWow64\RegSvr32.exe를 사용하여 DLL을 등록 합니다.
  4. 애플리케이션 EXE를 배포 기기에 복사 합니다.
  5. [선택 사항] .NET wrapper DLLs을 사용자의 EXE와 동일한 디렉토리에 복사합니다.

이때 사용자의 애플리케이션이 배포 되어야 합니다. 예상치 못한 문제가 발생하면 아래의 문제 해결 팁을 참고 하십시오.

문제해결(Trouble shooting) :
특정 애플리케이션(예, DVR 앱, 간단한 플레이백, 스크린 캡처 앱 등)에 필요한 것을 정확하게 말해주지 않기 때문에 배포와 관련된 헬프 파일 항목을 따라 하기 어려울 수 있습니다. 헬프 파일 항목은 개개의 특정 툴킷 기능에 대해 어떤 어떤 DLL이 필요할 것이라는 식으로 기술되어 있다는 것을 참고 하십시오.

캡처와 변환 애플리케이션 관련하여 강조할 만한 3가지 메소드/속성은 다음과 같습니다 :

    • Audio compressor - put_Selection(index) / AudioCompressors.Selection
    • Video compressor - put_Selection(index) / VideoCompressors.Selection
    • Multiplexer - put_TargetFormat() / TargetFormat

플레이어/변환 애플리케이션과 관련한 요점은 어떤 demultiplexer가 주어진 파일 Extension과 함께 사용되며, 어떤 압축(오디오/비디오)이 해당 컨테이너(Container)에서 지원되는지를 아는 것 입니다. 이것을 확인하는 빠른 방법은 MS의 GraphEdit나 TopoEdit 같은 유틸리티 프로그램을 사용해 파일을 렌더링하는 것 입니다.

  • DirectShow 기반의 애플리케이션의 경우, LEADTOOLS로 빌드한 기본 미디어 그래프와 함께 모든 것이 시작하고 끝납니다. 내부를 들여다 보기 위해서는 사용 중인 콘트롤이 제공하는 EditGraph 메소드를 사용할 수 있습니다.  이 메소드로 그래프를 기기에 등록하여 MS의 GraphEdit 유틸리티 같은 그래프 툴로 검사할 수 있습니다.  

GraphEdit 는 개발 용 기기와 배포 용 기기에 모두 사용할 수 있습니다. 애플리케이션이 개발 용 기기에서 동작한다면 그래프가 어떻게 보일지를 알 수 있기 때문에 배포 용 기기에서 나타나는 것과 비교해 볼 수 있습니다. 두 개를 비교하는 것이 문제를 판독하는데 도움이 됩니다.
좋은 점 : 이 메소드는 사용자가 애플리케이션의 상태를 아는데 도움이 될 것이다.
나쁜 점 : 이 것을 사용하려면 코드를 수정해야 한다

  • 사용을 고려해 볼만한 다른 방법으로는 MS의 Process Explorer가 있습니다. 이 유틸리티로 어떤 DLL이 런타임에서 로딩되는지를 알 수 있습니다. 개발 용과 배포 용 기기 모두에서 수행 가능하며 누락된 것을 비교할 수 있습니다.

코드 수정을 원하지 않거나 수정할 수 없을 경우에 이 유틸리티를 사용할 수 있으며 애플리케이션에서 무엇이 일어나는지에 대한 아이디어를 얻을 수 있습니다. 애플리케이션에 필요하지 않은 수많은 DLL이 로딩될 수 있어 이상적인 툴은 아니지만, 작업에 가장 필요한 필터와 변환을 파악하는 정상적인 프로세스를 통해 요청하기 때문에, 배포에 무슨 필터가 필요한지를 빨리 알아볼 수 있는 방법 입니다.
좋은 점 : 애플리케이션 코드를 수정할 필요가 없다.
나쁜 점 : 필요하지 않은 수 많은 DLL이 나열될 수 있다.

애플리케이션이 배포되면 잠금 해제 지원이 적절하게 되는지 확인할 필요가 있습니다. 이 부분에 대한 추가 도움은 헬프 파일 항목의 Unlocking LEADTOOLS Multimedia Features 을 참고 하십시오.

 

Copyright © 2020 by Hyubwoo. Info. Tech. Co., Ltd. All rights reserved.