Skip to content

ronething/m3u8player

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

M3U8 Player

A simple M3U8 video player for playing HLS format video streams.

Features

  • Play M3U8 format video streams
  • Support for most modern browsers
  • Clean and responsive user interface
  • Tools for parsing M3U8 files and downloading or creating test TS files
  • Local proxy for remote files - automatically forwards M3U8 and TS file requests, solving CORS limitations
  • Multiple CORS handling modes - Standard, Compatible, and Proxy modes available
  • Support for both local and remote M3U8 files
  • Dark/Light theme toggle for better viewing experience
  • Drag and drop file upload functionality
  • Flexible base URL configuration for relative paths in local M3U8 files

Usage

  1. Start the server:
npm start
  1. Open your browser and visit: http://localhost:3000

Directory Structure

/
├── index.html        # Player webpage
├── server.js         # HTTP server
├── package.json      # Project configuration
└── README.md         # Documentation

Tech Stack

  • HTML5 Video
  • HLS.js (for browsers without native HLS playback support)
  • Node.js (simple HTTP server)

Notes

  • M3U8 files and TS files must be in the same directory
  • Due to browser security restrictions, these files must be served via an HTTP server

Extended Features

  • You can modify the styles in index.html to customize player appearance
  • You can edit server.js to add more functionality, such as CORS settings, cache control, etc.

Build Docker Image

docker build -t m3u8-player .

Run Docker Container

docker run -d -p 3000:3000 --name m3u8-player-container m3u8-player

About

yet another m3u8 player

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published