Skip to content

chris-trag/scrap-tv-feed

Repository files navigation

🎞️ Scrap TV Feed

Scrap TV Feed Preview

πŸ“Ί View Full Collection β†’

License: MIT-0

A ready-to-use sample TV feed with imaginary shows, complete metadata, and organized assets. Perfect for building app prototypes across any platform or framework.

🌟 What's Included

  • Complete Shows - Videos + poster images with embedded metadata
  • Dual Feed Formats - JSON catalog + MRSS/XML feed for maximum compatibility
  • Rich Metadata - Ratings, genres, descriptions, release years, content ratings
  • Organized Assets - Standardized file structure ready for CDN deployment
  • Cross-Platform Ready - Works with React Native, Android, Roku, Web, and more
  • Imaginary Content - From cereal livestreaming to zombie movie extras

πŸ“‹ Content Categories

  • 🐱 Feline-Friendly - Workplace cats and corporate felines
  • 🎨 Beige Studios - Minimalist lifestyle and meditation content
  • 🧟 Background Character Studios - Zombie and horror behind-the-scenes
  • ⏰ Waiting Room TV - Patience and mindfulness programming
  • πŸš— Parking Channel - Parking enforcement and spot hunting

πŸš€ Quick Start

Use the JSON Feed

const CATALOG_URL = "https://raw.githubusercontent.com/chris-trag/scrap-tv-feed/main/catalog.json";

fetch(CATALOG_URL)
  .then(response => response.json())
  .then(catalog => {
    console.log(`Found ${catalog.items.length} shows`);
    // Build your UI with catalog.items
  });

Use the MRSS Feed

const MRSS_URL = "https://raw.githubusercontent.com/chris-trag/scrap-tv-feed/main/feed.xml";

fetch(MRSS_URL)
  .then(response => response.text())
  .then(xmlText => {
    const parser = new DOMParser();
    const xmlDoc = parser.parseFromString(xmlText, "text/xml");
    const items = xmlDoc.querySelectorAll("item");
    console.log(`Found ${items.length} shows in MRSS format`);
  });

Filter by Category

// Get trending content
const trending = catalog.items.filter(item => item.trending);

// Get comedy shows
const comedy = catalog.items.filter(item => 
  item.genres.includes("Comedy")
);

// Get kid-friendly content
const kidsShows = catalog.items.filter(item => 
  item.content_rating === "TV-G"
);

🎯 Catalog Structure

Each show includes:

{
  "id": "cereal-streamz",
  "type": "movie",
  "title": "Cereal Streamz", 
  "category": "General",
  "genres": ["Kids", "Reality"],
  "trending": true,
  "rating_count": 4837,
  "rating_stars": 4.0,
  "content_rating": "TV-G",
  "release_year": 2018,
  "description": "Livestreamed cereal tastings with chat interaction...",
  "duration_sec": 10,
  "images": {
    "poster_16x9": "${base_path}/content/cereal-streamz/poster_1920x1080.jpg"
  },
  "sources": [
    {
      "type": "mp4", 
      "url": "${base_path}/content/cereal-streamz/movie_1080p.mp4"
    }
  ]
}

πŸ“Ί Feed Formats

JSON Catalog (catalog.json)

Structured data perfect for modern web apps and mobile development:

  • Easy parsing with JSON.parse()
  • Rich metadata including ratings, genres, trending status
  • Flexible filtering and sorting capabilities

MRSS Feed (feed.xml)

Media RSS format for traditional RSS readers and media players:

  • Compatible with podcast apps, RSS readers, and media aggregators
  • Includes <media:content>, <media:thumbnail>, and <media:rating> elements
  • Follows Yahoo Media RSS specification

πŸ”§ Customization

Change CDN Base URL

Replace ${base_path} in catalog.json with your hosting URL:

# For GitHub Pages
sed -i 's/${base_path}/https:\/\/username.github.io\/scrap-tv-feed/g' catalog.json

# For your own CDN
sed -i 's/${base_path}/https:\/\/cdn.yoursite.com/g' catalog.json

Host Your Own Copy

  1. Fork this repository
  2. Enable GitHub Pages in repository settings
  3. Update ${base_path} to your GitHub Pages URL
  4. Access feeds at:
    • https://username.github.io/scrap-tv-feed/catalog.json
    • https://username.github.io/scrap-tv-feed/feed.xml

Regenerate MRSS Feed

python3 tools/generate_mrss.py catalog.json > feed.xml

πŸ“ File Structure

scrap-tv-feed/
β”œβ”€β”€ catalog.json              # JSON feed with all metadata
β”œβ”€β”€ feed.xml                  # MRSS/XML feed for RSS readers
β”œβ”€β”€ hero-github.jpg           # Hero image for README
β”œβ”€β”€ TV-COLLECTION.md          # Visual catalog with animated previews
β”œβ”€β”€ content/                  # Organized video assets
β”‚   β”œβ”€β”€ cereal-streamz/
β”‚   β”‚   β”œβ”€β”€ movie_1080p.mp4
β”‚   β”‚   β”œβ”€β”€ poster_1920x1080.jpg
β”‚   β”‚   └── preview_animated_1280x720.gif
β”‚   β”œβ”€β”€ feline-assistant/
β”‚   β”‚   β”œβ”€β”€ movie_1080p.mp4
β”‚   β”‚   β”œβ”€β”€ poster_1920x1080.jpg
β”‚   β”‚   └── preview_animated_1280x720.gif
β”‚   └── ...
β”œβ”€β”€ tools/                    # Feed generation scripts
β”‚   β”œβ”€β”€ organize_tv_feed.py   # Catalog organization
β”‚   └── generate_mrss.py      # MRSS feed generator
└── README.md

🀝 Contributing

Found a bug or want to add more absurd content? See CONTRIBUTING.md for guidelines.

πŸ“„ License

This project is licensed under MIT-0 - see the LICENSE file for details.

πŸ™ Acknowledgments


Made with 🎬 for developers building the future

About

A collection of imaginary TV shows and movies for protyping. Includes royalty free videos, posters, and metadata. Have fun! πŸ“Ί

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages