ledown 프로토콜 안내사항

실시간 다운로더 L.E.D를 설치한 환경에서는 ledown로 시작하는 다음의 주소를 이용하여 다운로더를 실행할 수 있습니다.

ledown://*

 

목차

주소 규칙

  1. HTTPS 생략 안내, HTTP 주소 이용법
  2. 파라미터 기능 소개 (Optional)
  3. 자주 할 수 있는 실수(또는 TIP)

 

주소 규칙

'ledown://'로 시작하며, 뒤에는 'led.hi098123.com' 과 같이 일반적인 https 주소가 나오면 됩니다.

예: ledown://led.hi098123.com/test.m3u8

 

1. HTTPS 생략 안내, HTTP 주소 이용법

기본적으로 HTTPS 프로토콜을 생략하지만, 아래와 같이 'ledown://' 바로 뒤에 http(s)프로토콜을 사용할 수 있습니다.

  • ledown://https://led.hi098123.com/test.m3u8
    (ledown://led.hi098123.com/test.m3u8와 동일하며, https로 호출됨.)

     

  • ledown://http://led.hi098123.com/test.m3u8
    (http로 호출됨.)

 

주소에 들어갈 수 있는 값은 지원 사이트별 주소 형태에서 확인해주세요.

현재 https를 사용하지 않는 서버는 거의 없기 때문에 https가 기본값입니다.

 

2. 파라미터 기능 소개 (Optional)

http기반의 주소는 일반적으로 '?'를 이용하여 파라미터를 전달합니다.

?가 포함된 경우에 잘못처리될 수 있기 때문에, ledown 프로토콜에서는 파라미터를 '#LED#'로 구분합니다.

 

이름 형식 설명 예시 값
title
string
영상의 제목으로 파일명에 우선 적용됩니다.
(JS에서 encodeURIComponent()로 인코딩된 문자열 값 입니다.)
JavaScript
//encodeURIComponent('LED-vod1 & QnA')
LED-vod1%20%26%20QnA
headers
string
(JSON)
Preview (JSON)
{
"auth-token":"123",
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36",
"Referer":"https://example.com/"
}
"헤더 명": "헤더 값"의 형태로 작성가능합니다.
(JS에서 encodeURIComponent()로 인코딩된 JSON String값 입니다.)
JavaScript
//encodeURIComponent('{"auth-token":"123","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36","Referer":"https://example.com/"}')
%7B%0A%09%22auth-token%22%3A%22123%22%2C%0A%09%22User-Agent%22%3A%22Mozilla%2F5.0%20(Windows%20NT%2010.0%3B%20Win64%3B%20x64)%20AppleWebKit%2F537.36%20(KHTML%2C%20like%20Gecko)%20Chrome%2F106.0.0.0%20Safari%2F537.36%22%0A%09%22Referer%22%3A%22https%3A%2F%2Fexample.com%2F%22%0A%7D
forceffmpeg
string
정확히 true 일때만 작동합니다. (1, +값, 등 boolean 형태 처리가 아닙니다.)
이 옵션을 활성화 하면, 실시간 다운로더의 주소처리 과정을 건너뛰고 ffmpeg로 해당 주소를 엽니다.
예를들면, m3u8주소지만 주소에 '.m3u8'을 포함하지 않는 경우등에서 활성화 하면 됩니다.
true
live
string
정확히 true 일때만 작동합니다. (1, +값, 등 boolean 형태 처리가 아닙니다.)
이 옵션을 활성화 하면, ffmpeg로 실행시 라이브 영상으로 강제 처리합니다.
틱톡 라이브와 같이 m3u8등이 아닌데 라이브인 경우 처리용도로 일반적으로 m3u8은 자동으로 확인됩니다..
true
skipresolution
string
정확히 true 일때만 작동합니다. (1, +값, 등 boolean 형태 처리가 아닙니다.)
이 옵션을 활성화 하면, 실시간 다운로더의 화질선택 기능을 무시합니다.
mp4, flv 등 화질 선택이 불가능한 주소로 연결할 때는 이 기능을 켜는것을 권장합니다.
true

이걸 활용하여 만들어진 주소는 다음과 같습니다.

ledown://led.hi098123.com/test.m3u8#LED#title=LED-vod1%20%26%20QnA&headers=%7B%0A%09%22auth-token%22%3A%22123%22%2C%0A%09%22User-Agent%22%3A%22Mozilla%2F5.0%20(Windows%20NT%2010.0%3B%20Win64%3B%20x64)%20AppleWebKit%2F537.36%20(KHTML%2C%20like%20Gecko)%20Chrome%2F106.0.0.0%20Safari%2F537.36%22%0A%09%22Referer%22%3A%22https%3A%2F%2Fexample.com%2F%22%0A%7D&forceffmpeg=true

파라미터에 포함된 title값에서 파일명으로 사용 불가능한 기호들은 제거되며, title값 이외에도 기본적으로 추가되는 제목 값이 있을 수 있습니다.

모든 파라미터 값은 선택값으로 넣지 않아도 작동합니다.

다만, title 값이 없는 경우 m3u8 파일명(주로 playlist+날짜값)으로 저장되니 title값을 입력가능한 경우 입력 권장합니다.

 

3. 자주 할 수 있는 실수(또는 TIP)

잘못된 인코딩 또는 누락으로 headers값이 작동하지 않을 수 있습니다. 이런 경우 다음과 같이 로그기록에 남으니 기능 개발시 참고해주세요.

ledown:// - 잘못된 헤더 값: {오류메시지}
ledown:// - 사용되지않는 파라미터 값: {오류메시지}

 

URI 인코딩이 안된경우(아래 예시) 제목값이 'LED-vod1 & QnA'가 아닌 'LED-vod1 '로 적용됩니다.

ledown://led.hi098123.com/test.m3u8#LED#title=LED-vod1 & QnA&headers=...

 

파라미터는 여러번 사용할 수 없습니다. (* 여러번 사용시 가장 나중에 작성된 값이 적용됩니다.)

ledown://led.hi098123.com/test.m3u8#LED#title=LED-vod1%20%26%20QnA&title=...

 

User-Agent는 비교적 최근의 크롬의 값으로 적용되므로 굳이 User-Agent를 바꾸기 위해 headers옵션을 사용하지 않아도 됩니다.

다만, 봇 무결성 검사 등이 있는 플랫폼의 경우 추출시와 동일한 headers 파라미터 및 User-Agent를 사용하시는것을 권장합니다.

 

여러 m3u8주소 호출방법은 ledown:// 주소를 여러번 여시면 됩니다.

웹브라우저 확장 프로그램에서 사용시 window.open() 함수를 이용하시면 됩니다.

JavaScript
window.open('ledown://led.hi098123.com/test.m3u8')