Převod kurzových materiálů na SCORM balíčky: Praktický průvodce konverzí souborů

Learning Management Systems (LMS) se opírají o standard SCORM (Sharable Content Object Reference Model), který slouží k balení, doručování a sledování e‑learningového obsahu. Zatímco autorovací nástroje generují SCORM balíčky automaticky, mnoho organizací již disponuje knihovnou rozmanitých assetů – PDF, MP4 videa, PowerPointové snímky, HTML kvízy – vytvořených během let. Převést tyto heterogenní soubory do jediného, dobře strukturovaného SCORM balíčku může být náročné, zejména pokud je nutné zachovat vizuální věrnost, metadata a logiku interakcí.

Tento průvodce provádí celým konverzním workflow, od auditu assetů po finální zip, a zdůrazňuje rozhodnutí, která ovlivňují kompatibilitu, přístupnost a ochranu soukromí. Principy platí jak při použití specializované autorovací platformy, tak i obecného konvertoru, například convertise.app, pro normalizaci formátů před vytvořením balíčku.


1. Porozumění struktura­lním požadavkům SCORM

SCORM nespecifikuje, jak navrhnete výukový obsah; definuje pouze hierarchii složek a malou sadu XML manifestových souborů, které LMS načte. Minimálně SCORM 1.2 nebo 2004 balíček musí obsahovat:

  • imsmanifest.xml – hlavní popisovač, který uvádí každý zdroj, definuje sekvenační pravidla a mapuje identifikátory na cesty k souborům.
  • Složka Resources – všechna média (obrázky, audio, video) a dokumenty odkazované v manifestu.
  • HTML vstupní bod – spouštěcí stránka (často index.html), kterou LMS načte v iframe.

Jakýkoli další asset – PDF podklady, SCORM‑kompatibilní kvízy nebo JavaScriptové knihovny – musí být v manifestu uveden pomocí příslušných <resource> tagů. Chybějící nebo špatně pojmenované položky způsobí, že LMS balíček odmítne, nebo co je horší, předá poškozený výukový zážitek.


2. Audit existujících assetů

Než začnete konvertovat, sestavte inventář všech souborů, které budou součástí kurzu. Vytvořte tabulku s následujícími sloupci:

AssetAktuální formátÚčelPožadované transformaceZachovat metadata?
Přednáškové videoMOVVložené videoPřevést na MP4 (H.264)Ano (datum vytvoření)
Sada snímkůPPTXHTML zobrazeníExportovat do PDF → HTMLNe
Banka otázekXLMSCORM‑kvízExportovat do QTI XMLAno
PodkladDOCOdkaz ke staženíPřevést na PDF/AAno

Tato tabulka odhalí dvě zásadní otázky:

  1. Jaký formát LMS podporuje nativně? Většina moderních LMS přijímá MP4 pro video, PDF pro dokumenty a HTML5 pro interaktivní obsah.
  2. Která metadata musejí přežít konverzi? Pro soulad a analytiku můžete potřebovat zachovat autora, datum vytvoření nebo číslo verze.

3. Normalizace mediálních souborů

3.1 Konverze videa

Video soubory často přicházejí ve formátu MOV, AVI nebo v proprietárních formátech kamer. SCORM‑kompatibilní video by mělo být MP4 s videokodekem H.264 a audio AAC při bitrate, která vyvažuje kvalitu a velikost souboru (obvykle 2–4 Mbps pro 720p, 5–6 Mbps pro 1080p). Postup konverze:

  1. Extrahovat metadata zdroje (např. ffprobe dokáže vypsat datum vytvoření, fotografa, GPS). Uložte je do postranního JSON souboru pro pozdější vložení.
  2. Převést pomocí dvou průchodů (two‑pass encoding), aby se dosáhlo cílové bitrate a zároveň zachovaly klíčové snímky, které korespondují s interaktivními časovými značkami.
  3. Aplikovat bezeztrátové oříznutí nebo otočení, pokud zdroj obsahuje černé pruhy či orientační značky.
  4. Znovu vložit zachovaná metadata pomocí nástrojů jako ffmpeg -metadata, aby je LMS mohl zobrazit v knihovnách assetů.

Pokud musíte chránit soukromí, před finálním zipem odstraňte veškerá embedded data o poloze nebo tagy rozpoznávání obličeje.

3.2 Konverze obrázků a grafik

Rasterové obrázky by měly být PNG pro bezeztrátovou grafiku (ikony, screenshoty UI) a JPEG pro fotografie. Při konverzi SVG diagramů exportujte do PNG při 300 dpi, pokud LMS nedokáže SVG renderovat přímo. Zachovejte barevné profily (sRGB), aby nedošlo k nečekaným posunům na různých zařízeních. Typický pipeline:

  • Ověřte barevný prostor zdroje pomocí exiftool.
  • Konvertujte pomocí imagemagick convert source.svg -density 300 -colorspace sRGB output.png.
  • Odstraňte nepotřebná EXIF pole, aby soubor zůstal lehký, ale zachoval informaci o autorství.

4. Převod dokumentů na web‑ready HTML

Většina SCORM spouštěcích stránek spoléhá na HTML5. Místo přímého vkládání PDF je převádějte na sérii webových stránek:

  1. Exportujte PowerPoint nebo Word do PDF. Použijte nástroj, který zachová vektorové objekty (např. „Uložit jako PDF“ v Microsoft Office).
  2. Spusťte OCR (volitelné). Pokud PDF obsahuje skenované stránky, OCR umožní, aby byl text prohledatelný, čímž se zlepší přístupnost.
  3. Převeďte PDF do HTML pomocí konvertoru, který respektuje nadpisy, tabulky a seznamy. Nástroje produkující čistý DOM – vyhýbající se inline‑style “blobům” – usnadní integraci se SCORM sledovacím JavaScriptem.
  4. Vložte ARIA landmarky ručně nebo pomocí automatického skriptu, který mapuje hierarchii nadpisů na <section> tagy.
  5. Komprimujte vzniklé HTML pomocí gzip na úrovni web serveru; samotný SCORM zip zůstává nekomprimovaný, protože LMS očekává plochý adresář.

Během tohoto procesu zachovejte metadata původního dokumentu (autor, revize) přidáním <meta> tagů do <head> každé stránky.


5. Vytváření interaktivních hodnocení

SCORM může hostovat kvízy postavené na HTML/JavaScript, ale mnoho organizací má již banky otázek ve formátech QTI, GIFT nebo proprietárních Excelových tabulek. Workflow konverze:

  • Exportujte zdrojový dotazník do neutrálního formátu, např. CSV nebo XML.
  • Mapujte každý sloupec na hierarchii QTI (item, response, outcome). Jednoduché Python skripty tuto mapování automatizují.
  • Vygenerujte QTI XML soubory a umístěte je do složky questions.
  • Přidejte malý JavaScript wrapper, který načte QTI, vykreslí otázku, zachytí odpověď žáka a nahlásí výsledek LMS přes SCORM API (obvykle SetValue("cmi.score.raw", score)).

Pokud nemáte interní vývojové kapacity, můžete použít open‑source autorovací engine jako ADL X‑API, který konzumuje QTI a vytváří požadovaný JavaScriptový shim.


6. Tvorba manifestu (imsmanifest.xml)

Manifest je srdcem SCORM balíčku. Minimální, ale robustní příklad pro modul jedné lekce vypadá takto:

<?xml version="1.0" encoding="UTF-8"?>
<manifest identifier="com.example.course1" version="1.2"
          xmlns="http://www.imsproject.org/xsd/imscp_rootv1p1p2"
          xmlns:adlcp="http://www.adlnet.org/xsd/adlcp_rootv1p2"
          xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
  <metadata>
    <schema>ADL SCORM</schema>
    <schemaversion>1.2</schemaversion>
  </metadata>
  <organizations default="ORG-1">
    <organization identifier="ORG-1" structure="hierarchical">
      <title>Course Title – Module 1</title>
      <item identifier="ITEM-1" identifierref="RES-INDEX">
        <title>Lesson Overview</title>
      </item>
    </organization>
  </organizations>
  <resources>
    <resource identifier="RES-INDEX" type="webcontent" adlcp:scormtype="sco" href="index.html">
      <file href="index.html"/>
      <file href="assets/video.mp4"/>
      <file href="assets/handout.pdf"/>
      <file href="questions/q1.xml"/>
    </resource>
  </resources>
</manifest>

Klíčové body:

  • adlcp:scormtype="sco" označuje Sharable Content Object, který může být spuštěn a hlásit data LMS.
  • Každý fyzický soubor použité SCORM objektem musí být uveden v <file> elementu. Vynechané soubory způsobí chybu „resource not found“ během běhu.
  • Používejte čitelné identifikátory (RES-INDEX, ITEM-1) pro usnadnění ladění.

Když máte více lekcí, duplikujte blok <item> a odkažte na odlišné resources.


7. Skládání ZIP archivu

Po přípravě všech assetů a validaci manifestu vytvořte zip se přesnou folder strukturou požadovanou SCORM:

my_course.zip
├─ imsmanifest.xml
├─ index.html
├─ assets/
│   ├─ video.mp4
│   ├─ handout.pdf
│   └─ diagram.png
└─ questions/
    └─ q1.xml

Důležité: Do zipu neuvkládejte vrchní adresář; LMS očekává manifest na kořenové úrovni. Použijte příkazový řádek, který zachová časová razítka souborů (zip -X -r my_course.zip .). Zachovejte původní timestampy zdrojových assetů; některé LMS zobrazují souborový atribut lastModified uživatelům.


8. Validace balíčku

Před nahráním spusťte balíček přes SCORM validator, například ADL SCORM Test Suite nebo open‑source Rustic SCORM Cloud. Validator prověří:

  • Správnost syntaxe manifestu a požadovaných atributů.
  • Přítomnost všech odkazovaných souborů.
  • Shodu s vybranou verzí SCORM (1.2 vs 2004).
  • Správnost API volání na spouštěcí stránce (např. Initialize(), Terminate()).

Pokud validator hlásí chybějící metadata, vraťte se k převodním krokům a znovu vložte potřebné tagy.


9. Automatizace workflow

Pro organizace, které potřebují převést desítky kurzů, se ruční kroky stávají úzkým hrdlem. Střídmá automatizační pipeline může být postavena v skriptovacím jazyce (Python nebo Bash) a orchestruje následující fáze:

  1. Discovery – prohledejte zdrojovou složku a najděte nové assety.
  2. Conversion – zavolejte ffmpeg, imagemagick a PDF‑to‑HTML službu (např. API nabízené convertise.app) a vytvořte standardizované výstupy.
  3. Metadata Harvesting – pomocí exiftool vytáhněte autora a datum, poté zapište metadata.json, který později informuje generování manifestu.
  4. Manifest Generation – naplňte Jinja2 šablonu seznamem souborů a metadat.
  5. Packaging – zipujte složku, spusťte SCORM validator a přesunujte zip do výstupního bucketu.

Ukládání logu každého kroku také vytváří auditní stopu – požadavek mnoha regulovaných odvětví.


10. Úvahy o soukromí a zabezpečení

I když se konverze provádí lokálně nebo v soukromém cloudu, mějte na paměti následující:

  • Odstraňte embedded GPS z obrázků a videí pomocí ffmpeg -metadata location=.
  • Odstraňte skryté textové vrstvy z PDF, které mohou obsahovat komentáře recenzentů.
  • Šifrujte finální zip jen pokud LMS podporuje nahrávání šifrovaných SCORM balíčků; jinak uložte zip do bezpečného úložiště a kontrolujte přístup pomocí IAM politik.
  • Audit logy – zaznamenejte, kdo spustil konverzi a jaké zdrojové soubory byly použity. To pomáhá odpovídat na dotazy o souladu s GDPR nebo HIPAA, když výuková data zahrnují osobní identifikátory.

11. Časté problémy a jak je řešit

PříznakPravděpodobná příčinaOprava
LMS odmítne balíček s „Manifest not found“Zip obsahuje nadbytečnou vrchní složkuPřezipujte obsah přímo na kořenové úrovni
Video přehrává, ale chybí zvukAudio kodek není podporován (např. PCM)Překódujte audio na AAC, 128 kbps
Skóre kvízu se nehlásíJavaScript nevolá SetValue před TerminateZajistěte, aby SCORM API wrapper dokončil zápis před odchodem ze stránky
PDF podklad se v LMS vieweru načítá prázdněPDF používá novější kompresní metodu, kterou viewer nepodporujePřevést na PDF/A‑1b pro maximální kompatibilitu
Handout PDF se otevře prázdně v LMS vieweruPDF používá novější kompresní metodu, kterou viewer nepodporujePřevést na PDF/A‑1b pro maximální kompatibilitu

Řešení těchto potíží včas šetří čas v testovacích cyklech.


12. Reálný příklad: Z legacy materiálů na SCORM

Scénář: Výrobní firma má knihovnu starých školících materiálů sestávající z PowerPoint prezentací (PPTX), instruktážních videí zachycených ve WMV a PDF podkladů. Cílem je doručit obsah přes LMS, který přijímá jen SCORM 2004.

Kroky:

  1. Audit assetů identifikoval 45 PPTX, 30 WMV videí a 60 PDF.
  2. Konverze videí pomocí batch skriptu: ffmpeg -i "$in" -c:v libx264 -crf 22 -c:a aac -b:a 128k "${in%.*}.mp4".
  3. Snímky byly exportovány do PDF přes PowerPoint CLI, poté převedeny na HTML pomocí pandoc s flagem --standalone, který zachovává tabulky a hierarchii odrážek.
  4. Metadata byla získána pomocí exiftool a vložena do HTML <meta> tagů v <head>.
  5. Vytvoření kvízů využilo existující CSV s otázkami, transformované do QTI pomocí krátkého Python skriptu.
  6. Generování manifestu použilo Jinja2 šablonu, která iterovala přes CSV se seznamem assetů a automaticky přiřazovala identifikátory.
  7. Validace pomocí SCORM Cloud odhalila dvě chybějící obrázkové odkazy; chybějící soubory byly do zipu doplněny.
  8. Doručení – finální 1,3 GB zip (komprimovaný) nahrán do LMS a prošel vendor‑ským compliance testem.

Projekt snížil manuální autorovací čas o 70 % a zajistil konzistentní zážitek pro všechny moduly.


13. Shrnutí nejlepších postupů

  1. Nejprve audit – přehledná tabulka předchází chybějícím assetům.
  2. Normalizujte média na široce podporované formáty (MP4, JPEG/PNG, PDF/A).
  3. Zachovejte klíčová metadata extrahováním před konverzí a reinjektováním po ní.
  4. Vytvořte čistý, validovaný manifest; považujte jej za kód – linte jej.
  5. Balíčujte bez nadbytečných složek a uchovávejte původní timestampy.
  6. Validujte včas pomocí SCORM test suite, abyste zachytili strukturální chyby.
  7. Automatizujte pipeline tam, kde objem ospravedlňuje skriptování; udržujte logy pro auditovatelnost.
  8. Odstraňte citlivá data během konverze, zejména z metadat obrázků a videí.

Dodržením těchto kroků můžete transformovat heterogenní sbírku výukových assetů do jediného, standardně kompatibilního SCORM balíčku, který spolehlivě funguje napříč LMS platformami a zároveň zachovává kvalitu, přístupnost i soukromí.


Techniky popsané v tomto dokumentu jsou platform‑agnostické; lze je kombinovat s cloud‑ovými konvertory, jako je convertise.app, pro rychlou a soukromí‑orientovanou normalizaci formátů před vytvořením SCORM zipu.