PANS Jarosław

Webowa platforma repozytorium multimediów dla publicznej uczelni – streaming wideo i audio, automatyczne napisy AI oraz integracja z USOS i SSO, w pełni lokalnie.

O projekcie

Dla publicznej uczelni wyższej zaprojektowaliśmy i wdrożyliśmy webową platformę repozytorium multimediów, która umożliwia publikację, wyszukiwanie i odtwarzanie materiałów wideo, audio oraz dokumentów cyfrowych.

System został przygotowany jako dostępna cyfrowo platforma spełniająca wymagania WCAG 2.1, z responsywnym interfejsem działającym w popularnych przeglądarkach oraz wsparciem dla materiałów dydaktycznych, wykładów i nagrań wydarzeń. Platforma wykorzystuje sztuczną inteligencję do automatycznego generowania napisów w języku polskim – silnik Whisper (AI) działa w 100% lokalnie na serwerze uczelni, bez wysyłki nagrań do zewnętrznych chmur.

W ramach projektu zrealizowaliśmy analizę przedwdrożeniową, projekt architektury oraz kompletną konfigurację i parametryzację systemu, w tym integrację z systemem USOS w oparciu o widoki w bazie Oracle. Oprogramowanie obsługuje zaawansowane zarządzanie uprawnieniami (publiczny dostęp, logowanie, SSO CAS, własne konta), automatyczne zakładanie kont użytkowników, ograniczenia czasowe dostępu oraz mechanizmy przypisywania praw na podstawie danych z USOS (kierunek, wydział, grupa zajęciowa).

Cel biznesowy

Celem projektu było zbudowanie centralnego systemu, który ujednolica udostępnianie materiałów multimedialnych studentom oraz pracownikom uczelni w sposób zgodny z wymogami dostępności cyfrowej (WCAG 2.1) oraz RODO.

Uczelnia potrzebowała systemu, który:

– spełni wymogi dostępności cyfrowej (ustawa o dostępności cyfrowej oraz WCAG 2.1) – uczelnia publiczna musi udostępniać nagrania z napisami,

– umożliwi centralizację rozproszonych materiałów – dotąd wykładowcy korzystali z różnych narzędzi i dysków, bez wspólnego standardu,

– zapewni bezpieczeństwo danych – kontrola dostępu, ochrona wizerunku, RODO,

– wesprze cyfryzację uczelni – projekt wpisuje się w szerszy program modernizacji infrastruktury IT.

System powstał od zera w nowym obszarze.

Wyzwania projektowe

Projekt wymagał połączenia kilku obszarów, w których kluczowa była ścisła współpraca z infrastrukturą i zespołem uczelni.

Integracja z systemem USOS realizowana była przez dedykowane widoki w bazie Oracle. Współpraca z działem IT uczelni polegała na ustaleniu ograniczonego zakresu danych potrzebnego w aplikacji oraz bezpiecznego sposobu ich przekazania tak, aby zsynchronizować studentów, pracowników i grupy zajęciowe przy zachowaniu minimalnej liczby danych.

Istotnym założeniem była pełna lokalność danych. Własny media server oraz komponent transkrypcji AI (Whisper) zostały uruchomione w infrastrukturze uczelni, tak aby żadne materiały nie opuszczały serwerowni i nie były wysyłane do zewnętrznych chmur. Wymagało to przygotowania całego procesu – od uploadu, przez transkodowanie, generowanie napisów, po dostępność w playerze, jako w pełni automatycznego i asynchronicznego, działającego w tle.

Kluczowa była kwestia bezpieczeństwa. Wymagania dostępności cyfrowej WCAG 2.1 oraz zgodności z RODO były uwzględniane na bieżąco w trakcie realizacji, a nie jedynie audytowane na końcu, co obejmowało między innymi realizację funkcjonalności obsługującej „prawo do bycia zapomnianym”.

Wyzwaniem organizacyjnym było również fizyczne wdrożenie środowiska sprzętowego na miejscu – montaż serwera w istniejącej szafie rack uczelni oraz podłączenie do sieci, realizowane we współpracy z działem IT uczelni.

Nasze podejście – zakres rozwiązania

Platforma została zaprojektowana jako jedno spójne środowisko do publikacji, zarządzania i odtwarzania treści audio-wideo oraz dokumentów cyfrowych.
W ramach projektu powstały między innymi:

  • Zaawansowane wyszukiwanie
    • filtrowanie po typie materiału, kategoriach, słowach kluczowych i datach publikacji
    • szybki podgląd treści bez logowania
  • Streaming i odtwarzanie
    • streaming wideo i audio (HLS, HTML5) z adaptacyjną jakością (Full HD/HD/SD)
    • obsługa playlist
    • działanie w każdej przeglądarce – wersji desktop i mobile
  • Zarządzanie uprawnieniami
    • różne modele dostępu: publiczny, autoryzowany, SSO CAS, własne konta
    • automatyczne zakładanie kont użytkowników
    • ograniczenia czasowe dostępu
    • przypisywanie praw na podstawie danych z USOS (kierunek, wydział, grupa zajęciowa)
  • Automatyczna transkrypcja AI
    • automatyczne generowanie napisów w języku polskim dla materiałów audio-wideo,
    • silnik Whisper (AI) działający w 100% lokalnie na serwerze uczelni — bez wysyłki nagrań do zewnętrznych chmur,
    • asynchroniczne przetwarzanie, powiadomienia o zakończeniu oraz milisekundowa dokładność synchronizacji napisów z wideo dzięki zastosowaniu algorytmów wymuszonego dopasowania (forced alignment).
  • Panel administracyjny
    • rozbudowane zarządzanie materiałami, użytkownikami i uprawnieniami
  • Automatyzacja procesu
    • cały proces jest w pełni automatyczny i asynchroniczny
    • wykładowca wgrywa materiał i otrzymuje powiadomienie e-mail, gdy jest on gotowy
    • przygotowanie oraz kodowanie przebiegają niezależnie i w tle

Architektura i technologie

Stack technologiczny
  • Backend: NestJS
  • Frontend: Next.js
  • Baza danych: PostgreSQL
  • Streaming: HLS (NestJS / Nginx)
  • Środowisko: Docker
  • Komponenty AI: Whisper (uruchamiany lokalnie na serwerze uczelni)
  • Integracje: USOS, CAS (SSO)

Jest to własne rozwiązanie tworzone od zera, integrujące się z bibliotekami open-source, takimi jak FFmpeg (przygotowanie plików pod streaming HLS) oraz Whisper (proces Speech-To-Text).

Architektura systemu

System działa w architekturze modułowej: centralny backend współpracuje z wydzielonymi, niezależnymi serwisami do transkodowania i transkrypcji. Takie podejście jest łatwe w utrzymaniu i skalowaniu.

Własny media server został uruchomiony w infrastrukturze uczelni – żadne materiały nie opuszczają serwerowni. Streaming HLS realizowany jest z adaptacyjną jakością (Full HD / HD / SD).

Integracja z USOS odbywa się przez dedykowane widoki Oracle – synchronizowani są studenci, pracownicy i grupy zajęciowe. Współpraca z działem IT uczelni polegała na ustaleniu ograniczonego zakresu danych potrzebnego w aplikacji oraz bezpiecznego sposobu ich przekazania. Logowanie odbywa się przez uczelniane SSO (CAS) – integracja po OIDC, dzięki czemu użytkownik korzysta z tych samych danych co w innych systemach uczelni.

Architektura została przygotowana pod rozbudowę – dodawanie kolejnych integracji, wzrost liczby użytkowników i materiałów, kolejne węzły streamingowe oraz integrację z nowymi systemami uczelnianymi w późniejszym terminie.

Wydajność i bezpieczeństwo

System hostowany jest na serwerze znajdującym się w serwerowni uczelni. Pełna lokalność danych oznacza, że materiały są utrzymywane w całości na serwerze klienta.

Zastosowane mechanizmy zabezpieczeń obejmują:

  • role oraz grupy dostępu, w tym dostęp zgodny z uprawnieniami nadawanymi na bazie integracji z USOS,
  • bezpieczny mechanizm autentykacji (Cookie Based Authentication),
  • szyfrowanie HTTPS,
  • wykonanie testów bezpieczeństwa oraz podatności wraz z dostarczeniem raportu w tym zakresie,
  • anonimizację użytkowników zgodnie z RODO, w tym realizację funkcjonalności obsługującej „prawo do bycia zapomnianym”.

Wymagania dostępności cyfrowej WCAG 2.1 były uwzględniane na bieżąco w trakcie realizacji. Na końcowym etapie przeprowadziliśmy testy w zakresie dostępności cyfrowej oraz przygotowaliśmy deklarację dostępności opublikowaną na stronie, wraz z raportem z testów dostarczonym klientowi w formie dokumentu.

Rezultaty
  • centralizacja udostępniania materiałów multimedialnych studentom i pracownikom uczelni
  • zgodność z wymogami dostępności cyfrowej (WCAG 2.1) oraz RODO,
  • automatyczne generowanie napisów w języku polskim z wykorzystaniem AI, działające w pełni lokalnie
  • integracja z systemem USOS oraz uczelnianym SSO (CAS)
  • pełna lokalność danych - materiały nie opuszczają serwerowni uczelni

Porozmawiajmy o Twoim projekcie

Opisz swoje potrzeby, a my wrócimy z propozycją dopasowaną do Twojego biznesu.

Porozmawiajmy