페이퍼 슬라이드를 비디오로 변환
공개 진입점은 다음과 같습니다:
<SKILLS_DIR>/paper-slides-to-video/scripts/slides_to_video.py
패키지 환경에서 실행하세요:
uv run --project <SKILLS_DIR>/paper-slides-to-video python <SKILLS_DIR>/paper-slides-to-video/scripts/slides_to_video.py <subcommand>
정확한 CLI 명령어
render PDF FRAME_DIR [--dpi 200]plan TEXnarrations FRAME_DIR TEX --annotated-tex ANNOTATED_TEXtts FRAME_DIR [--lang zh]assemble FRAME_DIR OUTPUT [--pad-sec 0.5] [--speed 1.25]cover FIRST_FRAME OUTPUTmetadata TEX COVER OUTPUTfull PAPER_DIR --annotated-tex ANNOTATED_TEX
필수 전체 워크플로우
- 이 패키지를 호출하기 전에
slides-beamer/main.pdf를 컴파일하세요. slides-beamer/main.tex를video/main_with_narration.tex로 복사하고, 렌더링된 각 물리적 페이지마다 하나씩 비어 있지 않은% NARRATION:주석을 추가하세요. 이 물리적 페이지별 계약은 가로 및 세로 렌더링이 동기화되도록 유지합니다: 두 방향 모두 동일한 PDF 페이지에서 조립되므로, 내레이션/오디오 개수 조건이 각 방향에 동일하게 적용됩니다.- 주석이 포함된 TeX 경로를 사용하여
full을 실행하세요.
uv run --project <SKILLS_DIR>/paper-slides-to-video python <SKILLS_DIR>/paper-slides-to-video/scripts/slides_to_video.py full "<PAPER_DIR>" --annotated-tex "<PAPER_DIR>/video/main_with_narration.tex"
full 명령어는 처리를 시작하기 전에 오래된 내레이션 출력을 제거합니다. 정확한 PNG/TXT/MP3 개수, 비어 있지 않은 내레이션 및 오디오, 탐색 가능한 양수 오디오 지속 시간, 비디오 및 오디오 스트림을 모두 포함하는 조립된 MP4를 요구합니다. 내레이션이나 MP3가 누락되면 0이 아닌 종료 코드로 실패하며, 내레이션된 결과물을 남기지 않습니다.
도구 탐색
PDFTOPPM또는POPPLER_DIR(pdftoppm이 포함된 디렉터리), 그 다음PATHFFMPEG, 그 다음PATHFFPROBE, 그 다음PATHEDGE_TTS_BIN, 그 다음PATH
침묵은 절대 암시적으로 생성되지 않습니다. 프로그래밍 방식 호출자는 encode_slide(..., require_audio=False)를 호출하여 의도적으로 침묵 페이지를 만들 수 있습니다. 공개 기본값은 require_audio=True입니다.
출력물은 <PAPER_DIR>/video/ 아래에 기록됩니다: video_frames/, <paper>_narrated.mp4, cover.png, frames_data.json, narrations.json, video_meta.json.
관련 스킬
- skill://batch-papers-single-omp-full-pipeline
- skill://batch-slides-to-video
- skill://blog-to-bilibili
- skill://edge-tts-retry-video-driver
- skill://index-tts-fallback