Communitygithub.com

Conversion de diapositives Beamer en vidéo MP4 narrée (Paper Sh…

Convertit des diapositives PDF Beamer en une vidéo MP4 narrée avec narration alignée page par page, audio TTS, couverture et métadonnées de téléchargement. Déclenché par des demandes de diapositives narrées, de vidéo de diapositives ou de vidéo de papier.

Qu'est-ce que Conversion de diapositives Beamer en vidéo MP4 narrée (Paper Sh… ?

Ce skill transforme des diapositives PDF issues de présentations Beamer en une vidéo MP4 narrée, verrouillée en échec (fail-closed), avec une narration alignée page par page. Il est particulièrement utile pour les chercheurs et ingénieurs qui souhaitent produire des vidéos de présentation académiques ou techniques à partir de fichiers LaTeX. Le skill supporte les sous-commandes : `render` pour convertir le PDF en images, `plan` pour analyser le fichier TeX, `narrations` pour annoter chaque page avec une narration textuelle, `tts` pour générer l'audio via synthèse vocale (par exemple Edge-TTS), `assemble` pour fusionner images et audio en MP4, `cover` pour créer une vignette, `metadata` pour générer les métadonnées, et `full` pour exécuter l'ensemble du pipeline. Il vérifie la cardinalité exacte des fichiers (PNG, TXT, MP3) et s'assure que chaque page a une narration non vide et un audio positif. Il détecte automatiquement les outils nécessaires (pdftoppm, ffmpeg, ffprobe, edge-tts) via les variables d'environnement ou le PATH. Les sorties sont écrites dans le dossier `video/` du répertoire du papier. Le skill fonctionne avec les agents utilisant Claude Code, Cursor, Codex et d'autres plateformes compatibles avec les skills modulaires.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Peytontalismanic424/paper-share-skills/tree/HEAD/paper-slides-to-video

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Diapositives Papier en Vidéo

Le point d'entrée public est :

<SKILLS_DIR>/paper-slides-to-video/scripts/slides_to_video.py

Exécutez-le avec l'environnement du package :

uv run --project <SKILLS_DIR>/paper-slides-to-video python <SKILLS_DIR>/paper-slides-to-video/scripts/slides_to_video.py <sous-commande>

CLI exacte

  • render PDF FRAME_DIR [--dpi 200]
  • plan TEX
  • narrations FRAME_DIR TEX --annotated-tex ANNOTATED_TEX
  • tts FRAME_DIR [--lang zh]
  • assemble FRAME_DIR OUTPUT [--pad-sec 0.5] [--speed 1.25]
  • cover FIRST_FRAME OUTPUT
  • metadata TEX COVER OUTPUT
  • full PAPER_DIR --annotated-tex ANNOTATED_TEX

Workflow complet requis

  1. Compilez slides-beamer/main.pdf avant d'invoquer ce package.
  2. Copiez slides-beamer/main.tex vers video/main_with_narration.tex et ajoutez une annotation % NARRATION: non vide pour chaque page physique rendue. Ce contrat par page physique permet de maintenir la synchronisation entre les rendus paysage et portrait : les deux orientations sont assemblées à partir des mêmes pages PDF, donc la cardinalité narration/audio s'applique également à chaque orientation.
  3. Exécutez full avec le chemin du TeX annoté.
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 supprime toute sortie narrée obsolète avant le traitement. Il exige une cardinalité exacte PNG/TXT/MP3, une narration et un audio non vides, des durées audio positives détectables, et un MP4 assemblé contenant à la fois des flux vidéo et audio. Une narration ou un MP3 manquant entraîne une sortie non nulle et ne peut pas laisser de résultat narré.

Découverte des outils

  • PDFTOPPM ou POPPLER_DIR (répertoire contenant pdftoppm), puis PATH
  • FFMPEG, puis PATH
  • FFPROBE, puis PATH
  • EDGE_TTS_BIN, puis PATH

Le silence n'est jamais implicite. Les appelants programmatiques peuvent créer une page délibérément silencieuse uniquement en appelant encode_slide(..., require_audio=False). La valeur par défaut publique est require_audio=True.

Les sorties sont écrites sous <PAPER_DIR>/video/ : video_frames/, <paper>_narrated.mp4, cover.png, frames_data.json, narrations.json et video_meta.json.

Skills associés

  • 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

Individual skills in this repo

This repo contains 7 individual skills — each has its own dedicated page.

Peytontalismanic424/paper-share-skills

Validate and upload narrated paper videos to Bilibili with biliup. Handles required landscape-first/portrait-second submissions, series uploads, CST scheduling, diagnostics, dry-run validation, and durable upload receipts. Trigger on: "upload to bilibili", "bilibili upload", "发布到B站", "上传到B站".

Peytontalismanic424/paper-share-skills

Download the TeX source (e-print tar.gz) of an arXiv paper from an arXiv URL or bare ID, and unpack it into paper_src/. Use FIRST whenever a pipeline input is an arXiv link and the TeX source is preferred over the PDF (paper-to-beamer, paper-to-bilibili, paper-venue-discovery). Invoke with an arXiv URL (abs/pdf/e-print, arxiv.org or export.arxiv.org) or a bare ID like 2509.07996v4.

Peytontalismanic424/paper-share-skills

Automated pipeline: paper (PDF or TeX source) → SUSTech Beamer slides (11-section 论文分享 structure) → compiled PDF. When TeX source is available, skip MinerU and extract content directly from LaTeX. Use when the user asks to create Beamer slides from an academic paper, or says "论文分享", "paper to slides", "make beamer from paper". Invoke with an absolute or relative path to a PDF, .tar.gz TeX archive, .tex file, or an arXiv URL/ID (source TeX is downloaded first via skill://paper-download-arxiv-paper-source).

Peytontalismanic424/paper-share-skills

Orchestrate a paper PDF through MinerU, SUSTech Beamer slides, complete Chinese narration, landscape and portrait video, metadata gates, and Bilibili upload. Supports single-paper and batch slides, video, or bilibili phases. Trigger on full paper-to-Bilibili requests, PDF-to-video publication, and batch paper publishing.

Peytontalismanic424/paper-share-skills

Generate a deterministic 16:10 video-cover poster from a paper directory. Extracts paper metadata and figures and atomically produces poster.tex, poster.pdf, and poster.png. Use for paper-video covers, not conference posters.

Peytontalismanic424/paper-share-skills

Convert a PDF (especially academic papers) to clean Markdown using MinerU — preserves reading order, LaTeX equations, tables, and figures, and runs on the GPU. Use when the user asks to convert/extract a PDF to markdown/text. Invoke directly — no need for the user to type the skill name.

Peytontalismanic424/paper-share-skills

Fix for undefined \setsource/\setdomains/\setpresenter/\setvenue commands when compiling SUSTech Beamer slides from the standard template. Copy the extended beamerthemesustech.sty from the sustech-slides-template repository.

Skills associés