Coder Social home page Coder Social logo

m3uparser's Introduction

Parser/Generator m3u playlists

License Latest Stable Version Continuous Integration

Requirements:

  • PHP >= 8.0.2

Installation:

composer require gemorroj/m3u-parser

Example parser:

<?php
declare(strict_types=1);

use M3uParser\M3uParser;

$m3uParser = new M3uParser();
$m3uParser->addDefaultTags();
$data = $m3uParser->parseFile('path_to_file.m3u');
// or $data = $m3uParser->parse('playlist content');

print_r($data->getAttributes());
/*
Array
(
    [url-tvg] => http://www.teleguide.info/download/new3/jtv.zip
    [m3uautoload] => 1
    [deinterlace] => 8
    [cache] => 500
)
*/

/** @var \M3uParser\M3uEntry $entry */
foreach ($data as $entry) {
    print_r($entry);
    /*
        M3uParser\M3uEntry Object
        (
            [lineDelimiter:protected] =>

            [extTags:M3uParser\M3uEntry:private] => Array
                (
                    [0] => M3uParser\Tag\ExtInf Object
                        (
                            [title:M3uParser\Tag\ExtInf:private] => TV SLO 1 HD
                            [duration:M3uParser\Tag\ExtInf:private] => 1
                            [attributes:M3uParser\Tag\ExtInf:private] => Array
                                (
                                )

                        )

                    [1] => M3uParser\Tag\ExtTv Object
                        (
                            [tags:M3uParser\Tag\ExtTv:private] => Array
                                (
                                    [0] => Slovenski
                                    [1] => HD
                                )

                            [language:M3uParser\Tag\ExtTv:private] => slv
                            [xmlTvId:M3uParser\Tag\ExtTv:private] => SLO1HD
                            [iconUrl:M3uParser\Tag\ExtTv:private] =>
                        )

                )

            [path:M3uParser\M3uEntry:private] => rtp://@232.2.201.53:5003
        )
    */

    echo $entry->getPath() . "\n";

    foreach ($entry->getExtTags() as $extTag) {
        switch ($extTag) {
            case $extTag instanceof \M3uParser\Tag\ExtInf: // If EXTINF tag
                echo $extTag->getTitle() . "\n";
                echo $extTag->getDuration() . "\n";

                if ($extTag->hasAttribute('tvg-name')) { // If tvg-name attribute in EXTINF tag
                    echo $extTag->getAttribute('tvg-name') . "\n";
                }
                break;

            case $extTag instanceof \M3uParser\Tag\ExtTv: // If EXTTV tag
                echo $extTag->getXmlTvId() . "\n";
                echo $extTag->getIconUrl() . "\n";
                echo $extTag->getLanguage() . "\n";
                foreach ($extTag->getTags() as $tag) {
                    echo $tag . "\n";
                }
                break;

            case $extTag instanceof \M3uParser\Tag\ExtLogo: // If EXTLOGO tag
                echo $extTag->getLogo() . "\n";
                break;

            case $extTag instanceof \M3uParser\Tag\ExtVlcOpt: // If EXTVLCOPT tag
                echo $extTag->getKey() . ':' . $extTag->getValue() . "\n";
                break;

            case $extTag instanceof \M3uParser\Tag\ExtGrp: // If EXTGRP tag
                echo $extTag->getValue() . "\n";
                break;

            case $extTag instanceof \M3uParser\Tag\Playlist: // If PLAYLIST tag
                echo $extTag->getValue() . "\n";
                break;

            case $extTag instanceof \M3uParser\Tag\ExtTitle: // If EXTTITLE tag
                echo $extTag->getValue() . "\n";
                break;

            case $extTag instanceof \M3uParser\Tag\ExtAlbumArtUrl: // If EXTALBUMARTURL tag
                echo $extTag->getValue() . "\n";
                break;
        }
    }
}

Example generator:

<?php
declare(strict_types=1);

use M3uParser\M3uData;
use M3uParser\M3uEntry;
use M3uParser\Tag\ExtInf;
use M3uParser\Tag\ExtTv;
use M3uParser\Tag\ExtLogo;
use M3uParser\Tag\ExtVlcOpt;
use M3uParser\Tag\ExtGrp;
use M3uParser\Tag\Playlist;
use M3uParser\Tag\ExtTitle;
use M3uParser\Tag\ExtAlbumArtUrl;

$entry = new M3uEntry();
$entry->setPath('test-path');
$entry->addExtTag(
    (new ExtInf())
        ->setDuration(123)
        ->setTitle('extinf-title')
        ->setAttribute('test-attr', 'test-attrname')
);
$entry->addExtTag(
    (new ExtTv())
        ->setIconUrl('https://example.org/icon.png')
        ->setLanguage('ru')
        ->setXmlTvId('xml-tv-id')
        ->setTags(['hd', 'sd'])
);
$entry->addExtTag(
    (new ExtLogo())
        ->setLogo('https://example.org/logo.png')
);
$entry->addExtTag(
    (new ExtVlcOpt())
        ->setKey('http-user-agent')
        ->setValue('M2uParser')
);
$entry->addExtTag(
    (new ExtGrp())
        ->setValue('Rock')
);
$entry->addExtTag(
    (new Playlist())
        ->setValue('My favorite playlist')
);
$entry->addExtTag(
    (new ExtTitle())
        ->setValue('title')
);
$entry->addExtTag(
    (new ExtAlbumArtUrl())
        ->setValue('https://store.example.com/download/A32X5yz-1.jpg')
);

$data = new M3uData();
$data->setAttribute('test-name', 'test-value');
$data->append($entry);

echo $data;
/*
#EXTM3U test-name="test-value"
#EXTINF:123 test-attr="test-attrname", extinf-title
#EXTTV:hd,sd;ru;xml-tv-id;https://example.org/icon.png
#EXTLOGO:https://example.org/logo.png
#EXTVLCOPT:http-user-agent=M2uParser
#EXTGRP:Rock
#PLAYLIST:My favorite playlist
#EXTTITLE:title
#EXTALBUMARTURL:https://store.example.com/download/A32X5yz-1.jpg
test-path
*/

Example custom tag:

#EXTM3U
#EXTCUSTOMTAG:123
http://nullwave.barricade.lan:8000/club

implement ExtTagInterface interface

<?php

use M3uParser\M3uParser;
use M3uParser\Tag\ExtTagInterface;

// create custom tag
class ExtCustomTag implements ExtTagInterface
{
    /**
     * @var string
     */
    private $data;

    /**
     * #EXTCUSTOMTAG:data
     */
    public function __construct(?string $lineStr = null)
    {
        if (null !== $lineStr) {
            $this->makeData($lineStr);
        }
    }

    protected function makeData(string $lineStr): void
    {
        /*
EXTCUSTOMTAG format:
#EXTCUSTOMTAG:data
example:
#EXTCUSTOMTAG:123
         */

        $data = \substr($lineStr, \strlen('#EXTCUSTOMTAG:'));

        $this->setData(\trim($data));
    }

    public function getData(): string
    {
        return $this->data;
    }

    public function setData(string $data): self
    {
        $this->data = $data;
        return $this;
    }

    public function __toString(): string
    {
        return '#EXTCUSTOMTAG:' . $this->getData();
    }

    public static function isMatch(string $lineStr): bool
    {
        return 0 === \stripos($lineStr, '#EXTCUSTOMTAG:');
    }
}

// use custom tag
$m3uParser = new M3uParser();
$m3uParser->addTag(ExtCustomTag::class); // add custom tag
$data = $m3uParser->parseFile('path_to_file.m3u');

print_r($data);
/*
M3uParser\M3uData Object
(
    [attributes:M3uParser\M3uData:private] => Array
        (
        )

    [storage:ArrayIterator:private] => Array
        (
            [0] => M3uParser\M3uEntry Object
                (
                    [lineDelimiter:protected] =>

                    [extTags:M3uParser\M3uEntry:private] => Array
                        (
                            [0] => M3uParser\Tests\ExtCustomTag Object
                                (
                                    [data:M3uParser\Tests\ExtCustomTag:private] => 123
                                )

                        )
 
                    [path:M3uParser\M3uEntry:private] => http://nullwave.barricade.lan:8000/club
                )
 
        )

)
*/

m3uparser's People

Contributors

gemorroj avatar martimarkov avatar nicklog avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

m3uparser's Issues

Add support EXTTV tag

Add support EXTTV tag (see request #4).

it defines language and groups TV programs are in (for instance Radio Salomon --> #EXTTV:Radio;slv; = its Radio and its language is Slovenian)

Need documentation for implementation.

Add EXTVLCOPT

https://4pda.to/forum/index.php?showtopic=314120&st=4840#entry63783412

По умолчанию #EXTVLCOPT: используется для работы с VLC .. Для задания кучи специфических команд например
#EXTVLCOPT:http-user-agent=Lavf53.32.100 (тут в качестве юзер агента TV Samsung) 
#EXTVLCOPT:http-caching=1200 (Объем кеша)
#EXTVLCOPT:http-charset=utf-8 (задать кодировку плейлиста)
#EXTVLCOPT--http-reconnect=true

need more information
ref: #19 (comment)

url is parsed twice

Hi the url in a m3u file is shown twice if I do: echo $entry->getPath() I will get

Alternative\everclear_SMFTA.mp3
Alternative\everclear_SMFTA.mp3

out of this file:

EXTM3U

EXTINF:233,Everclear - So Much For The Afterglow

Alternative\everclear_SMFTA.mp3

Readme??

Can somebody explain how to use this?
always get PHP Fatal error: Class 'M3uParser\M3uParser' not found in

do I put the all the file is a folder M3uParser?or root

Add support attributes

Add support read any attributes. For a start, only for EXTINF tag.

Plan:

  • add trait that implements attributes
  • minimal php version 5.4 (because trait)

Possible trait interface:

public getAttributes(): array // key => value
public getAttribute(string $name): string|null
protected init(string $attrString): void

vod parser?

vod is a big issue currently. we need a way to remove them from the list

PHP Notice: Undefined offset: 1

Hi, I have a problem with this package...this is the error log:
`PHP Notice: Undefined offset: 2 in /vendor/gemorroj/m3u-parser/src/Tag/ExtInf.php on line 91

PHP Notice: Undefined offset: 1 in /vendor/gemorroj/m3u-parser/src/Tag/ExtInf.php on line 87 `.

Help me please 😊

regex doesn't accept , comma

Hi, my list have a comma (,) inside the parameters and I could find a solution for. My list e.g.:

#EXTM3U
#EXTINF:-1 tvg-id="" tvg-name="COMO SOBREVIVER A UM ATAQUE ZUMBI" tvg-logo="https://images-na.ssl-images-amazon.com/images/M/MV5BMTY4NjczNjE4OV5BMl5BanBnXkFtZTgwODk0MjQ5NjE@._V1_UX182_CR0,0,182,268_AL_.jpg" group-title="FILMES - ACAO",COMO SOBREVIVER A UM ATAQUE ZUMBI
http://srv.elitehdbr.vip:8880/movie/6168.mp4

So when I get the title give me wrong name:

object(M3uParser\Tag\ExtInf)#630 (4) {
  ["title":"M3uParser\Tag\ExtInf":private]=>
  string(80) "0,182,268_AL_.jpg" group-title="FILMES - ACAO",COMO SOBREVIVER A UM ATAQUE ZUMBI"
  ["duration":"M3uParser\Tag\ExtInf":private]=>
  int(-1)
  ["patch":"M3uParser\Tag\ExtInf":private]=>
  NULL
  ["attributes":"M3uParser\Tag\ExtInf":private]=>
  array(2) {
    ["tvg-id"]=>
    string(0) ""
    ["tvg-name"]=>
    string(33) "COMO SOBREVIVER A UM ATAQUE ZUMBI"
  }
}

thanks

Add EXTLOGO

add EXTLOGO tag
format:
#EXTLOGO: some url

XMLTV parsing

Hi since this project is more a TV parser (it parses IPTV m3u playlists) then mp3 parser (parses list of mp3 files to be played) I was wondering if there are any plans on adding support for XMLTV guide parsing
recently I was playing with this: https://github.com/bcmoney/OpenRecommender/blob/master/lib/services/scraper/video/tv/xmltv/xmltv.class.php trying to parse this file: http://epg.dxing.si/xmltv/example.xml but it aphears that xmltv-class.php doesn't do anything I also found this: https://gist.github.com/azhurb/3690998 but I don't think it parses xml

Thanks for Anwsering and Best Regards

PS: in the final stage I would like to parse this: http://epg.dxing.si/download/new.xml (but its large file and I am not sure if php likes that)

only the end of file is parsed

Hi Thanks for fixing previous issue it works now but there is another problem.

I am using this code to parse file:

<?php
define('ROOT', __DIR__);
require(ROOT . '/vendor/autoload.php');
use M3uParser\M3uParser;

$m3uParser = new M3uParser();
$data = $m3uParser->parseFile('example.m3u');

foreach ($data as $entry) {
    //var_dump($entry);
    /*`
    object(M3uParser\Entry)#2 (2) {
      ["name":"M3uParser\Entry":private]=>
      string(37) "Everclear - So Much For The Afterglow"
      ["path":"M3uParser\Entry":private]=>
      string(31) "Alternative\everclear_SMFTA.mp3"
    }
    */
}
?>
<html><body>Artist = <?php echo $entry->getName() . "\n"; // Назание файла в плейлисте ?><br></body></html>
<html><body>URL = <?php echo $entry->getPath() . "\n"; // Путь к файлу в плейлисте ?></body></html>

and I have this file(example.m3u):

#EXTM3U
#EXTNAME:31_01_2016

#EXTINF:1,TV SLO 1 HD
#EXTTV: Slovenski,HD;slv;SLO1HD
rtp://@232.2.201.53:5003

#EXTINF:2,TV SLO 2 HD
#EXTTV: Slovenski,HD;slv;SLO2HD
rtp://@232.2.201.54:5003

#EXTINF:3,TV SLO 3
#EXTTV: Slovenski;slv;SLO3
udp://@232.2.1.41:5002

#EXTINF:4,Kanal A HD
#EXTTV: Slovenski,HD;slv;AKANALHD
rtp://@232.2.203.142:5003

#EXTINF:5,POP TV HD
#EXTTV: Slovenski,HD;slv;POPTVHD
rtp://@232.2.203.141:5003

#EXTINF:6,POP Kino HD
#EXTTV: Slovenski,HD;slv;POPKINOHD
udp://@232.2.3.144:5002

#EXTINF:7,POP BRIO HD
#EXTTV: Slovenski,HD;slv;BRIOHD
udp://@232.2.3.143:5002

#EXTINF:8,Planet TV HD
#EXTTV: Slovenski,HD;slv;PLANETTVHD
rtp://@232.2.201.55:5003

#EXTINF:9,TV3 medias
#EXTTV: Slovenski;slv;PINKSI
udp://@232.4.1.47:5002

#EXTINF:10,Fox HD
#EXTTV:Filmski,HD;eng;FOXHD
udp://@232.2.3.138:5002

#EXTINF:11,Fox Life HD
#EXTTV:Filmski,HD;eng;FOXLIFEHD
udp://@232.2.3.131:5002

#EXTINF:12,Fox Crime HD
#EXTTV:Filmski,HD;eng;FOXCRIMEHD
udp://@232.2.3.130:5002

#EXTINF:13,Fox Movies HD
#EXTTV:Filmski,HD;eng;FOXMOVIESHD
udp://@232.2.3.132:5002

#EXTINF:14,Cinestar
#EXTTV:Filmski;eng;CINESTARTV
rtp://@232.2.202.42:5003

#EXTINF:15,CineStar TV Action & Thriller
#EXTTV:Filmski;eng;CINESTARACTION
rtp://@232.2.203.46:5003

#EXTINF:16,CineStar TV Premiere 1 HD
#EXTTV:Filmski,HD;eng;CINESTARPR1
rtp://@232.4.212.128:5003

#EXTINF:17,CineStar TV Premiere 2 HD
#EXTTV:Filmski,HD;eng;CINESTARPR2
rtp://@232.4.212.129:5003

#EXTINF:18,Klasik TV
#EXTTV:Filmski;srb;KLASIKTV
udp://@232.2.2.15:5002

#EXTINF:19,TV 1000
#EXTTV:Filmski;eng;TV1000
udp://@232.4.2.1:5002

#EXTINF:20,AMC
#EXTTV:Filmski;eng;MGM
rtp://@232.4.202.17:5003

#EXTINF:21,Universal Channel
#EXTTV:Filmski;eng;HALLMARK
rtp://@232.4.203.1:5003

#EXTINF:22,AXN
#EXTTV:Filmski;eng;AXN
udp://@232.4.2.13:5002

#EXTINF:23,CBS Drama
#EXTTV:Filmski;eng;ROMANTICA
udp://@232.4.2.29:5002

#EXTINF:24,Gold TV
#EXTTV:Filmski;eng;GOLDTV
udp://@232.4.1.78:5002

#EXTINF:25,Pink Film
#EXTTV:Filmski;srb;PINKFILM
udp://@232.4.8.3:5002

#EXTINF:26,Pink Movies
#EXTTV:Filmski;srb;PINKMOVIE
udp://@232.4.8.8:5002

#EXTINF:27,Pink Family
#EXTTV:Filmski;srb;PINKFAMILY
udp://@232.4.8.7:5002

#EXTINF:28,Pink 2
#EXTTV:Filmski;srb;PINK2
udp://@232.4.8.5:5002

#EXTINF:30,HTV1
#EXTTV: Hrvaški;hrv;HRT1
udp://@232.2.1.6:5002

#EXTINF:31,HTV2
#EXTTV: Hrvaški;hrv;HRT2
udp://@232.2.1.7:5002

#EXTINF:32,RTL Hrvaška
#EXTTV: Hrvaški;hrv;RTLHRVATSKA
udp://@232.4.11.11:5002

#EXTINF:33,RTL 2 Hrvaška
#EXTTV: Hrvaški;hrv;RTLHRVATSKA2
udp://@232.4.11.18:5002

#EXTINF:34,RTL Living Hrvaška
#EXTTV: Hrvaški;hrv;RTLLIVING
udp://@232.4.11.21:5002

#EXTINF:35,TV Istra
#EXTTV: Hrvaški;hrv;ISTRA
udp://@232.4.11.27:5002

#EXTINF:36,TV Jadran
#EXTTV: Hrvaški;hrv;JADRAN
udp://@232.4.11.26:5002

#EXTINF:37,Z1 Televizija
#EXTTV: Hrvaški;hrv;Z1
udp://@232.4.11.29:5002

#EXTINF:38,Zdrava TV
#EXTTV: Hrvaški;hrv;ZDRAVA
udp://@232.4.11.28:5002

#EXTINF:39,NET TV Kutina
#EXTTV: Hrvaški;hrv; 
udp://@232.4.11.25:5002

#EXTINF:40,Jabuka (OTV)
#EXTTV: Hrvaški;hrv;JABUKATV
udp://@232.4.11.22:5002

#EXTINF:50,Sky News
#EXTTV:Informativni;eng; 
udp://@232.4.2.32:5002

#EXTINF:51,CNN
#EXTTV:Informativni;eng;CNN
udp://@232.4.2.5:5002

#EXTINF:52,Bloomberg EU TV
#EXTTV:Informativni;eng;BLOOMBERG
udp://@232.4.3.40:5002

#EXTINF:53,BBC World
#EXTTV:Informativni;eng;BBCWORLD
udp://@232.4.2.7:5002

#EXTINF:54,France 24
#EXTTV:Informativni;eng;FRANCE24
udp://@232.4.2.6:5002

#EXTINF:55,Al Jazeera Balkans SD
#EXTTV:Informativni;eng;ALJAZEERA
udp://@232.4.1.60:5002

#EXTINF:100,Discovery Channel
#EXTTV:Dokumentarni;eng;DISCOVERY
rtp://@232.4.202.8:5003

#EXTINF:101,Discovery HD
#EXTTV:Dokumentarni,HD;eng;DISCOVERYHD
udp://@232.2.6.1:5002

#EXTINF:102,Discovery Science HD
#EXTTV:Dokumentarni,HD;eng;DISCSCIHD
udp://@232.2.3.129:5002

#EXTINF:103,National Geographic
#EXTTV:Dokumentarni;eng;NATGEO
rtp://@232.2.202.9:5003

#EXTINF:104,National Geographic HD
#EXTTV:Dokumentarni,HD;eng;NATGEOHD
udp://@232.2.6.3:5002

#EXTINF:105,History Channel HD
#EXTTV:Dokumentarni,HD;eng;HISTORYHD
udp://@232.2.6.2:5002

#EXTINF:106,DocuBOX HD
#EXTTV:Dokumentarni,HD;eng;FILMBOXDOCUMENTARY
udp://@232.4.3.52:5002

#EXTINF:107,Viasat History
#EXTTV:Dokumentarni;eng;HISTORY
udp://@232.4.3.2:5002

#EXTINF:108,BBC Earth HD
#EXTTV:Dokumentarni,HD;eng;BBCEARTH
udp://@232.2.3.146:5002

#EXTINF:109,Discovery World
#EXTTV:Dokumentarni;eng;DISCCI
udp://@232.2.3.13:5002

#EXTINF:110,National Geographic Wild HD
#EXTTV:Dokumentarni,HD;eng;NATGEOWHD
udp://@232.2.3.134:5002

#EXTINF:111,Animal Planet HD
#EXTTV:Dokumentarni,HD;eng;ANIMALHD
udp://@232.2.6.14:5002

#EXTINF:112,Wild TV HD
#EXTTV:Dokumentarni,HD;eng;WILDTVHD
udp://@232.2.6.9:5002

#EXTINF:113,Investigation Discovery
#EXTTV:Dokumentarni;eng;DISCINV
rtp://@232.2.202.22:5003

#EXTINF:114,Discovery C&I
#EXTTV:Dokumentarni;eng;CRIMEINVESTIGATION
udp://@232.2.3.59:5002

#EXTINF:115,CBS Reality
#EXTTV:Dokumentarni;eng;REALITY
rtp://@232.4.202.21:5003

#EXTINF:116,Outdoor HD
#EXTTV:Dokumentarni,HD;eng;OUTDOOR HD
udp://@232.2.3.55:5002

#EXTINF:117,Travel Channel HD
#EXTTV:Dokumentarni,HD;eng;TRAVELHD
udp://@232.2.6.8:5002

#EXTINF:118,Fine Living
#EXTTV:Dokumentarni;eng;FLN
rtp://@232.4.203.31:5003

#EXTINF:119,Da Vinci Learning
#EXTTV:Dokumentarni;eng;DAVINCILEAR
rtp://@232.4.203.17:5003

#EXTINF:120,24Kitchen HD
#EXTTV:Dokumentarni,HD;eng;24KITCHENHD
udp://@232.2.3.133:5002

#EXTINF:121,Food HD TV
#EXTTV:Dokumentarni,HD;eng;FOODHD
udp://@232.2.6.13:5002

#EXTINF:122,Discovery TLC
#EXTTV:Dokumentarni;eng;DISCTLC
rtp://@232.4.203.15:5003

#EXTINF:123,Dr. Fit HD
#EXTTV:Dokumentarni,HD;eng;DRFIT
udp://@232.4.3.148:5002

#EXTINF:124,Woman HD
#EXTTV:Dokumentarni,HD;eng;WOMAN
udp://@232.4.3.147:5002

#EXTINF:125,Fashion HD
#EXTTV:Dokumentarni,HD;eng;FASHIONHD
udp://@232.4.3.49:5002

#EXTINF:126,FashionBOX HD
#EXTTV:Dokumentarni,HD;eng;FILMBOXFASHION
udp://@232.4.3.54:5002

#EXTINF:127,E!
#EXTTV:Dokumentarni;eng;EEUROPE
udp://@232.4.2.23:5002

#EXTINF:128,GINX HD
#EXTTV:Dokumentarni,HD;eng;GINXHD
udp://@232.4.3.56:5002

#EXTINF:200,Eurosport HD
#EXTTV:Športni,HD;eng;EUROSPORTHD
udp://@232.2.6.4:5002

#EXTINF:201,Eurosport 2 HD
#EXTTV:Športni,HD;eng;EUROSPORT2HD
udp://@232.2.6.12:5002

#EXTINF:202,Šport TV 1 HD
#EXTTV:Športni,HD;slv;SPORTTVHD
udp://@232.2.2.128:5002

#EXTINF:203,Šport TV 2 HD
#EXTTV:Športni,HD;slv;SPORTTV2HD
udp://@232.2.3.128:5002

#EXTINF:204,Šport TV 3 HD
#EXTTV:Športni,HD;slv;SPORTTV3HD
udp://@232.2.3.139:5002

#EXTINF:205,Sport Klub 1 HD
#EXTTV:Športni,HD;slv;SK1HD
udp://@232.2.3.135:5002

#EXTINF:206,Sport Klub 2 HD
#EXTTV:Športni,HD;slv;SK2HD
udp://@232.2.3.136:5002

#EXTINF:207,Sport Klub 3 HD
#EXTTV:Športni,HD;slv;SK3HD
udp://@232.2.3.137:5002

#EXTINF:208,Sport Klub 4
#EXTTV:Športni;slv;SK4
udp://@232.4.3.63:5002

#EXTINF:209,Sport Klub 5
#EXTTV:Športni;slv;SK5
udp://@232.4.3.64:5002

#EXTINF:210,Sport Klub 6
#EXTTV:Športni;slv;SK6
udp://@232.4.3.65:5002

#EXTINF:211,Motorvision TV HD
#EXTTV:Športni,HD;eng;MOTORVISIONTV
udp://@232.4.3.57:5002

#EXTINF:212,FightBOX HD
#EXTTV:Športni,HD;eng;FILMBOXFIGHT
udp://@232.4.3.53:5002

#EXTINF:213,Fight Sports HD
#EXTTV:Športni,HD;eng;FIGHTSPORTSHD
udp://@232.4.3.140:5002

#EXTINF:214,Fight Channel
#EXTTV:Športni;hrv;FIGHT
udp://@232.4.4.20:5002

#EXTINF:215,Extreme TV
#EXTTV:Športni;eng;EXTREME
udp://@232.4.3.22:5002

#EXTINF:216,Motors TV
#EXTTV:Športni;eng;MOTORS
udp://@232.4.4.1:5002

#EXTINF:217,Nautical Channel
#EXTTV:Športni;eng;YACHTSAIL
udp://@232.4.4.2:5002

#EXTINF:218,Trace Sport
#EXTTV:Športni;fre;TRACESPORT
udp://@232.4.4.17:5002

#EXTINF:219,Sport1
#EXTTV:Športni;ger;DSF
udp://@232.4.2.3:5002

#EXTINF:300,MTV
#EXTTV:Glasbeni;eng;MTV
rtp://@232.4.202.11:5003

#EXTINF:301,MTV HD
#EXTTV:Glasbeni,HD;eng;MTVLIVEHD
udp://@232.4.3.51:5002

#EXTINF:302,MTV Dance
#EXTTV:Glasbeni;eng;MTVDANCE
udp://@232.4.3.7:5002

#EXTINF:303,MTV Hits
#EXTTV:Glasbeni;eng;MTVH
udp://@232.4.3.9:5002

#EXTINF:304,MTV Rocks
#EXTTV:Glasbeni;eng;MTV2
udp://@232.4.3.8:5002

#EXTINF:305,VH1
#EXTTV:Glasbeni;eng;VH1
udp://@232.4.2.14:5002

#EXTINF:306,VH1 Classic
#EXTTV:Glasbeni;eng;VH1CLA
udp://@232.4.3.10:5002

#EXTINF:307,I-Concert TV HD
#EXTTV:Glasbeni,HD;eng;ICONCERTS
udp://@232.4.6.11:5002

#EXTINF:308,Mezzo
#EXTTV:Glasbeni;fre;MEZZO
udp://@232.4.3.41:5002

#EXTINF:309,Mezzo Live HD
#EXTTV:Glasbeni,HD;fre;MEZZOLIVEHD
udp://@232.4.3.50:5002

#EXTINF:310,Trace Urban
#EXTTV:Glasbeni;fre;TRACE
udp://@232.4.4.18:5002

#EXTINF:311,CMC
#EXTTV:Glasbeni;hrv; 
udp://@232.4.2.16:5002

#EXTINF:312,Jugoton
#EXTTV:Glasbeni;srb;JUGOTONTV
udp://@232.4.3.60:5002

#EXTINF:313,Pink Music
#EXTTV:Glasbeni;srb;PINKMUSIC
udp://@232.4.2.40:5002

#EXTINF:314,DM SAT
#EXTTV:Glasbeni;srb; 
udp://@232.4.3.25:5002

#EXTINF:315,KCN
#EXTTV:Glasbeni;srb;KCN
udp://@232.4.11.44:5002

#EXTINF:316,KCN Music
#EXTTV:Glasbeni;srb;KCNM
udp://@232.4.11.45:5002

#EXTINF:317,TV Golica
#EXTTV:Glasbeni;slv; 
rtp://@232.4.201.19:5003

#EXTINF:318,Pink Folk
#EXTTV:Glasbeni;srb;PINKFOLK
udp://@232.2.8.4:5002

#EXTINF:319,Pink Extra
#EXTTV:Glasbeni;srb;PINKEXTRA
udp://@232.4.8.2:5002

#EXTINF:320,Folk Plus
#EXTTV:Glasbeni;shq;
udp://@232.4.11.3:5002

#EXTINF:321,Narodna TV
#EXTTV:Glasbeni;hrv;NARODNA
udp://@232.4.11.24:5002

#EXTINF:400,OTO HD
#EXTTV:Otroški,HD;slv;POPOTOHD
udp://@232.2.3.145:5002

#EXTINF:401,Disney Channel
#EXTTV:Otroški;eng;DISNEY
rtp://@232.2.202.2:5003

#EXTINF:402,Cartoon / TCM
#EXTTV:Otroški;eng;CARTOON
udp://@232.4.2.33:5002

#EXTINF:403,Nickelodeon
#EXTTV:Otroški;eng;NICKELODEON
udp://@232.4.3.11:5002

#EXTINF:404,Boomerang
#EXTTV:Otroški;eng;BOOMERANG
rtp://@232.4.203.6:5003

#EXTINF:405,JimJam
#EXTTV:Otroški;eng;JIMJAM
udp://@232.4.3.3:5002

#EXTINF:406,Disney XD
#EXTTV:Otroški;eng;JETIX
udp://@232.4.3.4:5002

#EXTINF:407,Baby TV
#EXTTV:Otroški;eng; 
udp://@232.4.2.12:5002

#EXTINF:408,Pink Kids
#EXTTV:Otroški;eng;PINKKIDS
udp://@232.4.8.6:5002

#EXTINF:409,Minimax
#EXTTV:Otroški;eng;MINIMAX
rtp://@232.4.202.41:5003

#EXTINF:410,Orlando Kids
#EXTTV:Otroški;hrv;OKKIDS
udp://@232.4.3.47:5002

#EXTINF:411,Tring Tring
#EXTTV:Otroški;shq; 
udp://@232.4.11.8:5002

#EXTINF:500,RTS 1
#EXTTV: Srbski;srb;RTS1
udp://@232.4.11.47:5002

#EXTINF:501,RTS 2
#EXTTV: Srbski;srb;RTS2
udp://@232.4.11.48:5002

#EXTINF:502,B 92
#EXTTV: Srbski;srb;B92
udp://@232.4.11.40:5002

#EXTINF:503,PrvaTV Srbija
#EXTTV: Srbski;srb;PRVASRB
udp://@232.4.11.46:5002

#EXTINF:504,Pink Plus
#EXTTV: Srbski;srb;PINK
udp://@232.4.8.1:5002

#EXTINF:505,Pink Zabava
#EXTTV: Srbski;srb;PINKZABAVA
udp://@232.4.8.9:5002

#EXTINF:506,Pink World
#EXTTV: Srbski;srb;PINKWORLD
udp://@232.4.8.10:5002

#EXTINF:507,Pink Reality
#EXTTV: Srbski;srb;PINKREALITY
udp://@232.4.8.11:5002

#EXTINF:508,RTRS
#EXTTV: Srbski;srb;RTRS
udp://@232.4.11.17:5002

#EXTINF:509,RT Srbija
#EXTTV: Srbski;srb;RTS
udp://@232.4.1.22:5002

#EXTINF:510,TV Svet Plus Beograd
#EXTTV: Srbski;srb;SPBEOGRAD
udp://@232.4.11.53:5002

#EXTINF:511,B 92 Info
#EXTTV: Srbski;srb;
udp://@232.4.11.41:5002

#EXTINF:512,TV Duga Novi sad
#EXTTV: Srbski;srb;DUGANS
udp://@232.4.11.49:5002

#EXTINF:513,Happy TV
#EXTTV: Srbski;srb;HAPPY
udp://@232.4.11.42:5002

#EXTINF:514,Vikom
#EXTTV: Srbski;srb;VIKOM
udp://@232.4.11.43:5002

#EXTINF:515,BN TV
#EXTTV: Srbski;srb;BNTV
udp://@232.4.3.26:5002

#EXTINF:516,RT Crna gora
#EXTTV: Črnogorski;mne;RTCG
udp://@232.4.1.23:5002

#EXTINF:517,TV Atlas
#EXTTV: Črnogorski;mne;ATLAS
udp://@232.4.11.52:5002

#EXTINF:518,Elta 2
#EXTTV: Bosanski;bos; 
udp://@232.4.11.12:5002

#EXTINF:519,Hayat
#EXTTV: Bosanski;bos;HAYAT
udp://@232.4.1.21:5002

#EXTINF:520,ELTA TV
#EXTTV: Bosanski;bos; 
udp://@232.4.1.52:5002

#EXTINF:521,BHT 1
#EXTTV: Bosanski;bos;BHT1
udp://@232.4.11.13:5002

#EXTINF:522,FTV
#EXTTV: Bosanski;bos;FTV
udp://@232.4.11.14:5002

#EXTINF:523,OTV Valentino
#EXTTV: Bosanski;bos;VALENTINO
udp://@232.4.11.16:5002

#EXTINF:524,TV 1
#EXTTV: Bosanski;bos;TV1
udp://@232.4.11.19:5002

#EXTINF:525,TV Sarajevo
#EXTTV: Bosanski;bos;SARAJEVO
udp://@232.4.11.20:5002

#EXTINF:526,OBN
#EXTTV: Bosanski;bos;OBNBOSNA
udp://@232.4.3.48:5002

#EXTINF:527,NTV IC Kakanj
#EXTTV: Bosanski;bos;KAKANJ
udp://@232.4.11.15:5002

#EXTINF:528,RTK
#EXTTV: Kosovski;shq; 
udp://@232.4.1.24:5002

#EXTINF:529,RTV 21 PLUS
#EXTTV: Kosovski;shq;RTV21P
udp://@232.4.11.4:5002

#EXTINF:530,Tring 7
#EXTTV: Albanski;alb; 
udp://@232.4.11.5:5002

#EXTINF:531,Tring Max
#EXTTV: Albanski;alb;TRINGM
udp://@232.4.11.6:5002

#EXTINF:532,Tring Shiqip
#EXTTV: Albanski;alb; 
udp://@232.4.11.7:5002

#EXTINF:533,Tring Vizion+
#EXTTV: Albanski;alb; 
udp://@232.4.11.9:5002

#EXTINF:534,MPT 1
#EXTTV: Makedonski;mac; 
udp://@232.4.11.33:5002

#EXTINF:535,MPT 2
#EXTTV: Makedonski;mac; 
udp://@232.4.11.34:5002

#EXTINF:536,MPT 3
#EXTTV: Makedonski;mac; 
udp://@232.4.11.35:5002

#EXTINF:537,MKTV
#EXTTV: Makedonski;mac; 
udp://@232.4.1.25:5002

#EXTINF:538,Shutel TV
#EXTTV: Makedonski;mac; 
udp://@232.4.3.62:5002

#EXTINF:539,TV 21
#EXTTV: Makedonski;mac;TV21
udp://@232.4.11.10:5002

#EXTINF:540,Alfa TV
#EXTTV: Makedonski;mac; 
udp://@232.4.11.30:5002

#EXTINF:541,Alsat Macedonia
#EXTTV: Makedonski;mac; 
udp://@232.4.11.2:5002

#EXTINF:542,Kanal 5
#EXTTV: Makedonski;mac;KANAL5
udp://@232.4.11.31:5002

#EXTINF:543,Kanal 5 Plus
#EXTTV: Makedonski;mac; 
udp://@232.4.11.32:5002

#EXTINF:544,NAŠA TV
#EXTTV: Makedonski;mac; 
udp://@232.4.11.36:5002

#EXTINF:545,Sitel 3
#EXTTV: Makedonski;mac;SITEL3
udp://@232.4.11.37:5002

#EXTINF:546,Telma TV
#EXTTV: Makedonski;mac;TELMA
udp://@232.4.11.38:5002

#EXTINF:547,TV Sitel
#EXTTV: Makedonski;mac;SITEL
udp://@232.4.11.39:5002

#EXTINF:600,Pink SI
#EXTTV: Slovenski;eng; 
udp://@232.4.1.61:5002

#EXTINF:601,TeleM
#EXTTV: Slovenski;slv; 
udp://@232.4.1.37:5002

#EXTINF:602,Vitel
#EXTTV: Slovenski;slv; 
udp://@232.4.1.35:5002

#EXTINF:603,TV Petelin
#EXTTV: Slovenski;slv; 
udp://@232.4.1.36:5002

#EXTINF:604,Kanal 10 / Idea TV
#EXTTV: Slovenski;slv; 
udp://@232.4.1.40:5002

#EXTINF:605,TV As
#EXTTV: Slovenski;slv; 
udp://@232.4.1.39:5002

#EXTINF:606,SIP TV
#EXTTV: Slovenski;slv; 
udp://@232.4.1.38:5002

#EXTINF:607,TV Veseljak
#EXTTV: Slovenski;slv;PAPRIKA
udp://@232.4.1.13:5002

#EXTINF:608,Čarli TV
#EXTTV: Slovenski;slv; 
udp://@232.4.1.10:5002

#EXTINF:609,BK TV
#EXTTV: Slovenski;slv;BKTVSLO
udp://@232.4.1.58:5002

#EXTINF:610,NET TV
#EXTTV: Slovenski;slv;NET
udp://@232.4.1.14:5002

#EXTINF:611,Vaš kanal
#EXTTV: Slovenski;slv; 
udp://@232.4.1.20:5002

#EXTINF:612,Ptujska TV
#EXTTV: Slovenski;slv;PTUJTV
udp://@232.4.1.50:5002

#EXTINF:613,Arena TV
#EXTTV: Slovenski;slv; 
udp://@232.4.1.42:5002

#EXTINF:614,RTS Maribor
#EXTTV: Slovenski;slv;RTSM
udp://@232.4.1.15:5002

#EXTINF:615,VTV
#EXTTV: Slovenski;slv; 
udp://@232.4.1.17:5002

#EXTINF:616,TV Celje
#EXTTV: Slovenski;slv; 
udp://@232.4.1.46:5002

#EXTINF:617,TV Koper Capodistria
#EXTTV: Slovenski;slv;KOPER
udp://@232.4.1.18:5002

#EXTINF:618,Oron TV
#EXTTV: Slovenski;slv; 
udp://@232.4.1.62:5002

#EXTINF:619,TIPK TV
#EXTTV: Slovenski;slv; 
udp://@232.4.1.63:5002

#EXTINF:620,ATM TV
#EXTTV: Slovenski;slv; 
udp://@232.4.1.64:5002

#EXTINF:621,RKANAL
#EXTTV: Slovenski;slv; 
udp://@232.4.1.65:5002

#EXTINF:622,Skledar TV
#EXTTV: Slovenski;slv; 
udp://@232.4.1.67:5002

#EXTINF:623,Studio12 TV
#EXTTV: Slovenski;slv; 
udp://@232.4.1.66:5002

#EXTINF:624,TV H2O
#EXTTV: Slovenski;slv; 
udp://@232.4.1.68:5002

#EXTINF:625,TVM
#EXTTV: Slovenski;slv; 
udp://@232.4.1.69:5002

#EXTINF:626,TV SG
#EXTTV: Slovenski;slv; 
udp://@232.4.1.70:5002

#EXTINF:627,Tur TV
#EXTTV: Slovenski;slv;
udp://@232.4.1.71:5002

#EXTINF:628,Ansat TV
#EXTTV: Slovenski;slv;
udp://@232.4.1.128:5002

#EXTINF:629,Koroška Tv
#EXTTV: Slovenski;slv; 
udp://@232.4.1.73:5002

#EXTINF:630,Savinjska Tv
#EXTTV: Slovenski;slv; 
udp://@232.4.1.75:5002

#EXTINF:631,Go TV
#EXTTV: Slovenski;slv; 
udp://@232.4.1.76:5002

#EXTINF:632,TV Ormož
#EXTTV: Slovenski;slv; 
udp://@232.4.1.72:5002

#EXTINF:633,Sponka TV
#EXTTV: Slovenski;slv; 
udp://@232.4.1.16:5002

#EXTINF:634,Exodus TV
#EXTTV: Slovenski;slv;EXODUSTV
udp://@232.4.1.59:5002

#EXTINF:700,RTL
#EXTTV: Nemški;ger;RTL
udp://@232.4.2.34:5002

#EXTINF:701,RTL II
#EXTTV: Nemški;ger;RTL2
udp://@232.4.2.35:5002

#EXTINF:702,Super RTL
#EXTTV: Nemški;ger;SUPERRTL
udp://@232.4.2.36:5002

#EXTINF:703,Arte
#EXTTV: Nemški;ger;ARTE
udp://@232.2.1.43:5002

#EXTINF:704,Kabel 1
#EXTTV: Nemški;ger;KABEL1
udp://@232.4.2.37:5002

#EXTINF:705,SAT 1
#EXTTV: Nemški;ger;SAT1
udp://@232.4.3.34:5002

#EXTINF:706,VOX
#EXTTV: Nemški;ger;VOX
udp://@232.4.3.32:5002

#EXTINF:707,Pro7
#EXTTV: Nemški;ger;PRO7
udp://@232.4.3.35:5002

#EXTINF:708,ARD
#EXTTV: Nemški;ger;ARD
udp://@232.4.1.11:5002

#EXTINF:709,3sat
#EXTTV: Nemški;ger;3SAT
udp://@232.4.1.45:5002

#EXTINF:710,ORF 1
#EXTTV: Nemški;ger;ORF1
udp://@232.4.1.26:5002

#EXTINF:711,ORF 2
#EXTTV: Nemški;ger;ORF2
udp://@232.4.1.27:5002

#EXTINF:712,ZDF
#EXTTV: Nemški;ger;ZDF
udp://@232.4.1.34:5002

#EXTINF:713,N-TV
#EXTTV: Nemški;ger; 
udp://@232.4.3.33:5002

#EXTINF:714,RAI 1
#EXTTV: Italijanski;ita;RAI1
udp://@232.4.1.28:5002

#EXTINF:715,RAI 2
#EXTTV: Italijanski;ita;RAI2
udp://@232.4.1.29:5002

#EXTINF:716,RAI 3
#EXTTV: Italijanski;ita;RAI3
udp://@232.4.1.30:5002

#EXTINF:717,Rete 4
#EXTTV: Italijanski;ita;RETE4
udp://@232.4.14.2:5002

#EXTINF:718,Canale 5
#EXTTV: Italijanski;ita;CANALE5
udp://@232.4.14.3:5002

#EXTINF:719,TV5MONDE
#EXTTV: Italijanski;ita;TV5
udp://@232.4.1.33:5002

#EXTINF:720,Mediaset Italia
#EXTTV: Italijanski;ita;MEDIAINTER
udp://@232.4.3.44:5002

#EXTINF:721,Italia 1
#EXTTV: Italijanski;ita;ITALIA1
udp://@232.4.14.1:5002

#EXTINF:722,TVE
#EXTTV: Španski;esp;TVE
udp://@232.4.1.32:5002

#EXTINF:723,EWTN
#EXTTV:Tuji;eng;EWTN
udp://@232.4.2.31:5002

#EXTINF:724,Russia Today
#EXTTV: Ruski;rus;RUSSIATODAY
udp://@232.4.2.43:5002

#EXTINF:801,Radio Aktual
#EXTTV:Radio;slv;
udp://@232.3.1.7:5002

#EXTINF:802,Radio Center
#EXTTV:Radio;slv;
udp://@232.3.1.6:5002

#EXTINF:803,Radio Ognjišče
#EXTTV:Radio;slv;
udp://@232.3.1.11:5002

#EXTINF:804,Radio Ekspres
#EXTTV:Radio;slv;
udp://@232.3.1.4:5002

#EXTINF:805,Radio Veseljak
#EXTTV:Radio;slv;
udp://@232.3.1.37:5002

#EXTINF:806,Radio 1
#EXTTV:Radio;slv;
udp://@232.3.1.8:5002

#EXTINF:807,Radio Student
#EXTTV:Radio;slv;
udp://@232.3.1.33:5002

#EXTINF:808,Radio City
#EXTTV:Radio;slv;
udp://@232.3.1.12:5002

#EXTINF:809,Val 202
#EXTTV:Radio;slv;
udp://@232.3.1.14:5002

#EXTINF:810,Radio Koper
#EXTTV:Radio;slv;
udp://@232.3.1.40:5002

#EXTINF:811,Radio Pacient
#EXTTV:Radio;slv;
udp://@232.3.1.32:5002

#EXTINF:812,Radio Antena
#EXTTV:Radio;slv;
udp://@232.3.1.5:5002

#EXTINF:813,Radio Salomon
#EXTTV:Radio;slv;
udp://@232.3.1.36:5002

#EXTINF:814,Radio Kranj
#EXTTV:Radio;slv;
udp://@232.3.1.10:5002

#EXTINF:815,ARS
#EXTTV:Radio;slv;
udp://@232.3.1.15:5002

#EXTINF:816,Radio Triglav
#EXTTV:Radio;slv;
udp://@232.3.1.41:5002

#EXTINF:817,Radio Hit
#EXTTV:Radio;slv;
udp://@232.3.1.3:5002

#EXTINF:818,Radio Maribor
#EXTTV:Radio;slv;
udp://@232.3.1.35:5002

#EXTINF:819,Radio Zeleni Val
#EXTTV:Radio;slv;
udp://@232.3.1.9:5002

#EXTINF:820,Radio Capris
#EXTTV:Radio;slv;
udp://@232.3.1.39:5002

#EXTINF:821,Radio Capodistria
#EXTTV:Radio;slv;
udp://@232.3.1.17:5002

#EXTINF:822,Radio Krka
#EXTTV:Radio;slv;
udp://@232.3.1.34:5002

#EXTINF:823,Radio Rogla
#EXTTV:Radio;slv;
udp://@232.3.1.38:5002

#EXTINF:824,Radio Slovenia International
#EXTTV:Radio;slv;
udp://@232.3.1.16:5002

#EXTINF:825,Radio A1
#EXTTV:Radio;slv;
udp://@232.3.1.13:5002

#EXTINF:900,Playboy TV
#EXTTV:XXX;eng; 
udp://@232.4.3.38:5002

#EXTINF:901,Dorcel HD
#EXTTV:XXX,HD;eng;DORCELHD
udp://@232.2.4.15:5002

#EXTINF:902,Hustler TV HD
#EXTTV:XXX,HD;eng;HUSTLERHD
udp://@232.2.6.10:5002

#EXTINF:903,SCT
#EXTTV:XXX;eng; 
udp://@232.4.4.3:5002

#EXTINF:904,Sext6senso
#EXTTV:XXX;eng; 
udp://@232.4.3.36:5002

#EXTINF:905,Erox HD
#EXTTV:XXX,HD;eng;EROXHD
udp://@232.4.4.16:5002

#EXTINF:906,Eroxxx HD
#EXTTV:XXX,HD;eng;EROXXXHD
udp://@232.4.4.14:5002

#EXTINF:907,Sexation
#EXTTV:XXX;eng; 
udp://@232.4.2.50:5002

but it will only show last program it outputs like this:

Artist = Sexation
URL = udp://@232.4.2.50:5002

what could be wrong? Thanks for Anwsering and Best Regards

PS: Do you think you could add #EXTTV tag to be parsed

Add EXTTYPE

Add support EXTTYPE tag
Information (need more research):

#EXTTYPE: for force stream type selection: mpeg,mpeg2,ts,vob,avi,asf,wmv,mp4,mov,aac,ac3,mp3,ogg,wma
#EXTTYPE: optional DLNA profile after file type
example: #EXTTYPE:mp3,DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=01700000000000000000000000000000'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.