피드로 돌아가기
Hugging Face BlogBackend
원문 읽기
Hugging Face가 Zeroscope, MusicGen, FILM을 조합하여 NodeJS 파이프라인으로 자동 비디오 생성 및 RTMP 스트리밍 시스템 구축
Building an AI WebTV
AI 요약
Context
텍스트 기반 비디오 생성 모델들(Zeroscope, MusicGen)을 실시간으로 시연할 수 있는 접근 가능한 방법이 필요했다. 기존에는 개별 모델을 수동으로 실행해야 했으므로, 자동화된 파이프라인으로 연속적인 비디오 콘텐츠를 생성하고 스트리밍하는 것이 과제였다.
Technical Solution
- LLM(ChatGPT)을 통해 기본 주제와 아이디어를 개별 비디오 클립 프롬프트로 변환: 인간이 작성한 기본 아이디어를 입력하면 ChatGPT가 다양한 개별 프롬프트 생성
- Zeroscope V2 2단계 파이프라인 적용: 기본 생성 단계 + Zeroscope XL 업스케일링 단계를 동일 프롬프트로 체인화
- Gradio 기반 Hugging Face Spaces를 @gradio/client NPM 패키지로 호출: REST API 방식으로 원격의 Zeroscope V2 모델 실행
- FILM(Frame Interpolation for Large Motion) 적용: 업스케일된 비디오에 프레임 보간 처리로 렌더링 오류 개선 및 스무딩
- MusicGen으로 생성된 음악(m4a) 통합: 후처리 단계에서 음악 추가
- FFmpeg 플레이리스트 기반 스트리밍: mp4 비디오 파일들을 ffconcat 포맷 플레이리스트로 구성 후 FLV 포맷으로 RTMP 서버에 전송
- node-media-server를 RTMP 서버로 운영: 또는 Twitch RTMP 엔드포인트로 직접 스트리밍 가능
Key Takeaway
복합 AI 모델들을 NodeJS/TypeScript로 오케스트레이션할 때, Gradio Spaces를 REST API로 활용하면 자체 GPU 리소스 없이도 즉시 프로토타입을 구축할 수 있다. 프롬프트 세밀함(카메라 움직임, 캐릭터 방향성, 속도 명시)과 다단계 후처리(업스케일링, 프레임 보간, 음악 추가)의 조합이 최종 출력 품질을 크게 향상시킨다.
실천 포인트
텍스트-투-비디오 모델을 실제 서비스로 배포하는 팀에서 Zeroscope 2단계(기본 생성 + XL 업스케일링)를 동일 프롬프트로 연결하고, 프롬프트 내에 카메라 움직임·캐릭터 방향성·속도 등을 구체적으로 명시하면 이미지 품질을 높일 수 있다. 또한 FILM 같은 프레임 보간 기법을 후처리에 추가하면 작은 렌더링 오류를 개선하고 창작적 슬로우모션 효과도 가능하다.