#playlist #youtube #download

bin+lib ytitler

YouTube playlist files (m3u) organizer

9 releases

0.1.1 Feb 23, 2019
0.1.0 Feb 10, 2019
0.0.4 Feb 10, 2019

#155 in Multimedia

21 downloads per month

MIT license

90KB
377 lines

YTitler

Playlist organizer for m3u files with YouTube URLs. Can also be used as library - provides handy Playlist and Scrapper structs.

As a library:

let playlist = Playlist {
    urls: vec![String::from("https://www.youtube.com/watch?v=UThGcWBIMpU")]
};
let chunks = playlist.to_chunks();
let videos = scrapper::fetch(chunks, None);

assert_eq!(videos.len(), 1);
assert_eq!(videos.first().unwrap().title.content, "WWDC 2018 Keynote — Apple");

As a binary

ytitler -f my_playlist.m3u

preview

What the program is for?

If you use a video player (i.e. SMplayer) which can open YouTube streams and keep your videos you wanna watch in a playlist you probably has something like this:

before

We are missing something here. The player doesn't fetch the video titles for us. Also the durations are 00:00 until you actually start playng the video.

YTitler can help you with this:

after

That looks much better. You get the channel name, release date, video title and video duration.

The URLs are fetched from the given file and processed asynchronously in bulks of 10. You also get a nice progress bar so you know how it's going.

For more options you can simply type in ytitler --help.

What about next features.

Sure they are in progress. You can check the ticket list.

Why do you even watch YouTube videos in a desktop player?

Because YouTube playlist management sucks. And because by watching a video in a player you get rid of ads. Yes, no ads at all.

Besides that I can filter, shuffle and use another features of my desktop player (in my case it's SMplayer). Also I can share/sync the playlist between my devices. VLC player on mobiles is the solution. And again, no ads even on mobile.

Can I contribute or vote for new features?

Absolutely! Just open up new merge request or issue.

Dependencies

~25MB
~505K SLoC