지난주에 브라이트코브 플레이어 6.22를 사전 출시했습니다. 이 버전에는 고객과 통합업체가 관심을 가질 만한 몇 가지 유용한 API 변경 사항이 포함되어 있습니다.
확장된 자동 재생 구성
의 일환으로 Video.js 7.1.0를 통해 autoplay
구성을 더욱 강력하게 만들 수 있습니다.
현재 이 구성은 다음 중 하나일 수 있습니다. true
또는 false
를 설정하는 것과 유사하게 autoplay
속성(또는 <video>
요소를 추가합니다. 다음과 같은 경우 true
를 클릭하면 플레이어가 자동 재생을 시도하고 브라우저에서 이를 방지하면 소위 큰 재생 버튼이 표시됩니다.
그러나 고객이 자동 재생 성공 확률을 높이고자 하는 경우가 있습니다. 확장된 autoplay
구성은 이제 기존 부울 값 외에도 여러 가지 새로운 문자열 값을 허용할 수 있습니다.
ANY
구성 추가하기, {"autoplay": "any"}
를 호출하면 플레이어가 play()
에서 loadstart
이벤트를 호출합니다. 재생에 실패하면 플레이어가 음소거되고 play()
를 다시 클릭합니다. 그래도 재생이 실패하면 이전 상태인 muted
가 복원됩니다.
이 값은 음소거되지 않은 자동 재생을 선호하지만 음소거된 자동 재생도 허용되는 경우 가장 완벽한 솔루션을 제공합니다.
MUTED
구성 추가하기, {"autoplay": "muted"}
를 누르면 플레이어가 스스로 음소거된 다음 play()
에서 loadstart
이벤트. 재생이 실패하면 이전 상태인 muted
가 복원됩니다.
이 값은 자동 재생을 음소거하는 경우 첫 번째 시도에서 성공할 가능성이 가장 높은 값입니다.
플레이
마지막으로 구성을 추가합니다, {"autoplay": "play"}
를 호출하면 플레이어가 play()
에서 loadstart
이벤트.
성공 확률은 다음과 같이 설정하는 것과 비슷합니다. autoplay: true
.
카탈로그 플러그인 개선 사항
참고: 당분간 이러한 기능은 구성이나 설정이 아닌 카탈로그 플러그인 메서드를 통해서만 사용할 수 있습니다. data-
속성을 사용합니다.
API 표준화
카탈로그 플러그인에 적용한 가장 큰 변경 사항은 수년에 걸쳐 메서드 간에 사소한 불일치가 발생한 라이브러리 API를 표준화하기 위한 노력의 일환입니다.
이 노력의 핵심은 공통된 get()
메서드는 모든 요청 유형에 대해 작동하며 단일 인수를 받는 기존의 카탈로그 매개변수 개체 (아래 설명 참조). 그리고 get()
메서드는 Promise
객체입니다.
예를 들어, 공통으로 비디오를 가져오는 경우 get()
메서드는 다음과 같이 보일 수 있습니다:
// Request a video from the Playback API.
player.catalog.get({
type: 'video',
id: '123456789',
adConfigId: 'abc123'
})
// The request succeeded, load the video data into the player.
.then(function(data) {
player.catalog.load(data);
})
// The request failed.
.catch(function(err) {
videojs.log.error(err);
});
또한 이러한 노력에는 기존 방법에 대한 이전 버전과의 호환성 변경도 포함됩니다. getVideo
, getPlaylist
, getSearch
, getSequence
및 getLazySequence
. 이러한 변경 사항은 다음과 같습니다:
getVideo
,getPlaylist
및getSearch
는 이제 현재 구현의 대안으로 카탈로그 매개변수 객체를 첫 번째 인수로 사용할 수 있습니다.- 모든 메서드의 세 번째 인수입니다,
adConfigId
은 이제 더 이상 사용되지 않습니다. 카탈로그 매개 변수 객체에adConfigId
속성을 대신 사용합니다. - 각 메서드는 여전히 1초가 걸릴 것으로 예상됩니다.
callback
인수를 반환하고XMLHttpRequest
객체입니다. 만약Promise
를 선호한다면, 일반적인get()
메서드를 사용합니다.
이러한 변경 사항은 모두 이전 버전과 호환된다는 점에 유의하세요. 기존 코드를 변경할 필요가 없습니다!
예를 들어, 위의 동영상 요청은 여전히 이전 스타일로 이루어질 수 있습니다:
// Request a video from the Playback API.
player.catalog.getVideo('123456789', function(err, data) {
// The request failed.
if (err) {
return;
}
// The request succeeded, load the video data into the player.
player.catalog.load(data);
}, 'abc123');
카탈로그 매개변수 개체
이 규칙은 앞으로 브라이트코브 플레이어에서 재생 API에 대한 요청을 설명할 때 기초로 사용할 예정입니다.
모든 인수의 첫 번째 인수로 지원됩니다. get*
메서드.
모든 값은 문자열이어야 합니다.
이름 | 설명 |
---|---|
type |
요청할 요청 유형입니다. 다음 중 하나여야 합니다. 'video' , 'playlist' 또는 'search' . |
accountId |
데이터를 가져올 계정 ID입니다. 기본값은 플레이어의 계정 ID입니다. |
policyKey |
이 계정의 정책 키입니다. 기본적으로 플레이어의 정책 키로 설정됩니다. |
id |
다음에 의해 접두사가 붙은 동영상 또는 재생목록 ID 또는 참조 ID입니다. 'ref:' . 필수 동영상 및 재생 목록 요청을 위해! |
q |
검색 쿼리입니다. 필수 검색 요청에 대해 ( id 는 더 이상 사용되지 않는 형태로 사용됨), 그 외에는 무시됩니다. |
adConfigId |
동영상 수 SSAI 광고 구성 ID. |
tveToken |
쿼리 문자열 매개변수로 전송할 TVE 토큰(선택 사항)입니다. |
limit |
재생목록 및 검색 유형에만 지원됩니다. 반환되는 동영상 수를 제한합니다. |
offset |
재생 목록 및 검색 유형에만 지원됩니다. 건너뛸 동영상 수입니다. |
sort |
검색 유형에만 지원됩니다. 검색 시 동영상이 정렬되는 방식입니다. |
참고: 이전 버전과의 호환성을 위해 더 이상 사용되지 않는 두 가지 추가 용도가 있습니다. id
매개변수입니다. For 검색 유형, 즉 id
매개 변수가 검색 쿼리로 지원됩니다. q
. For 검색 유형과 시퀀스, 그리고 id
매개변수에는 카탈로그 매개변수 객체인 하위 객체가 포함될 수 있습니다.
재생 목록 제한 및 오프셋
이 표준화의 결과로 다음과 같은 지원이 추가되었습니다. limit
그리고 offset
쿼리 매개변수를 재생목록에 추가할 수 있습니다. 이를 통해 고객은 재생목록을 통해 더 긴 재생목록 크기와 페이지 매김을 구현할 수 있습니다. 이러한 기능은 getPlaylist()
함수는 다음과 같습니다:
// Request a playlist from the Playback API.
player.catalog.getPlaylist({
id: '123456789',
limit: '25',
offset: '0'
}, function(err, data) {
// If there is an error object, the request failed.
if (err) {
return;
}
// The request succeeded, load the playlist data into the player.
player.catalog.load(data);
});
결론
브라이트코브 플레이어 6.22의 새로운 기능에 대해 매우 기대하고 있습니다. 이 버전은 현재 사전 출시 상태이지만 곧 모든 자동 업데이트 플레이어에 배포할 예정입니다.