Chzzk Downloader Suite 버전 0.84부터 JSON-RPC 통신 기능이 추가되어 외부에서 애플리케이션을 제어할 수 있게 되었습니다.
Chzzk Live Downloader를 비롯한 Chzzk Video Downloader, Chzzk Clip Downloader는 모두 단독 실행형 콘솔 사용자 인터페이스 (Console User Interface, CUI) 기반의 유틸리티입니다. 따라서 여러 개의 라이브 스트리밍을 관리하려면 Terminal에서 여러 개의 탭을 실행하는 등의 작업을 통해 여러 개의 인스턴스(Instance)를 실행해야만 했습니다.
하지만 Chzzk Downloader Suite를 좀 더 편리하게 사용하고 싶으신 분들이 그래픽 사용자 인터페이스 (Graphical User Interface, GUI) 기반의 프론트엔드(Frontend) 애플리케이션을 요청하셨지만, 이를 직접 개발할 시간적 여유가 주어지지 않았습니다. 그래서 제가 직접 개발하는 대신 여러분이 이러한 애플리케이션을 쉽게 직접 개발하실 수 있도록 JSON-RPC 2.0 통신 기능 규격(JSON Remote Procedure Call)을 통해 외부에서 Chzzk Downloader Suite를 제어할 수 있는 기능을 추가하였습니다.
지원 기능 목록
이 기능은 Chzzk Downloader Suite 버전 0.84 이상부터 사용 가능하며, 현재 각각의 앱이 지원하고 있는 기능은 다음과 같습니다.
Chzzk Live Downloader
기능 | 설명 |
---|---|
get_version | 실행 중인 Chzzk Live Downloader의 버전 정보를 반환합니다. |
get_settings | Chzzk Live Downloader의 설정을 반환합니다. |
get_status | 다운로드 진행률과 같은 현재 실행 상태를 반환합니다. |
get_channel | 현재 다운로드 중이거나 대기 중인 채널 정보를 반환합니다. |
get_live | 현재 다운로드 중인 라이브 스트리밍 정보를 반환합니다. |
set_settings | Chzzk Live Downloader의 설정을 변경합니다. |
skip_current | 현재 다운로드 중인 라이브 스트리밍을 건너뛰고 다음 스트리밍을 기다립니다. |
quit_app | (다운로드 중인 스트리밍이 있을 경우, 작업을 중지하고) 앱을 종료합니다. |
Chzzk Video Downloader
기능 | 설명 |
---|---|
get_version | 실행 중인 Chzzk Video Downloader의 버전 정보를 반환합니다. |
get_settings | Chzzk Video Downloader의 설정을 반환합니다. |
get_status | 다운로드 진행률과 같은 현재 실행 상태를 반환합니다. |
get_channel | 현재 다운로드 중인 채널 정보를 반환합니다. |
get_video | 현재 다운로드 중인 비디오 정보를 반환합니다. |
set_settings | Chzzk Video Downloader의 설정을 변경합니다. |
quit_app | (다운로드 중인 비디오가 있을 경우, 작업을 중지하고) 앱을 종료합니다. |
Chzzk Clip Downloader
기능 | 설명 |
---|---|
get_version | 실행 중인 Chzzk Clip Downloader의 버전 정보를 반환합니다. |
get_settings | Chzzk Clip Downloader의 설정을 반환합니다. |
get_status | 다운로드 진행률과 같은 현재 실행 상태를 반환합니다. |
get_channel | 현재 다운로드 중인 채널 정보를 반환합니다. |
get_clip | 현재 다운로드 중인 클립 정보를 반환합니다. |
set_settings | Chzzk Clip Downloader의 설정을 변경합니다. |
quit_app | (다운로드 중인 클립이 있을 경우, 작업을 중지하고) 앱을 종료합니다. |
기능 실행 예시
JSON-RPC 클라이언트 예시 코드
GitHub의 samples 디렉터리에서 JSON-RPC 테스트 코드와 Chzzk Live Downloader 실행기 예제 코드를 다운로드할 수 있습니다.
호출 예시
{
"jsonrpc": "2.0",
"method": "get_status",
"id": 1
}
실행 결과
/* get_version */
{
"jsonrpc": "2.0",
"result": {
"name": "Chzzk Live Downloader",
"version": "0.84",
"description": "Downloader for Chzzk live streams",
"developer": "Choonholic",
"build_date": "September 18, 2024 00:00:00"
},
"id": 5
}
/* get_channel */
{
"jsonrpc": "2.0",
"result": {
"name": "\ub9b4\uce74",
"verified": true,
"image": "https://nng-phinf.pstatic.net/...",
"description": "",
"followers": 133855
},
"id": 5
}
/* get_status */
{
"jsonrpc": "2.0",
"result": {
"status": "Downloading",
"info": "610.19 MiB, 0:00:24, 17.04 MiB/s"
},
"id": 5
}
/* get_live */
{
"jsonrpc": "2.0",
"result": {
"title": "\ucd94\uc11d\ud2b9\uc9d1...",
"category_type": "ETC",
"category": "talk",
"category_value": "talk",
"open_date": "2024-09-17 12:59:36",
"image_url": "https://livecloud-thumb.akamaized.net/...",
"adult": false,
"video_profile": "high",
"audio_profile": "LC",
"video_codec": "H264",
"video_bitrate": 8192000,
"audio_bitrate": 192000,
"video_framerate": "60.0",
"width": 1920,
"height": 1080,
"audio_sampling_rate": 48000,
"audio_channel": 2,
"video_dynamic_range": "SDR"
},
"id": 5
}
/* quit_app */
{
"jsonrpc": "2.0",
"result": "Success",
"id": 5
}
JSON-RPC 통신 기능 관련 문의
사용 시 궁금하신 점이나 문제가 있으실 경우에는 아래 메일로 문의주시기 바랍니다.
E-mail: choonholic at outlook dot com
2 thoughts on “Chzzk Downloader Suite: JSON-RPC 통신 기능 추가”