m3u_xmltv 0.2.0 copy "m3u_xmltv: ^0.2.0" to clipboard
m3u_xmltv: ^0.2.0 copied to clipboard

A fast parser for M3U playlists and XMLTV EPG files with built-in channel matching.

example/example.dart

// ignore_for_file: unused_local_variable

import 'dart:convert';
import 'package:m3u_xmltv/m3u_xmltv.dart';

Future<void> main() async {
  await parseFromString();
  await parseFromBytes();
  await parseFromStream();
}

Future<void> parseFromString() async {
  const m3uContent = '''
#EXTM3U
#EXTINF:-1 tvg-id="cnn.us" tvg-name="CNN HD" group-title="News",CNN International
http://example.com/stream/cnn.m3u8
''';

  final playlist = M3uParser.parseString(m3uContent);

  print(
    'parseFromString() : entries ${playlist.entries.length}, epg ${playlist.epgUrls.length}',
  );
}

Future<void> parseFromBytes() async {
  const m3uContent = '''
#EXTM3U
#EXTINF:-1 tvg-id="cnn.us" tvg-name="CNN HD" group-title="News",CNN International
http://example.com/stream/cnn.m3u8
''';

  final bytes = utf8.encode(m3uContent);

  final playlist = M3uParser.parseBytes(bytes);

  print(
    'parseFromBytes() : entries ${playlist.entries.length}, epg ${playlist.epgUrls.length}',
  );
}

Future<void> parseFromStream() async {
  final lines = Stream.fromIterable(
    const [
      '#EXTM3U',
      '#EXTINF:-1 tvg-id="cnn.us" tvg-name="CNN HD" group-title="News",CNN International',
      'http://example.com/stream/cnn.m3u8',
      '#EXTINF:-1 tvg-id="discovery.us" group-title="Documentary",Discovery HD',
      'http://example.com/stream/discovery.m3u8',
    ],
  );

  final entries = M3uParser.parseStream(lines);

  var count = 0;

  await for (final entry in entries) {
    count++;
  }

  print('parseStream() : entries $count');
}
0
likes
160
points
90
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A fast parser for M3U playlists and XMLTV EPG files with built-in channel matching.

Repository (GitHub)
View/report issues

Topics

#iptv #epg #m3u #xmltv

License

MIT (license)

Dependencies

equatable, xml

More

Packages that depend on m3u_xmltv