#m3u #title #extract #playlist #url #media-file #applications

bin+lib m3u_cli_parser

一个用于解析M3U播放列表并提取条目标题和URL的Rust CLI应用程序

1 个不稳定版本

0.1.0 2023年11月11日

#1083 in 文件系统

MIT 许可证

9KB
98

Rust M3U解析器

目录

描述

M3U解析器CLI是一个Rust命令行应用程序,用于解析M3U播放列表,提取如条目标题和URL等有价值的信息,并将解析结果供进一步使用。它适用于需要处理M3U播放列表的用户,无论用于媒体播放、播放列表管理或其他目的。

解析过程

1. M3U文件结构

M3U文件通常以#EXTM3U开始,由条目组成,每个条目以#EXTINF标签开始,后跟如时长和标题等元数据,以及相应的媒体文件路径。

#EXTM3U #EXTINF:111,示例艺术家名称-示例曲目标题C:\Music\SampleMusic.mp3#EXTINF:222,示例艺术家名称-示例曲目标题C:\Music\ExampleMusic.mp3

2. 解析规则

解析器使用PEG crate来定义匹配每个条目结构的规则。规则识别并提取相关信息,如时长、标题和文件路径。

3. 结果数据结构

解析信息以M3UEntry对象的形式组织,捕获如标题、时长和文件路径等详细信息。

struct M3UEntry { title:String,duration:String,path:String,}

安装

要使用此解析器,请按照以下步骤操作

$ git clone https://github.com/elbeasto31/rust_parser.git $ cd rust_parser $ cargo build`

用法

要使用M3U解析器CLI,您可以安装它并从命令行运行它。您可以指定要解析的M3U文件的路径作为命令行参数。解析结果将在控制台显示,并按指定路径保存为JSON。

示例

cargorun assets/test.m3u -ofile.json

结果使用

可以从技术角度以下方式使用解析结果

  • 播放列表管理:可以将解析的M3UEntry对象存储在数据结构或数据库中,以实现高效的播放列表管理。您可以实现添加、删除或重新排序播放列表内条目的功能。

  • 元数据提取和编目:利用提取的元数据,如轨道标题、持续时间,对媒体文件进行编目。这些信息可以存储在数据库中,或用于生成关于媒体内容报告。

  • 与其他系统的集成:解析结果可以与使用 Rust 或其他编程语言编写的其他系统或应用程序集成。这可以实现与现有软件的无缝互操作性。

请随意根据您的具体技术需求自定义 M3U 解析器,并将解析结果无缝集成到您的 Rust 应用程序中。

许可证

本项目采用 MIT 许可协议。请参阅 LICENSE 文件以获取详细信息。

贡献

如果您想为此项目做出贡献,请遵循以下指南

  1. 复制仓库。
  2. 为您的功能或错误修复创建一个新分支。
  3. 进行更改并彻底测试。
  4. 提交一个带有更改描述的拉取请求。

依赖项

~1.3–2.2MB
~39K SLoC