Adobe에서 제작 한 많은 멀티미디어 처리 소프트웨어 제품, 오디오 및 비디오 편집, 이미지 처리, 그래픽 디자인, 영화 및 텔레비전을 다루는 소프트웨어 제품이 많이 있습니다. 소프트웨어의 기능을 확장하기 위해 Adobe는 개발자에게 소프트웨어 기능의 기능을 늘리는 두 가지 방법 인 플러그인 (플러그인) 및 확장자를 제공합니다. 작년에 공식 SDK를 사용하여 두 개의 프리미어 플러그인이 개발되었는데,이 공식 SDK는 멀티미디어 파일 및 비디오 스트림 미리보기를 소개하여 사용자 정의 형식을 소개하는 데 사용되었습니다. 최근에 나는 Adobe Extension의 개발을 경험했습니다.
Adobe 플러그인은 일반적으로 바닥에 더 가까운 함수를 제공하는 데 사용됩니다. 공식적으로 효율성을 고려하기 위해 제공된 플러그 인 SDK는 C ++ 언어를 기반으로합니다. Adobe Extension은 Adobe CS 시대에 상위 레벨 응용 프로그램의 확장에 편향되어 있습니다.
Adobe CC 시대에는 HTML5가 구현되어 개발자가 HTML5, CSS3, JavaScript 및 NodeJS와 인터페이스 할 수 있습니다. Adobe는 PremierePro에 CEF를 포함시키기 때문에 HTML5를 효율적으로 분석하고 렌더링하고 NodeJS 프로그램을 실행할 수 있습니다. Nodejs는 시스템 기능 호출을 실현할 수 있으므로 너무 인색하지 마십시오! 이 기사에서는 아마도 Adobe 확장 여행을 개발하기 위해 HTML5의 사용을 요약 할 것입니다. 아래 그림과 같이 우리가하고 싶은 확장은 매우 간단합니다.
이것은 잘 알려진 외국 비디오 자료 거래 웹 사이트 Pond5에서 개발 한 프리미어 프로 확장으로, 사용자는 웹 사이트에 로그인하거나 미리보기 자료를 다운로드하거나 고소화 자료를 구매하거나 자동으로 비디오를 가져 오거나 PR에서 비디오를 자동으로 교체 할 수 있습니다. 사용자는 작동하려면 웹 사이트에 로그인하려면 검색을 열어야합니다. 이는 사용자 경험이 크게 향상됩니다. ShutterStock에서 개발 한 플러그인과 유사합니다.
2. 개발 환경Adobe는 공식적으로 Eclipse를 기반으로 Adobe HTML5 확장을 개발하기위한 IDE를 시작했습니다. 따라서 다음 과정에 따라 먼저 개발 환경을 구성 할 수 있습니다.
Eclipse 다운로드, 3.6 이상, Extension Builder가 가장 좋습니다.
Adobe Premiere Pro 2014/2015를 설치하십시오
디버그 모드 열기 : 레지스트리에 'PlayerDeBugMode'필드 추가
구성이 끝나면 Eclipse를 사용하여 확장 템플릿 프로젝트를 생성 할 수 있습니다. 생성 된 템플릿 프로젝트는 매우 간단합니다.
3. 엔지니어링 구성 Manifest.xml 파일Adobe HTML5 확장자의 가장 중요한 파일은 sanifest.xml입니다. 이 파일은 Adobe 호스트 프로그램이 정상적으로 식별하고로드 할 수 있도록이 확장의 기본 정보를 설명합니다. 일반 내용은 다음과 같습니다.
그 중에서도 Bundlename, Bundleid 및 Bundleversion은 개발자에 의해 결정되며 일반적으로 일반 버전에 따라 반복됩니다. 가장 중요한 것은 호스트리스트와 요구 사항이라는 두 가지 레이블입니다. 호스트리스트는 어떤 호스트 프로그램 이이 확장을 지원하는지 결정합니다 (예 : PremierePro, After Effects 등). 다음 코드는 여러 호스트 프로그램을로드 할 수 있음을 나타냅니다.
여기서는 Photoshop 확장 만 지원하며 호스트 ID는 PHX에 해당합니다.
버전은 사각형 브래킷 형태 [14.0, 14.9]를 사용하는데,이 확장 지원 버전 14.0-14.9 Photoshop 은이 버전의 Photoshop이 확장되지 않은 것보다 낮다는 것을 나타냅니다. 그러나 특정 버전의 모든 버전이 지정된 경우 디자인하는 방법은 무엇입니까? 예를 들어, 2014 년 이상 PremierePro CC를 지원하려면이 버전을 지정하는 방법은 무엇입니까? 최소 버전 번호 만 작성하십시오.
또한, 그것은 요구 사항이라는 레이블입니다. 이 레이블은 런타임의 CEP 버전을 지정합니다. SO -CALLED CEP는 공통 확장 성 플랫폼의 약어입니다. 이는 개발자가 ExtendScript 코드를 수행하고 호스트 프로그램의 환경 변수를 탐색하고 확장 및 호스트 사이에 전송되는 프로세스 이벤트를 제공하는 핵심 서비스 세트를 제공합니다. CSX라고하는 Creative Suite Extensible Services라는 이전 서비스 세트. 따라서 CSX의 약어는 여전히 일부 구성 파일에서 볼 수 있습니다. CEP의 첫 번째 버전은 4.X입니다.
위의 그림과 같이, 호스트 프로그램의 예비 CC 버전을 지원하려면 필요한 구역의 버전은 4.0으로 설정됩니다. 그렇지 않으면 정상적으로로드 할 수 없습니다. 또한 확장자에서 파일 시스템에 액세스하려면 몇 가지 추가 매개 변수를 지정해야합니다.
서명 검증을 비활성화합니다개발할 때 언제든지 확장 코드를 조정해야합니다. Adobe 호스트 프로그램은 서명없이 확장에 의해로드되지 않습니다. 따라서 개발할 때 확장에 서명 할 필요가 없도록 커미셔닝 모드를 열어야합니다.
MAC에서 ~/library/preverences/com.adobe.csxs.6.plist 및 라인 추가는 PlayerDeBugMode입니다. 유형은 String이며 값은 Windows에 설정되어 있습니다. /adobe/csxs.6, 문자열과 1 값을 가진 유형의 키 값 쌍의 키 값 쌍을 추가하십시오.
참고 : 호스트 프로그램의 버전이 다른 경우 해당 파일이 다를 수 있습니다. 예를 들어 CC2017은 해당 부분을 CSXS.7로 변경해야합니다.
크롬 디버깅크롬 디버깅 도구는 확장 출력을 관찰하고 확장의 DOM 구조를 탐색하는 데 도움이되며, 이는 디버깅에 매우 도움이됩니다. 크롬 디버깅 도구를 활성화하는 것은 매우 간단합니다.
이 목록은 다른 호스트 프로그램을 디버깅 할 때 사용되는 다른 포트를 보여줍니다. Pond5를 예로 들어, .debug 파일의 내용은 다음과 같습니다.
디버깅 프리미어 확장을 지정할 때 포트는 8089입니다. 아래 그림과 같이 :
CEP 캐시 청소개발할 때는 CEF가 웹 컨텐츠를 캐싱하는 것을 금지 할 수 있습니다.
Windows : C :/Users/Username/AppData/local/temp/cep_cache/mac :/username/library/csxs/cep_cache
물론 Adobe의 개발자들은 또한 지정된 CEF 매개 변수 <매개 변수>-disable-application-cache </parameter>가 CEF 캐시를 비활성화하기 위해 작동했지만 작동하도록 시도했다고 말했다. 확장 폴더 확장에는 두 가지 유형의 시스템, 시스템 및 개인 성격이 있습니다. 시스템이 확장자와 함께 설치되면 확장 파일은 다음 위치에 저장됩니다. Mac, :/Library/Application Support/Adobe/Extensionson Windows :/Program Files (x86)/Common E/CEP/Extensions
이러한 방식으로 현재 시스템의 모든 사용자 가이 확장을로드 할 수 있습니다. 현재 사용자에게 설치할 수도 있으며 위치는 다음과 같습니다.
MAC : ~/Library/Application Support/Adobe/CEP/Extensionson Windows : C : // AppData/Roaming/Adobe/Extensions Signature Package
확장을 게시 할 때는 전체 패키지에 서명해야합니다. 공식 웹 사이트에서 다운로드 할 수있는 도구 zxpsigncmd를 여기에서 사용해야합니다. 우선, 서명에 서명하려면 디지털 인증서가 필요합니다. 우리는 특정 자금이 필요한 세 번째 파티 인증서 에서이 인증서를 구입할 수 있습니다. 확장에 서명하기 위해 자체 서명 된 인증서를 만들 수도 있습니다. 우리는 다음과 같은 방법으로 과정을 취합니다.
이렇게하면 현재 디렉토리에 자체 서명 된 인증서가 생성 된 다음이 인증서로 서명 할 수 있습니다.
ZXPSIGNCMD 도구가 서명되면 Meta-Inf 파일이 Extension 디렉토리에 생성되어 서명의 정보를 저장합니다. 그런 다음 도구는 전체 디렉토리를*.zxp 파일로 압축합니다. 이것이 우리가 최종적으로 게시 해야하는 확장 파일입니다. ^_^
Pond5 및 Shutterstock의 루틴은 Pond5 및 Shutterstock의 구현을 신중하게 분석합니다.
(1) 호스트 프로그램에서 확장 패널을 열고 Window-Fexpansion을 통해로드 된 확장자를 찾을 수 있습니다.
(2) Extension의 스크립트는 사용자가 처음으로 사용되는지 여부를 분석합니다. 처음 인 경우 사용자가 저장할 비디오 자료의 위치를 선택하도록하면 일반적으로 POP -UP 대화 상자에 의해 구현됩니다. 사용자가 선택한 위치 정보는 일반적으로 XML 파일을 통해 사용자의 홈 디렉토리에 존재합니다. 사용자가 처음으로 확장자를 사용하지 않으면 홈 디렉토리에 XML 파일 분석을 직접로드합니다.
(3) 사용자는 비디오 자료를 클릭하고 다운로드를 엽니 다. 이 프로세스는 일반적으로 nodejs를 통해 구현 될 수 있습니다. 그러나 다운로드 백 기능을 설정하십시오.
(4) 다운로드가 성공한 후 콜백 함수를 실행하고 다운로드 된 비디오 파일을 호스트 프로그램으로 가져 오십시오. 이 단계는 Extendscript 스크립트 구현을 호출하는 것입니다. 특정 스크립트는 여기를 참조하십시오. Pond5 및 Shutterstock과 유사한 Adobe 확장을 구현하려면이 루틴을 참조하십시오.
요약위는 Adobe HTML5 Extension 개발 자습서입니다. VEVB WULIN 웹 사이트를 지원해 주셔서 대단히 감사합니다!