diff --git a/wiki/music.md b/wiki/audio.md similarity index 56% rename from wiki/music.md rename to wiki/audio.md index 1c3d037..35e9ef5 100644 --- a/wiki/music.md +++ b/wiki/audio.md @@ -1,12 +1,11 @@ -# Music +# Audio -Music is nice to have on your system. -There are multiple different approaches on how to get it working depending on -your needs. -In general you need to consider if you want the music directly on your pc or -access a server for it. +Music and audiobooks is nice to have on your system. +There are multiple different approaches on how to get it working on your system +depending on your needs. +This entry describes how to handle audio data. -## Server/Client +## Media software If you want to keep your system clean of much data, you can use this kind of setup. There are differences depending on your preffered software interface. @@ -14,15 +13,24 @@ There are differences depending on your preffered software interface. - [Airsonic](./airsonic.md) is a free fork of Subsonic, can be dockerized and has a web-interface and multiple possible client options. -## Scan CDs +## Audio codecs + +An audio codec is an encoding of an audio file. +There are lossy and lossless codecs, the latter not compromising quality for +smaller file sizes. +Following is a list of codecs written about in this wiki: + +- [flac](./flac_(codec).md) is a lossless codec + +## Extract audio files from CDs You can convert your CDs to files on your computer. This way you don't have to search for your CDs all the time. - [Exact Audio Copy](https://www.exactaudiocopy.de) for windows can rip music and automatically tag it with the help of a list of databases. -- [metaflac](./linux/flac.md) for linux is a programm - to edit the tags of flac files from the command line. +- [metaflac](./linux/flac_(package).md) for linux is a programm + to edit the tags of [flac](./flac_(codec).md) files from the command line. It is bundled in the `flac` package for debian and arch based systems. - [MusicBrainz Picard](./picard.md) for linux is a graphical user interface for tagging files of many different formats. @@ -40,7 +48,12 @@ If additional information for an album is needed, visit Discogs has tracklists, dates and more information to nearly all versions of albums and singles. -## Working with flac files on Linux +## Naming convention + +It is suggest to place the audio files in a directory named after the album they +belong to. +These album directories are placed in directories named after the album artist. +Files can be named in the following scheme: -If you are on a Linux system and have flac files to work with visit -[the flac entry](./linux/flac.md). +- music: `[.].__-_` +- audiobooks: `[<discnumber>.]<tracknumber>._<artist>_-_<album>_<tracknumber>` diff --git a/wiki/flac_(codec).md b/wiki/flac_(codec).md new file mode 100644 index 0000000..5229bdf --- /dev/null +++ b/wiki/flac_(codec).md @@ -0,0 +1,27 @@ +# flac (Codec) + +This article describes the `flac` codec. +For the linux `flac` package see the +[flac package entry](./linux/flac_(package).md) + +`flac` - short for Free Lossless Audio Codec - is a [audio](./audio.md) codec +without compression losses. + +## Tagging + +The following explains the most general tags in short. + +- `title` is the name of the music piece. +- `artist` is the artist of the song - for classical music it is the composer. +- `album` is the name of the album. +- `tracknumber` is the number of the music piece in the album +- `date` is the year of publication +- `albumartist` is the artist that made the album +- `discnumber` is the disc number of the music piece in the album +- `genre` is the genre of the music piece +- `totaldiscs` is the amount of discs of the album +- `totaltracks` is the amount of tracks in the disc of the music piece +- `front` is an image of the front cover +- `performer` is used in classical music and defines the artist that + played the piece. In audiobooks it can be used to signal the reader of the + book. diff --git a/wiki/jellyfin.md b/wiki/jellyfin.md index 42c6268..6454e41 100644 --- a/wiki/jellyfin.md +++ b/wiki/jellyfin.md @@ -13,132 +13,3 @@ You can add IP-TV under `Live TV` in the administration panel. To include a m3u IP-TV stream just put the file on the server or copy its URL and add it under `Live TV`. After that make sure to setup `DVR` to your liking to record. - -## Naming schemes of movies and TV shows - -This section describes how to name and how to place movies and TV shows and -their extras in the directories correctly to get jellyfin to recognize them. - -In -[the jellyfin tv shows documentation](https://jellyfin.org/docs/general/server/media/shows.html) -and -[the jellyfin movie documentation](https://jellyfin.org/docs/general/server/media/movies.html) -are sections on how to name files correctly. -This entry uses the conventions based in the documentation and introduces -slight changes to indicate different versions and encodings more precisely. - -### Handling movies or episodes consisting of multiple video files - -Jellyfin does not have the capability to seamlessly transition between multiple -files of a movie or episode. -The easiest way to achieve a seamless movie experience is to concatenate the two -movie files. -This can be done with -[ffmpeg](./linux/ffmpeg.md#concatenate-multiple-video-files-with-matching-audio-tracks). - -### Naming Subtitles of movies or tv shows - -Subtitles can be written into video files. -If that is the case an additional naming of the file is not needed. -This section especially targets `.srt` files but the naming conventions -translate to other file types aswell. -Files containing subtitles are named the same as the video file they relate to -The only difference is the file extension. -After the name of the file the language of the subtitles is indicated by the -two-letter language code specified by -[ISO 639-1](https://iso639-3.sil.org/code_tables/639/data?title=&field_iso639_cd_st_mmbrshp_639_1_tid=255291). -For example `.en` is added to specify the english language. -After that `.forced` can be added, if the subtitles are forced. -Lastly the file extension `.srt` is appended. -The complete subtitle file look like this: -`movie_(1234)_-_brd_uu.en.forced.srt`. - -Additionally to indicate the encoding and source can be indicated before the -file extension. -`brd` for Blu-ray disc, `dvd` for digital versatile disc. -This is followed by an encoding indicator starting with `u` and followed by -your own scheme for encodings. - -### Naming extras - -The following list are set expressions for extras of movies and tv shows. -These will be used in the following sections on how to name -[movies](#naming-movies) and -[tv shows](#naming-tv-shows). -For the exact use of them look into these sections. - -- `behind_the_scenes` -- `deleted_scenes` -- `extras` (generic catch all for extras of an unknown type) -- `featurettes` -- `interviews` -- `samples` -- `scenes` -- `shorts` -- `trailers` - -### Naming movies - -In the following slight changes are made to ensure better naming schemes. -Different versions of the same movie can be stored in the same folder with -slightly different names to indicate the specific version. -Inside the movie folder you can create subfolders with names according to the -expressions for extras from the [extras section](#naming-extras). - -The `movies` folder is a folder containing all movies. -An example looks like the following: - -``` -movies -└── best_movie_ever_(2019) - ├── best_movie_ever_(2019)_-_brd_uu.mp4 - ├── best_movie_ever_(2019)_-_brd_uu.en.forced.srt - ├── best_movie_ever_(2019)_-_dvd_u1.mp4 - ├── best_movie_ever_(2019)_-_brd_u1.en.srt - ├── best_movie_ever_(2019)_-_brd_un_directors_cut.mp4 - ├── behind_the_scenes - │ ├── best_movie_ever_(2019)_-_brd_uu_making_of.mp4 - │ ├── best_movie_ever_(2019)_-_brd_uu_making_of.en.srt - │ └── best_movie_ever_(2019)_-_brd_uu_finding_the_right_score.mp4 - ├── interviews - │ └── best_movie_ever_(2019)_-_brd_u1_director_interview.mp4 - └── extras - └── best_movie_ever_(2019)_-_dvd_un_home_recreation.mp4 -``` - - -Another way to keep extras in the main folder of the movie is by adding the -following suffixes to the files accordingly: - -### Naming TV shows - -Inside the shows folder you can create the `season_00` folder as a directory -for extras. -Files containing multiple episodes at once are named by specifying the first -and last episode they include `s01e01-e02`. -Because of the heavily varying the titles of the episodes are not included. -Specify the extras inside the `season_0` folder with the expressions from -[the extras section](#naming-extras). - -The `shows` folder is a folder containing all tv shows. -An example looks like the following. - -``` -shows -└── series_(2010) - ├── season_0 - │ ├── series_-_behind_the_scenes_brd_uu.mkv - │ ├── series_-_name_interview_brd_uu.mkv - │ └── series_-_featurette_dvd_un.mkv - │ - ├── season_1 - │ ├── series_-_s01e01-e02_dvd_un.mkv - │ ├── series_-_s01e01-e02_dvd_un.de.srt - │ ├── series_-_s01e03_brd_un.mkv - │ ├── series_-_s01e03_brd_un.de.forced.srt - │ └── series_-_s01e04_brd_un.mkv - │ └── series_-_s01e04_brd_un.en.srt - └── season_2 - ├── series_-_s02e01_dvd_un.mkv - └── series_-_s02e02_dvd_un.mkv -``` diff --git a/wiki/linux/flac.md b/wiki/linux/flac.md deleted file mode 100644 index aeab652..0000000 --- a/wiki/linux/flac.md +++ /dev/null @@ -1,22 +0,0 @@ -# Flac - -`flac` - short for Free Lossless Audio Codec - is a audio codec without -compression losses. -On most distributions it is bundled together with the tagging software -`metaflac` and other auxiliary tools in the `flac` package. - -## Splitting Flac file according to cue file - -An easy way to split flac files according to a cue file is using -`cuebreakpoints` and `shnsplit`. -On most distributions they are in a package with the same name. -The following line of shell command splits a flac file according to a cue file. -The `-o` tag specifies the output file format. - -```sh -cuebreakpoints '<cue file>' | shnsplit -o flac '<audio flac file>' -``` - -## Tagging - -For tagging go to the [MusicBrainz Picard entry](../picard.md). diff --git a/wiki/linux/flac_(package).md b/wiki/linux/flac_(package).md new file mode 100644 index 0000000..02b9fba --- /dev/null +++ b/wiki/linux/flac_(package).md @@ -0,0 +1,21 @@ +# flac (Package) + +This article describes the `flac` package on linux. +For the audio codec see the [flac entry](../flac_(codec).md) + +`flac` is a package to work with the [flac codec](../flac_(codec).md). +On most distributions it is bundled together with the command line tagging +software `metaflac` and other auxiliary tools in the `flac` package. +Another possible tagging software is [MusicBrainz Picard](../picard.md) + +## Splitting Flac file according to cue file + +An easy way to split flac files according to a cue file is using +`cuebreakpoints` and `shnsplit`. +On most distributions they are in a package with the same name. +The following line of shell command splits a flac file according to a cue file. +The `-o` tag specifies the output file format. + +```sh +cuebreakpoints '<cue file>' | shnsplit -o flac '<audio flac file>' +``` diff --git a/wiki/picard.md b/wiki/picard.md index f5bb800..c2a73d5 100644 --- a/wiki/picard.md +++ b/wiki/picard.md @@ -1,15 +1,22 @@ # Picard [MusicBrainz Picard](https://picard.musicbrainz.org/) is a free cross-platform -tagging software for music. +tagging software for [music or other audio files](./audio.md). +It is able to tag a wide range of [audio codecs](./audio.md#audio-codecs) +[flac](./flac_(codec).md) among others. ## File naming -To enable the file renaming on saving check `Rename files when saving` in the preferences - +To enable the file renaming on saving check `Rename files when saving` in the +preferences. Under `Options` you can `Open file naming script editor` to change the script. +The tags described used are based on the audio codec. +In this section it is assumed the standard +[flac tags](./flac_(codec).md#tagging) are used as described in this wiki. + +### Music -The following is a basic script for renaming files to the scheme +The following is a basic script for renaming music files to the scheme `[<discnumber>.]<tracknumber>._<artist>_-_<title>` all in lower case. discnumber is only added, when the total disc count is greater than 1. @@ -25,6 +32,8 @@ $num(%tracknumber%,$if($gt($len(%totaltracks%),2),$len(%totaltracks%),2))._ %title%), ,_) ``` +### Audiobooks + Another Script is mainly used for audiobooks, where the title is not part of the filename to avoid confusion. The files are renamed with the scheme @@ -41,23 +50,3 @@ $num(%tracknumber%,$if($gt($len(%totaltracks%),2),$len(%totaltracks%),2))._ %album%), ,_)_ $num(%tracknumber%,$if($gt($len(%totaltracks%),2),$len(%totaltracks%),2)) ``` - -## Tagging - -The following explains the most general tags in short. -These are the recommended tags, that are in part used by the script for -renaming the files. - -- `title` is the name of the music piece. -- `artist` is the artist of the song - for classical music it is the composer. -- `album` is the name of the album. -- `tracknumber` is the number of the music piece in the album -- `date` is the year of publication -- `albumartist` is the artist that made the album -- `discnumber` is the disc number of the music piece in the album -- `genre` is the genre of the music piece -- `totaldiscs` is the amount of discs of the album -- `totaltracks` is the amount of tracks in the disc of the music piece -- `front` is an image of the front cover -- `performer` is only used in classical music and defines the artist that - played the piece. diff --git a/wiki/video.md b/wiki/video.md index 2ed5a20..8143dfd 100644 --- a/wiki/video.md +++ b/wiki/video.md @@ -39,3 +39,133 @@ This way you don't have to search for your discs all the time. for linux can extract subtitles from a `.mkv` file and do ocr. - [VidCoder](https://vidcoder.net) for windows can compress `.mkv` files. Its an adapted version of the HandBrake software. - [HandBrake]([https://vidcoder.net](https://handbrake.fr/)) for linux can compress `.mkv` files. + +## Naming schemes of movies and TV shows + +This section describes how to name and how to place movies and TV shows and +their extras in the directories correctly to get [jellyfin](./jellyfin.md) and +other software media systems to recognize them. + +In +[the jellyfin tv shows documentation](https://jellyfin.org/docs/general/server/media/shows.html) +and +[the jellyfin movie documentation](https://jellyfin.org/docs/general/server/media/movies.html) +are sections on how to name files correctly. +This entry uses the conventions based in the documentation and introduces +slight changes to indicate different versions and encodings more precisely. + +### Handling movies or episodes consisting of multiple video files + +Some software media systems do not have the capability to seamlessly transition +between multiple files of a movie or episode. +The easiest way to achieve a seamless movie experience is to concatenate the +two movie files. +This can be easily done with +[ffmpeg](./linux/ffmpeg.md#concatenate-multiple-video-files-with-matching-audio-tracks). + +### Naming Subtitles of movies or tv shows + +Subtitles can be written into video files. +If that is the case an additional naming of the file is not needed. +This section especially targets `.srt` files but the naming conventions +translate to other file types aswell. +Files containing subtitles are named the same as the video file they relate to +The only difference is the file extension. +After the name of the file the language of the subtitles is indicated by the +two-letter language code specified by +[ISO 639-1](https://iso639-3.sil.org/code_tables/639/data?title=&field_iso639_cd_st_mmbrshp_639_1_tid=255291). +For example `.en` is added to specify the english language. +After that `.forced` can be added, if the subtitles are forced. +Lastly the file extension `.srt` is appended. +The complete subtitle file look like this: +`movie_(1234)_-_brd_uu.en.forced.srt`. + +Additionally to indicate the encoding and source can be indicated before the +file extension. +`brd` for Blu-ray disc, `dvd` for digital versatile disc. +This is followed by an encoding indicator starting with `u` and followed by +your own scheme for encodings. + +### Naming extras + +The following list are set expressions for extras of movies and tv shows. +These will be used in the following sections on how to name +[movies](#naming-movies) and +[tv shows](#naming-tv-shows). +For the exact use of them look into these sections. + +- `behind_the_scenes` +- `deleted_scenes` +- `extras` (generic catch all for extras of an unknown type) +- `featurettes` +- `interviews` +- `samples` +- `scenes` +- `shorts` +- `trailers` + +### Naming movies + +In the following slight changes are made to ensure better naming schemes. +Different versions of the same movie can be stored in the same folder with +slightly different names to indicate the specific version. +Inside the movie folder you can create subfolders with names according to the +expressions for extras from the [extras section](#naming-extras). + +The `movies` folder is a folder containing all movies. +An example looks like the following: + +``` +movies +└── best_movie_ever_(2019) + ├── best_movie_ever_(2019)_-_brd_uu.mp4 + ├── best_movie_ever_(2019)_-_brd_uu.en.forced.srt + ├── best_movie_ever_(2019)_-_dvd_u1.mp4 + ├── best_movie_ever_(2019)_-_brd_u1.en.srt + ├── best_movie_ever_(2019)_-_brd_un_directors_cut.mp4 + ├── behind_the_scenes + │ ├── best_movie_ever_(2019)_-_brd_uu_making_of.mp4 + │ ├── best_movie_ever_(2019)_-_brd_uu_making_of.en.srt + │ └── best_movie_ever_(2019)_-_brd_uu_finding_the_right_score.mp4 + ├── interviews + │ └── best_movie_ever_(2019)_-_brd_u1_director_interview.mp4 + └── extras + └── best_movie_ever_(2019)_-_dvd_un_home_recreation.mp4 +``` + + +Another way to keep extras in the main folder of the movie is by adding the +following suffixes to the files accordingly: + +### Naming TV shows + +Inside the shows folder you can create the `season_00` folder as a directory +for extras. +Files containing multiple episodes at once are named by specifying the first +and last episode they include `s01e01-e02`. +Because of the heavily varying the titles of the episodes are not included. +Specify the extras inside the `season_0` folder with the expressions from +[the extras section](#naming-extras). + +The `shows` folder is a folder containing all tv shows. +An example looks like the following. + +``` +shows +└── series_(2010) + ├── season_0 + │ ├── series_-_behind_the_scenes_brd_uu.mkv + │ ├── series_-_name_interview_brd_uu.mkv + │ └── series_-_featurette_dvd_un.mkv + │ + ├── season_1 + │ ├── series_-_s01e01-e02_dvd_un.mkv + │ ├── series_-_s01e01-e02_dvd_un.de.srt + │ ├── series_-_s01e03_brd_un.mkv + │ ├── series_-_s01e03_brd_un.de.forced.srt + │ └── series_-_s01e04_brd_un.mkv + │ └── series_-_s01e04_brd_un.en.srt + └── season_2 + ├── series_-_s02e01_dvd_un.mkv + └── series_-_s02e02_dvd_un.mkv +```