Sign inSign up

credkellar/omnistream-youtube-adapter

By credkellar

•Updated about 9 hours ago

OmniStream platform: HLS/DASH video streaming + social cross-promotion, Kafka microservices, FFmpeg.

Image
Integration & delivery
Developer tools
Monitoring & observability
1

48

credkellar/omnistream-youtube-adapter repository overview

⁠omni-stream-platform — Docker Hub overview (paste-ready)

Short description (exactly 100 chars — verified):

OmniStream platform: HLS/DASH video streaming + social cross-promotion, Kafka microservices, FFmpeg.

Categories: Integration & Delivery / Developer Tools / Monitoring & Observability

Applies to: credkellar/omnistream-api-gateway (live now) and the other 13 credkellar/omnistream-* service images as they publish.


⁠OmniStream — video streaming + cross-promotion in one platform

An enterprise-grade platform unifying high-performance video streaming with multi-channel cross-promotion across YouTube, Meta (Facebook + Instagram), X, and Snapchat. Fourteen Python microservices and two clients: presigned direct-to-blob ingest, FFmpeg transcoding to HLS/DASH (plus 9:16 vertical cuts), ABR manifest delivery to an HTML5/hls.js player, Kafka-driven social publishing, Fernet-encrypted auto-refreshing OAuth2 tokens, PostgreSQL metadata, and Redis caching — with Terraform (AWS) and Kubernetes/Helm infrastructure.

Scope honesty: the platform code, containers, CI, and infrastructure are real and tested (10-test suite, all passing). The social adapters simulate their platform API calls at the publish step (marked in code) — live publishing needs real platform credentials and app approvals.

⁠Quick start

This image is the API gateway, the platform's entry point:

docker pull credkellar/omnistream-api-gateway:latest
docker run --rm -p 8080:8080 credkellar/omnistream-api-gateway:latest

Tags: latest and main (~180 MB). Interactive API docs at http://localhost:8080/docs once running.

Run the full platform (all 14 services + Kafka + Redis + PostgreSQL) from source:

git clone https://github.com/ddkellar01/omni-stream-platform.git
cd omni-stream-platform
make up

Publish all 14 service images yourself:

docker login
bash scripts/publish-docker.sh
⁠The services
ServicePortRole
api-gateway (this image)8080Unified proxy, routing, JWT validation
metadata-service8081PostgreSQL metadata + Alembic migrations
promotion-orchestrator8082Campaign fan-out over Kafka
auth-manager8083OAuth2 token vault (Fernet) + refresh daemon
video-ingest-service8084Presigned-URL direct-to-blob uploads
streaming-service8085ABR manifest router (HLS/DASH), Redis-cached
transcoding-worker—FFmpeg multi-resolution HLS rendering
media-transformer—9:16 vertical re-framing + compression
analytics-aggregator—Cross-platform engagement metrics
facebook / instagram / snapchat / x / youtube adapters—Native publishing per platform
⁠How it works
  1. A creator uploads via presigned URL — bytes go direct-to-blob, never through the API tier.
  2. FFmpeg workers render the HLS ladder and the vertical cut.
  3. A dashboard campaign hits the gateway; the orchestrator fans it out over Kafka.
  4. The auth manager supplies fresh OAuth2 tokens; each adapter publishes natively and independently.
  5. Viewers stream through the ABR manifest router; metrics flow back into PostgreSQL via the analytics aggregator.
⁠Tests and CI
  • pytest -q — 10 passed (structural guards: poisoned filenames, Dockerfiles, unique ports, Terraform references, app imports); flake8 critical gate clean.
  • GitHub CI/CD: passing — tests on every push, gateway image rebuilt and republished to Docker Hub automatically.
  • Weekly Trivy security scan (CRITICAL/HIGH).
⁠Source

Tag summary

Content type

Image

Digest

sha256:df0b1e1df…

Size

71.7 MB

Last updated

about 9 hours ago

docker pull credkellar/omnistream-youtube-adapter:main