치지직 라이브 스트림 데이터는 그 구조 상 정상적인 재생을 하려면 최종 처리 또는 후처리(Finalization)라고 불리는 스트림 재정렬(Stream rearrange) 과정이 필요합니다. 치지직 라이브 다운로드 도구는 다운로드가 완료되면 설정에 따라 자동으로 최종 처리를 진행하는데, 이 때 기본적으로 사용되는 최종 처리 방식은 데이터의 형식이나 크기가 유지되는 스트림 복사(Stream Copy) 방식으로 진행되기 때문에 대부분의 경우 처리 시간이 매우 짧습니다.1
하지만 이렇게 생성되는 영상 파일은 압축이 거의 이루어지지 않은 파일이기 때문에, 파일의 크기가 매우 크며, 따라서 NAS와 같은 별도의 저장 솔루션을 갖추고 있지 않은 경우에는 저장 공간의 확보에 어려움을 겪는 상황이 발생할 수 있습니다. 이러한 문제를 해결하려면 최종 처리 후, 다시 별도로 비디오 변환(Video Transcoding) 과정을 거쳐 좀 더 압축 효율이 좋은 파일 형식으로 저장할 필요가 있습니다.
따라서 치지직 라이브 다운로드 도구를 비롯한 일부 다운로드 도구에서는 최종 처리 시 특정 형식으로 변환할 수 있도록 추가 설정을 제공하고 있는데, 이 때 몇 가지 문제점이 드러나게 됩니다.
최종 처리 시간의 급격한 증가
최종 처리의 소요 시간이 길면 길수록 다음 다운로드를 놓칠 가능성이 높아집니다. 기본 설정에서는 12시간 길이의 영상이라 할지라도 2분 이내에 처리가 완료되기 때문에 그 영향이 전혀 없다고 할 수 있지만, 파일의 크기를 줄이기 위해 추가적인 선택 사항을 지정하게 되면 소요 시간이 기하급수적으로 늘어나게 됩니다. 특히 최근 많이 사용되고 있는 H.265 기반의 코덱으로 소프트웨어 인코딩을 하게 될 경우, 12시간 짜리 영상 기준, 최대 36시간까지 걸릴 수 있습니다.
따라서 만약 다운로드와 최종 처리가 연속적인 과정으로 구성되어 있을 경우, 12시간 다운로드 후 다음 36시간 동안 새로운 다운로드를 진행할 수 없게 됩니다. 물론 이는 극단적인 예에 해당하지만, 최종 처리 소요 시간이 길어지면 일부 영상의 다운로드가 누락될 가능성이 존재한다는 사실이 변하지는 않습니다. 물론 치지직 라이브 다운로드 도구를 사용하고 있다면 별도의 인스턴스를 실행하여 병렬로 처리(Parallel Processing)를 하는 것을 고려해 볼 수 있지만, 이 역시 또 다른 문제를 야기할 수 있습니다.
병렬 처리 시 시스템 자원의 급격한 소모
만약 치지직 라이브 다운로드 도구처럼 여러 개의 인스턴스를 실행할 수 있는 구조를 가진 도구를 사용하고 있다면, 앞에서 언급했던 것처럼 새로운 인스턴스를 실행하여 다운로드가 누락되는 것을 방지할 수 있습니다. 하지만 여기서 절대 간과해서는 안 되는 것이 최종 처리 시간이 길어진다는 것은 그만큼 CPU, 메모리, GPU와 같은 자원을 대량으로 사용한다는 의미이기도 하다는 것입니다.
따라서 최종 처리를 여러 개의 파일에 대해 동시에 실행하는 것은 일반적인 개인용 시스템에서는 쉽지 않으며, 심지어 거의 불가능하다고 말해도 좋을 것입니다. 이를 해결하려면 다운로드는 병렬 처리(Parallel Processing)를 하고, 최종 처리는 작업을 큐(Queue)에 쌓아 두고 순차적으로 처리(Sequential Processing)해야 합니다.
치지직 라이브 최종 처리 확장 도구
이러한 사상에 따라 별도로 최종 처리를 큐에 쌓아 두고 순차적으로 처리하는 도구로서 Chzzk Downloader Suite 버전 1.3.0부터 치지직 라이브 최종 처리 확장 도구인 Chzzk Live Finalizer가 새로 포함됩니다.
치지직 라이브 최종 처리 확장 도구는 별도의 조작 없이 최종 처리 시 사용할 변환 설정을 지정하고, 감시할 디렉터리를 지정하기만 하면 알아서 순차적으로 TS (Transport Stream) 파일의 변환 과정을 진행합니다. 감시할 디렉터리에는 일반적으로 치지직 라이브 다운로드 도구의 저장 디렉터리를 --out
매개 변수를 통해 지정하며, 이 때 치지직 라이브 다운로드 도구에서는 다음과 같이 --final
매개 변수에 none
선택 사항을 지정하여 최종 처리를 진행하지 않도록 하면 됩니다.
ChzzkLiveFinalizer --watch out
ChzzkLiveDownloader --out out --final none
기본 설정 기준으로 모든 영상은 스트리머별로 구분된 하위 디렉터리에 저장되는데, 상위 저장 디렉터리를 지정해 두면 모든 하위 디렉터리를 감시하기 때문에 별도로 하위 디렉터리를 따로 지정할 필요가 없습니다. 물론 반대로 하위 디렉터리를 지정하게 되면 특정 스트리머의 영상만 처리하도록 할 수도 있습니다.
이렇게 다운로드와 최종 처리 과정을 완전히 별도의 프로세스로 분리할 경우, 처리 흐름은 다음 그림과 같이 변경됩니다. 그림에서 볼 수 있다시피 다운로드와 최종 처리가 완전히 별도의 과정으로 분리되기 때문에, 비디오의 누락 문제가 해소될 뿐만 아니라, 여러 개의 최종 처리가 동시에 진행되지 않으므로 시스템 자원을 과하게 소모하는 문제도 발생하지 않습니다.
치지직 라이브 최종 처리 확장 도구 배포 일정
치지직 라이브 최종 처리 확장 도구는 Chzzk Downloader Suite 버전 1.3.0과 함께 배포되며, 치지직 라이브 다운로드 도구와 함께 배포됩니다.
문의하기
치지직 다운로드 도구에 대해 궁금한 사항, 제보할 오류, 개선 요청 사항 등이 있을 때는 GitHub의 Issues 기능을 통해 제보해 주세요. 모든 언어에 대응 가능하나, 직접 대응 가능한 언어는 한국어, 영어, 일본어, 중국어이며, 다른 언어는 기계 번역을 통하기 때문에 100% 대응이 불가능할 수 있습니다.
If you have any questions, bug reports, or improvement requests regarding the Chzzk Downloader Suite, please submit them through GitHub‘s Issues feature. We can respond to all languages; however, the languages we directly support are Korean, English, Japanese, and Chinese. For other languages, responses may not be fully accurate due to the use of machine translation.
Chzzk Downloader Suiteに関するご質問、バグ報告、または改善要望がございましたら、GitHubのIssues機能を通じてお知らせください。全ての言語に対応可能ですが、直接対応可能な言語は韓国語、英語、日本語、中国語です。他の言語については、機械翻訳を通じて対応するため、100%正確に対応できない場合があります。
- 재생 시간의 0.1%~0.5% 정도의 시간이 소요됩니다. 즉, 12시간 짜리 영상이라면 1분 30초 이내에 처리가 완료되는 것이 일반적입니다. ↩︎
One thought on “치지직 라이브 최종 처리 확장: Chzzk Live Finalizer”