mp4hls¶
/usr/local/m2/setting.json
다음 영역에 대해 기술한다.
{
"functions": {
"network": {
"mp4hls": {
...
}
}
}
}
How to use¶
명령어 리스트¶
용량제한 없는 HLS를 제공한다.
# 인덱스 파일을 제공한다.
https://foo.com/video.mp4/mp4hls/index.m3u8
https://foo.com/video.mp4/mp4hls/playlist.m3u8
# 분할된 미디어 파일을 mpeg2-ts로 전송한다.
https://foo.com/video.mp4/mp4hls/0.ts
https://foo.com/video.mp4/mp4hls/1.ts
에러 메시지¶
See also
응답코드 |
|
설명 |
---|---|---|
원본응답 |
|
원본에서 |
원본응답 |
|
MP4헤더 값이 |
원본응답 |
|
잘못된 HLS 인덱스 번호 |
원본응답 |
|
원본이 최소구성크기(8bytes) 미만 |
원본응답 |
|
원본콘텐츠 캐시로딩 실패 |
원본응답 |
|
MP4 분할실패 |
|
|
오디오/비디오 트랙 모두 없음 |
|
|
MP4 분석실패 |
|
|
MP4 탐색실패 |
|
|
MP4 소스버퍼 할당실패 |
|
|
MPEG2-TS 초기화 실패 |
|
|
MPEG2-TS 생성 실패 |
meta¶
"meta" : {
"enable": false,
"keyword": "mp4hls"
}
enable (기본: false)
MP4편집 활성화
keyword (기본: mp4hls)
MP4편집 키워드
hls¶
"hls" : {
"duration": 10,
"indexName": "index.m3u8"
"playlist": {
"version": 3,
"alternates": false,
"alternatesName": "playlist.m3u8",
"sequence": 0
}
}
duration (기본: 10초)
MP4를 HLS로 분할하는 기준 시간(초). 분할의 기준은 Video/Audio의 KeyFrame이다. KeyFrame은 들쭉날쭉할 수 있으므로 정확히 분할되지 않는다. 만약 10초로 분할하려는데 KeyFrame이 9초와 12초에 있다면 가까운 값(9초)을 선택한다.
indexName (기본: "index.m3u8)
HLS 인덱스(.m3u8) 파일명
playlist
인덱스 파일 구성
version (기본: 3)
인덱스 파일 버전
alternates (기본: false)
Stream Alternates 사용여부.
alternatesName (기본: "playlist.m3u8)
Stream Alternates 파일명.
sequence (기본: 0)
.ts 파일의 시작 번호. 이 수를 기준으로 순차적으로 증가한다.
encrypt¶
EXT-X-KEY 암호화를 지원한다.
"encrypt": {
"enable": false,
"keyword": "segment.key",
"token": "",
"tokenType": null
}
enable (기본: false)
암호화 활성화
keyword (기본: "segment.key)
인덱스 파일에 표기될 암호화 키워드
#EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:10 #EXT-X-MEDIA-SEQUENCE:0 #EXT-X-KEY:METHOD=AES-128,URI="/sample.mp4/mp4hls/segment.key" #EXTINF:10.677, ...
token
암호화 토큰
tokenType (기본: null)
암호화 토큰 타입
null
설정된token
이 암호화 키로 사용한다.enc
설정된token
이 encryptpassword 로 암호화되어 있다. 사용시 복호화하여 사용한다.