신뢰성 측면에서 VOD 트랜스코딩의 가장 큰 장점 중 하나는 간단히 다시 시도할 수 있다는 점입니다. 트랜스코딩 과정에서 문제가 발생하면 처음부터 프로세스를 다시 실행하면 됩니다. 문제가 발생하면 작업이 조금 더 오래 걸리는 것은 안타까운 일이지만, 최종적으로는 트랜스코딩된 파일이 고객에게 전달되고 모든 것이 정상적으로 완료됩니다.
하지만 라이브 이벤트 중에는 단순히 다시 시도할 수 있는 여유가 없습니다. 이러한 이벤트는 실시간으로 트랜스코딩되기 때문에 최종 사용자에게 완벽한 트랜스코딩을 제공할 수 있는 기회는 단 한 번뿐이며, 도중에 문제가 발생하면 중단될 수 있습니다. 시스템이 아무리 안정적이라고 해도 전원 공급 장치나 네트워크 카드 같은 것이 언제 고장날지 알 수 없으므로 중요한 이벤트에는 이중화가 필수적입니다.
이를 고려하여 라이브 스트림에 대한 중복 트랜스코딩을 발표했습니다. 간단히 말해, 다음과 같은 경우 redundant_transcode
가 활성화되어 있고, 하나 이상의 secondary_url
가 지정되면 Zencoder는 원본 요청의 출력에 지정된 보조 URL을 사용하여 새 작업을 투명하게 생성합니다. 이 작업은 원본과 모든 설정이 동일하지만 완전히 다른 클라우드 제공업체의 가장 가까운 트랜스코딩 영역에서 실행된다는 중요한 차이점이 있습니다.
예를 들어 보겠습니다:
{
"redundant_transcode": true,
"live_stream": true,
"region": "us-virginia",
"output": [
{
"label": "super-important-stream",
"url": "rtmp://primary.example.com/live/stream",
"secondary_url": "rtmp://backup.example.com/live/stream",
"live_stream": true
},
{
"label": "not-as-important-stream",
"url": "rtmp://primary.example.com/live/stream",
"live_stream": true
}
]
}
이렇게 하면 하나의 스트림 이름이 반환되지만 기본 스트림과 중복 스트림 URL 두 개가 반환됩니다.
{
"stream_name": "as230d982389askdfsdkjf2380ejd93d93dj",
"outputs": [
{
"label": "super-important-stream",
"url": "rtmp://primary.example.com/live/stream",
"id": 260281679
},
{
"label": "not-as-important-stream",
"url": "rtmp://primary.example.com/live/stream",
"id": 260281680
}
],
"stream_url": "rtmp://live01.us-va.zencoder.io:1935/live",
"redundant_job_id": 12345678,
"redundant_stream_url": "rtmp://backup-endpoint.zencoder.io:1935/live",
"id": 98091238
}
그런 다음 인코더를 설정하여 두 곳으로 동시에 스트리밍할 수 있습니다. 아래 예시는 플래시 미디어 라이브 인코더를 사용하고 있지만, 대부분의 인코더는 추가 설정 없이 기본 및 백업 스트림 URL을 지원합니다.
이 설정을 사용하면 Amazon East가 다운되더라도 백업 스트림은 아무런 문제 없이 Google Compute Engine에서 원활하게 계속됩니다. Akamai와 같이 적절한 백업 URL이 있는 CDN을 사용한다고 가정하면 재생 URL은 아무 일도 없었던 것처럼 계속 작동합니다.
간단하게 설명하기 위해 단일 인코더에 백업 URL을 추가하는 방법만 설명했습니다. 이렇게 하면 인코더의 다운스트림 문제를 완화할 수 있지만 인코더가 어떤 이유로든 게시할 수 없는 경우 스트림은 여전히 위험에 노출됩니다. 그러나 백업 URL은 완전히 다른 네트워크에 있는 별도의 인코더에 설정하면 최대한 안전할 수 있습니다.
참고
- 스트림을 기본 및 백업 엔드포인트에 모두 푸시해야 하므로 스트림을 게시하는 데 필요한 대역폭이 두 배로 늘어납니다.
- 백업 작업은 표준 실시간 요금으로 별도의 작업으로 청구됩니다.
- Akamai는 재생 전에 기본 스트림과 백업 스트림을 정렬하려고 시도하므로 스트림 간 전환 중에 잠시 중단이 발생할 수 있습니다.