tubeCanvas 사용 매뉴얼
체험해보기 →
Part 1
사용자 가이드 — 교수자용

1. 시작하기 전에

1.1 tubeCanvas란?

tubeCanvas는 교수자가 영상 위에 퀴즈, 자막, 문서, 분기 학습 등을 시각적으로 배치하여 인터랙티브한 이러닝 콘텐츠를 만들 수 있는 웹 기반 저작도구입니다. 코딩 지식 없이 드래그 앤 드롭만으로 H5P 수준의 콘텐츠를 빠르게 제작하고, SCORM 패키지로 어떤 LMS에도 배포할 수 있습니다.

1.2 무엇을 만들 수 있나요?

1.3 시스템 요구사항

항목권장 사양
브라우저Chrome, Edge, Firefox, Safari (최근 2개 버전)
운영체제Windows 10+, macOS 11+, Linux (Ubuntu 20.04+)
메모리8GB 이상 권장 (영상 작업 시)
인터넷초기 로딩 시 필요 (YouTube 영상은 학습 시에도 필요)
영상 파일MP4 (권장), WebM, MOV, AVI
최대 영상 크기2GB
💡 처음 사용자 팁: 짧은 영상 (5분 이내)으로 시작해보세요. tubeCanvas의 모든 기능을 빠르게 익힐 수 있습니다.

2. tubeCanvas 첫 화면 이해하기

tubeCanvas는 5개의 영역으로 구성되어 있습니다.

2.1 화면 구성

위치영역명역할
상단메뉴바영상 업로드, 저장, 미리보기, 패키지 출력, AI 자막 등
좌측라이브러리9가지 인터랙션 카드. 카드를 드래그해서 추가
중앙프리뷰영상 + 인터랙션 오버레이. WYSIWYG 직접 편집
우측속성 패널선택된 인터랙션의 시간/위치/콘텐츠/스타일 편집
하단타임라인재생 헤드 + 멀티 트랙. 시간 이동, 길이 조정
💡 작업 흐름: '좌측 → 중앙 → 우측 → 하단' 순서로 작업하면 자연스럽습니다. 라이브러리에서 카드를 드래그하면 자동으로 우측 속성 패널이 활성화됩니다.

3. 영상 등록하기

3.1 영상 파일 업로드 (권장)

  1. 상단바에서 "영상 업로드" 버튼 클릭
  2. MP4, WebM, MOV 등 영상 파일 선택 (최대 2GB)
  3. 자동으로 메타데이터(길이, 해상도) 추출
  4. 썸네일 자동 생성
  5. 타임라인이 영상 길이로 갱신

3.2 YouTube URL 등록

상단바의 빨간 "YouTube" 버튼 클릭. 지원하는 URL 형식:

⚠ YouTube 영상 주의: 트리밍 기능을 사용할 수 없으며, 광고가 재생될 수 있습니다. 학습 콘텐츠의 신뢰도를 위해서는 영상 파일 업로드를 권장합니다.

3.3 영상 트리밍 (파일 영상만)

영상의 시작/종료 부분을 잘라낼 수 있습니다. 원본을 수정하지 않고 콘텐츠에만 적용.

4. 9가지 인터랙션 활용법

좌측 라이브러리에서 카드를 드래그해서 타임라인이나 영상 위에 추가하세요.

4.1 객관식 퀴즈 (Multiple Choice)

보기 중 정답 선택. 다중 정답도 가능.

4.2 참/거짓 (True or False)

간단한 진위 판단 퀴즈.

4.3 단답형 (Short Answer)

4.4 빈칸 채우기 (Fill in the Blanks)

입력 형식:

광합성은 [[빛]] 에너지를 [[화학]] 에너지로 전환합니다.

[[정답]] 형식으로 빈칸 표시.

4.5 텍스트 오버레이 (Text Overlay)

영상 위에 자유로운 텍스트 박스. HTML 일부 허용 (볼드, 이탤릭, 컬러).

4.6 자막 (Caption)

시간 동기화된 자막. 학습자가 CC 버튼으로 ON/OFF 가능. SRT/VTT 파일 일괄 업로드 지원.

4.7 이미지 핫스팟 (Image Hotspot)

이미지 위의 특정 위치에 클릭 가능한 점. 해부도, 지도, 다이어그램 학습에 효과적.

4.8 문서 첨부 (Document)

PDF, PPT, DOCX 등 다운로드 가능한 첨부 파일 (최대 50MB).

4.9 챕터 (Chapter)

영상을 의미 단위로 구분. 학습자가 좌측 사이드바에서 비선형 탐색 가능.

5. 분기 학습 만들기

5.1 분기 시나리오 예시

학습자 응답다음 동작
정답다음 단원으로 즉시 진행 (예: 8분 지점)
오답복습 구간으로 점프 (예: 3분 지점)
응답 없음그대로 진행

5.2 설정 방법

  1. 객관식/참거짓/단답형 인터랙션 추가
  2. 우측 속성 패널 → "분기 (Branching)" 섹션 펼치기
  3. "정답 시 점프": 시간 입력 (또는 null=분기 없음)
  4. "오답 시 점프": 복습 시점 입력
  5. 미리보기에서 동작 확인
💡 권장: 한 영상에 분기는 2~3개 이내. 학습자가 자기 위치를 잃기 쉽습니다.

6. AI 자동 자막 활용하기

6.1 동작 방식

상단바의 "AI 자동 자막" 버튼 클릭하면 자동 자막이 생성됩니다. 현재 베타는 시뮬레이션 모드이며, 정식 출시 시 Whisper STT 기반으로 전환됩니다.

6.2 SRT/VTT 파일 업로드

이미 자막 파일이 있다면 "자막 업로드" 메뉴로 직접 업로드 가능. .srt 또는 .vtt 파일을 자동으로 시간 동기화하여 인터랙션으로 추가합니다.

7. 미리보기로 학습자 화면 확인

  1. 상단바 "미리보기" 버튼 클릭
  2. 전체화면 모달이 열리며 영상 자동 재생
  3. 인터랙션 시점에 자동으로 오버레이 표시
  4. 응답해보고 분기, 피드백 동작 확인
  5. 영상 종료 시 결과 요약 화면이 자동 표시
  6. ESC 키 또는 닫기 버튼으로 종료

8. 5가지 패키지 형식 비교

저작한 콘텐츠를 어떻게 배포할지에 따라 형식을 선택하세요.

형식용도장점한계
단일 HTML 파일 ✨ NEW USB 공유, 개인 학습 더블클릭만으로 재생 영상 ≤500MB 권장
HTML5 패키지 로컬/내부망 호스팅 학습자 번들 포함, 정적 서버에서 즉시 재생 HTTP 서버 필요
SCORM 1.2 구식 LMS 가장 폭넓게 호환 LMS 필요
SCORM 2004 최신 LMS (Moodle/Canvas) 풍부한 데이터 모델 LMS 필요
xAPI LRS 학습 분석 Statement 템플릿 제공 LRS 별도 필요

8.1 어떤 형식을 선택해야 하나요?

9. SCORM으로 LMS에 업로드하기

9.1 SCORM 패키지 만들기

  1. 저작도구에서 콘텐츠 완성
  2. 상단바 "패키지 출력" 드롭다운 클릭
  3. "SCORM 2004" (또는 1.2) 선택
  4. ZIP 파일 자동 다운로드
  5. ZIP을 그대로 LMS에 업로드 (압축 풀지 마세요)

9.2 Moodle 업로드

  1. 코스 → 편집 모드 활성화
  2. "활동 또는 자료 추가" → "SCORM 패키지"
  3. 이름 입력 후 ZIP 파일 업로드
  4. 저장 후 학습자가 클릭하면 tubeCanvas 학습자 뷰어로 자동 진입

9.3 Canvas 업로드

  1. 코스 → Settings → Apps → SCORM 활성화 (관리자 권한)
  2. 모듈에서 "+ Add Item" → "External Tool" → "SCORM"
  3. ZIP 파일 업로드 후 활성화

9.4 자동으로 LMS에 전송되는 데이터

데이터설명
cmi.score.raw학습자 점수 (0~100, 정답률 기반)
cmi.completion_status완료 상태 (incomplete → completed)
cmi.success_status합격 여부 (70%↑이면 passed)
cmi.session_time학습 소요 시간

10. 단축키 모음

단축키동작
Space재생 / 일시정지
Delete / Backspace선택된 인터랙션 삭제
⌘D / Ctrl+D인터랙션 복제
재생 헤드 0.5초씩 이동
Shift + 재생 헤드 5초씩 점프
Home / End재생 헤드 처음 / 끝으로
⌘S / Ctrl+S저장

11. 자주 묻는 질문 (FAQ)

Q1. 영상 업로드가 너무 느려요

tubeCanvas는 클라우드가 아닌 브라우저 메모리에서 영상을 처리합니다. 처음 로딩 시 메타데이터 추출에 시간이 걸릴 수 있습니다. 2GB에 가까운 대용량은 압축을 권장합니다.

Q2. 작업 중 새로고침하면 데이터가 사라지나요?

현재 베타 버전은 자동 저장이 없습니다. Ctrl+S로 자주 저장해주세요. content.json 파일로 다운로드됩니다. Phase 2에서 클라우드 자동 저장 추가 예정.

Q3. 모바일에서도 학습자가 볼 수 있나요?

Standalone Player와 SCORM 패키지는 모바일에서도 동작합니다. 다만 모바일 최적화는 Phase 2 예정. 현재는 데스크톱 권장.

Q4. YouTube 영상에 광고가 나와요

YouTube IFrame Player API는 광고 차단을 지원하지 않습니다. 학생이 광고 없이 학습하려면 영상 파일을 직접 업로드하세요.

Q5. SCORM 패키지 점수가 LMS에 반영 안 돼요

Q6. 분기 학습이 복잡해지면?

한 영상에 분기는 2~3개를 넘지 마세요. 학습자가 자기 위치를 잃기 쉽습니다. 큰 분기는 별도 영상으로 나누는 게 효과적입니다.

Q7. 베타 기간의 기능 제한?

Closed Beta 동안은 모든 기능이 무료로 제공됩니다. 정식 출시 시 Free / Standard / Pro 요금제가 적용되지만, 베타 참여자는 6개월간 Standard 50% 할인 쿠폰을 받습니다.

12. 문제 해결 가이드

12.1 영상이 재생되지 않음

12.2 인터랙션이 사라지거나 안 보임

12.3 패키지 출력 실패

12.4 베타 도중 버그/문의 신고

이메일: hello@tubecanvas.kr

스크린샷 + 브라우저 버전 + 동작 상황을 함께 보내주시면 빠른 답변이 가능합니다.

Part 2
LMS 연계 개발 가이드 — 개발자/관리자용
📌 알림: Part 2는 LMS 관리자 또는 시스템 통합 담당자를 위한 기술 가이드입니다. 일반 교수자는 9장까지만 읽어도 충분합니다.

13. LMS 시스템 통합 개요

13.1 tubeCanvas와 LMS의 관계

tubeCanvas는 학습 콘텐츠 저작과 표준 패키지 출력만 담당하고, 학습자 관리 / 진도 추적 / 성적 처리는 LMS가 담당합니다. 둘은 SCORM 또는 xAPI 표준을 통해 통신합니다.

통신 흐름 (SCORM 기준):

  1. 교수자: tubeCanvas에서 콘텐츠 제작 → SCORM 패키지 ZIP 다운로드
  2. LMS 관리자: ZIP을 LMS에 업로드 → SCORM 활동(activity) 생성
  3. 학습자: LMS에서 활동 클릭 → LMS가 콘텐츠를 iframe으로 표시
  4. 학습자가 응답 → tubeCanvas 학습자 뷰어 → SCORM API → LMS DB
  5. 관리자: LMS 성적부에서 점수와 완료 상태 확인

13.2 지원 표준

표준tubeCanvas 지원비고
SCORM 1.2✓ 완전 지원구식 LMS와 가장 폭넓게 호환
SCORM 2004 4th✓ 완전 지원Moodle 4.x, Canvas, Blackboard 등
xAPI (Tin Can)부분 지원Statement 템플릿 출력 (LRS 별도 필요)
LTI 1.3Phase 2 예정직접 LMS 연동 (SSO + 콘텐츠 임베드)
AICC미지원SCORM 1.2로 대체

13.3 권장 LMS

14. SCORM 데이터 모델 상세

14.1 SCORM 1.2 데이터 모델

CMI 요소tubeCanvas 보고 값보고 시점
cmi.core.lesson_statusincomplete → completed → passed/failed초기화 / 종료 / 합격 판정
cmi.core.score.raw0 ~ 100응답마다 갱신
cmi.core.score.min0 (고정)초기화
cmi.core.score.max100 (고정)초기화
cmi.core.session_timeHHHH:MM:SS.SS영상 종료

14.2 SCORM 2004 데이터 모델

CMI 요소tubeCanvas 보고 값보고 시점
cmi.completion_statusincomplete / completed초기화 / 영상 종료
cmi.success_statuspassed / failed70%↑이면 passed
cmi.score.raw0 ~ 100응답마다 갱신
cmi.score.scaled0.0 ~ 1.0 (raw/max)응답마다 갱신
cmi.session_timeISO 8601 (PT5M30S)영상 종료

14.3 합격 기준 (Mastery Score)

기본 합격 기준은 정답률 70%입니다. 결정 위치:

14.4 API 호출 시퀀스

// 1. 페이지 로딩
LMSInitialize("")
LMSGetValue("cmi.core.student_name")  // 로그용
LMSSetValue("cmi.core.lesson_status", "incomplete")
LMSCommit("")

// 2. 학습자가 응답할 때마다
LMSSetValue("cmi.core.score.raw", "50")
LMSCommit("")

// 3. 영상 종료
LMSSetValue("cmi.core.lesson_status", "completed")
LMSSetValue("cmi.core.lesson_status", "passed")  // ≥70%
LMSSetValue("cmi.core.score.raw", "75")
LMSSetValue("cmi.core.session_time", "0000:05:23.45")
LMSCommit("")

// 4. 페이지 닫기 직전
LMSFinish("")

15. 진도율 및 점수 추적 구현

15.1 Moodle 데이터 확인

  1. 강좌 → 좌측 "성적" 또는 "보고서"
  2. SCORM 활동 클릭 → "보고서" 탭
  3. "상호작용" 보고서에서 각 응답까지 추적
  4. CSV/Excel 내보내기 가능

15.2 Canvas 데이터 확인

  1. 코스 → "Grades" 탭
  2. SCORM 활동 열 확인
  3. API: /api/v1/courses/:id/assignments/:id/submissions

15.3 자체 LMS 구현 — SCORM 라이브러리

라이브러리설명
scorm-againJavaScript SCORM 1.2/2004 런타임 (오픈소스, npm)
rustici/scorm-engine상업용 SCORM 엔진 (SCORM Cloud 운영사)
pipwerks SCORM Wrapper가장 오래된 SCORM 클라이언트 래퍼
GoldenSCORM한국어 지원이 잘 되는 라이브러리

15.4 자체 LMS 최소 구현 예제 (Node.js Express)

// server.js
app.get('/api/scorm/cmi/:contentId', (req, res) => {
  res.json(getCMIForLearner(req.user.id, req.params.contentId));
});

app.post('/api/scorm/cmi/:contentId', (req, res) => {
  saveCMI(req.user.id, req.params.contentId, req.body);
  res.json({ ok: true });
});

// client.html
<iframe src="/courses/123/scorm/index.html"></iframe>
<script>
window.API = {
  LMSInitialize: (s) => 'true',
  LMSSetValue: async (key, val) => { /* POST to /api/scorm/cmi */ },
  LMSGetValue: (key) => { /* 캐시된 값 반환 */ },
  LMSCommit: async (s) => { /* flush */ },
  LMSFinish: async (s) => { /* terminate */ },
};
</script>

15.5 진도율 정의 매핑

LMS 진도율 개념tubeCanvas 값
콘텐츠 완료 여부 (0/100%)completion_status = completed
선형 진도율 (영상 %)현재 미보고 (Phase 2 예정)
성적 (0~100점)cmi.score.raw
통과/실패success_status = passed
향후 계획: tubeCanvas는 영상 시청 진도율도 보고하도록 확장 예정 (cmi.core.lesson_location). 현재는 완료/미완료 + 점수만 보고합니다.

16. 트러블슈팅 (LMS 연계)

16.1 LMS에서 콘텐츠가 안 보임

증상: SCORM 활동 클릭해도 빈 화면

16.2 점수가 LMS에 안 들어옴

진단 절차:

  1. 브라우저 개발자 도구(F12) → Console 탭
  2. 학습자 응답 시 [tubeCanvas] SCORM ... 연결됨 메시지 확인
  3. "SCORM 환경 아님" → LMS가 API 객체를 노출하지 않음
  4. "연결됨"인데 점수 안 들어가면 → LMS의 SCORM 핸들러 오류
  5. SCORM Cloud의 "Debug Logs"에서 SetValue 추적 가능

16.3 한글 이름이 깨짐

증상: cmi.core.student_name이 "???"

원인: LMS가 UTF-8을 안 쓰거나 SCORM 1.2의 4096 바이트 제한 초과

해결: LMS가 SCORM 2004를 지원하면 그것 사용 (64000자 제한)

16.4 학습 재개(Resume) 안 됨

증상: 학습자가 도중 닫고 다시 들어와도 처음부터 시작

원인: cmi.suspend_data 미사용

해결: Phase 2에서 추가 예정. 임시 방안은 학습자가 챕터 단위로 진행

16.5 SCORM Cloud로 호환성 검증 (강추!)

실제 LMS에 배포하기 전 SCORM Cloud 30일 무료 평가판으로 검증 권장:

  1. https://cloud.scorm.com 회원가입
  2. Library → Add Content → tubeCanvas SCORM ZIP 업로드
  3. Launch → 학습 진행
  4. Reports → 점수/완료 확인
  5. Debug Logs → 모든 SetValue 호출 캡처
매뉴얼 끝
tubeCanvas — 한국 교육 현장의 인터랙티브 학습을 위해 🚀

궁금한 점은 hello@tubecanvas.kr로 문의해주세요.

문서 버전 1.0 · 2026년 6월 4일