Giter VIP home page Giter VIP logo

lizzy's Introduction

CI Maven Central javadoc

Lizzy

Lizzy is an open source Java library allowing to parse, create, edit, convert and save almost any type of multimedia playlist.

Two versatile command-line tools are also available at Lizzy Transcode.

Origin

Lizzy has been forked from sourceforge.net/projects/lizzy

Features

  • Automatic detection of the type of input playlist
  • Information on playlist format support by some media players (input and output)
  • Physical access to the individual contents of a playlist is not required (performed on demand)
  • Information on playlist items (media contents): MIME type, length, duration, width/height
  • Powerful yet simple generic playlist representation
  • Direct handling of a given specific playlist type (e.g. ASX, WPL) is possible
  • Playlist normalization (empty items removal, simplification, reduction)

Supported Playlist Formats

Extension Playlist type
.asx,.wmx, .wax Advanced Stream Redirector (ASX)
.atom Atom Document, RFC4287
.b4s Winamp playlist versions 3 and later
.m3u, .m3u8, .m4u Winamp M3U
.mpcpl Media Player Classic Playlist
.pla iRiver iQuickList File
.plist, .xml Property list, iTunes Library File
.plp Sansa Playlist File
.pls Winamp PLSv2 Playlist
.ram Real Audio Metadata (RAM)
.rmp Real Metadata Package (RMP)
.rss RSS Document
.smil Synchronized Multimedia Integration Language (SMIL), W3C
.wpl Windows Media Player Playlist (WPL)
.xspf XML Shareable Playlist Format (XSPF)

License

Lizzy is licensed through a MIT licensing model: see the text LICENSE.txt.

Download

Lizzy Maven artifacts are published to mvnrepository.com.

Check the GitHub releases page.

Getting started

Example application, using Lizzy, to read a playlist provided via command line argument, and print the playlist media (track) sources:

package io.github.borewit.lizzy.example;

import io.github.borewit.lizzy.playlist.Media;
import io.github.borewit.lizzy.playlist.SpecificPlaylist;
import io.github.borewit.lizzy.playlist.SpecificPlaylistFactory;

import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;

public class ReadPlaylistExample
{
   public static void main(String[] args) throws IOException
   {
      Path playlistPath = Paths.get(System.getProperty("user.dir"), "samples", "asx", "test01.asx");
      SpecificPlaylist specificPlaylist = SpecificPlaylistFactory.getInstance().readFrom(playlistPath);
      if (specificPlaylist == null)
      {
         System.exit(-1);
      }
      specificPlaylist.toPlaylist().getRootSequence().getComponents().forEach(component -> {
         if (component instanceof Media)
         {
            Media media = (Media) component;
            System.out.printf("Media with content-source=%s\n", media.getSource().toString());
         }
      });
   }
}

Documentation

JavaDoc of released versions

Build

In order to build Lizzy from the sources, you first have to download and install the following tools:

  1. Install Java SDK 15 (may work with other versions as well)
  2. Install Gradle
  3. You may have to set JAVA_HOME and directory bin folder of the Maven installation to your PATH System variable.

Execute the following command in order to build the distribution and store it in your local Maven cache:

Build

Publish local

Publish to local Maven repository:

./gradlew :clean :publishToMavenLocal

Publish to Maven Central

Publish to local Sonatype Maven Central - Sonatype:

./gradlew :sign
./gradlew :publish

lizzy's People

Contributors

borewit avatar dependabot[bot] avatar jmvanel avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

lizzy's Issues

Split M3U and M3U8 playlist provider

To load an M3U8 list, the user must no map the .m3u8 extension to the UTF-8 encoding, which is believe not very nice. Similar issues when saving the playlist.

Cannot playback M3U with foobar2000 or Windows Media Player

Default UTF-8 encoding of M3U files are causing problems playing back M3U playlist with:

  1. foobar2000
  2. Windows Media Player

Reproduce issue:

Either make foobar2000 or Windows Media Player the default handler for .m3u playlist extension.

When playing back an M3U file with the following content:

Emilíana Torrini\2005 - Fisherman's Woman\01 - Nothing Brings Me Down.flac.

the decoding of í will cause problems decoding, which cause the media player not be able to locate the file.

Note that the bug label is a bit arguable, as the text encoding of M3U is mostly conventional rather then it is standardized. This is why .m3u8 exist, which is using UTF-8 encoding.

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.