Skip to content

pawanpaudel93/rs-m3u-parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

M3U Parser

License Crates.io Documentation

A library for parsing and manipulating M3U playlists.

Features

  • Parse M3U playlists from files or URLs.
  • Extract stream information such as title, logo, URL, category, etc.
  • Filter stream information based on attributes and conditions.
  • Check the availability of streams by sending requests to their URLs.
  • Save filtered stream information to a new M3U playlist.

Installation

Add the m3u_parser crate to your Cargo.toml file:

[dependencies]
m3u_parser = "0.1.2"

Import the M3uParser struct and use it to parse M3U playlists:

use m3u_parser::M3uParser;

#[tokio::main]
async fn main() {
    let mut parser = M3uParser::new(None);
    parser.parse_m3u("path/to/playlist.m3u", false, true).await;
    // Perform operations on the parsed stream information
}

For more examples and detailed documentation, see the API documentation.

Examples

Parse an M3U playlist file and print the stream information:

use m3u_parser::M3uParser;

#[tokio::main]
async fn main() {
    let mut parser = M3uParser::new(None);
    parser.parse_m3u("path/to/playlist.m3u", false, true).await;
    for stream_info in parser.streams_info {
        println!("{:?}", stream_info);
    }
}

Other Implementations

Author

👤 Pawan Paudel

🤝 Contributing

Contributions, issues and feature requests are welcome!
Feel free to check issues page.

Show your support

Give a ⭐️ if this project helped you!

Copyright © 2023 Pawan Paudel.

Releases

No releases published

Packages

No packages published

Languages