Fix docs build issues

This commit is contained in:
Bill Thornton 2022-08-18 12:35:55 -04:00
parent f729bb230b
commit 62bd68f7b1
11 changed files with 437 additions and 274 deletions

View File

@ -7,28 +7,28 @@ title: Installing on Synology
For [Synology](https://www.synology.com/en-us/dsm), Jellyfin is installed using Docker.
![Installing Synology](~/images/install-synology-1.png)
![Installing Synology](/images/docs/install-synology-1.png)
![Installing Synology](~/images/install-synology-2.png)
![Installing Synology](/images/docs/install-synology-2.png)
![Installing Synology](~/images/install-synology-3.png)
![Installing Synology](/images/docs/install-synology-3.png)
Create the container.
![Installing Synology](~/images/install-synology-4.png)
![Installing Synology](/images/docs/install-synology-4.png)
![Installing Synology](~/images/install-synology-5.png)
![Installing Synology](/images/docs/install-synology-5.png)
Use Advanced Settings to add mount points to your media and config.
![Installing Synology](~/images/install-synology-6.png)
![Installing Synology](/images/docs/install-synology-6.png)
![Installing Synology](~/images/install-synology-7.png)
![Installing Synology](/images/docs/install-synology-7.png)
Host Mode is required for HdHR and DLNA. Use bridge mode if running multiple instances.
![Installing Synology](~/images/install-synology-8.png)
![Installing Synology](/images/docs/install-synology-8.png)
![Installing Synology](~/images/install-synology-9.png)
![Installing Synology](/images/docs/install-synology-9.png)
Browse to `http://SERVER_IP:8096` to access the web client.

View File

@ -11,11 +11,11 @@ The Jellyfin project and its contributors offer a number of pre-built binary pac
## Container images
Official container image: `jellyfin/jellyfin` <a href="https://hub.docker.com/r/jellyfin/jellyfin"><img alt="Docker Pull Count" src="https://img.shields.io/docker/pulls/jellyfin/jellyfin.svg"></a>.
Official container image: `jellyfin/jellyfin` <a href="https://hub.docker.com/r/jellyfin/jellyfin"><img alt="Docker Pull Count" src="https://img.shields.io/docker/pulls/jellyfin/jellyfin.svg" /></a>.
LinuxServer.io image: `linuxserver/jellyfin` <a href="https://hub.docker.com/r/linuxserver/jellyfin"><img alt="Docker Pull Count" src="https://img.shields.io/docker/pulls/linuxserver/jellyfin.svg"></a>.
LinuxServer.io image: `linuxserver/jellyfin` <a href="https://hub.docker.com/r/linuxserver/jellyfin"><img alt="Docker Pull Count" src="https://img.shields.io/docker/pulls/linuxserver/jellyfin.svg" /></a>.
hotio image: `hotio/jellyfin` <a href="https://hub.docker.com/r/hotio/jellyfin"><img alt="Docker Pull Count" src="https://img.shields.io/docker/pulls/hotio/jellyfin.svg"></a>.
hotio image: `hotio/jellyfin` <a href="https://hub.docker.com/r/hotio/jellyfin"><img alt="Docker Pull Count" src="https://img.shields.io/docker/pulls/hotio/jellyfin.svg" /></a>.
Jellyfin distributes [official container images on Docker Hub](https://hub.docker.com/r/jellyfin/jellyfin/) for multiple architectures.
These images are based on Debian and [built directly from the Jellyfin source code](https://github.com/jellyfin/jellyfin/blob/master/Dockerfile).

View File

@ -13,16 +13,16 @@ The goal is to Direct Play all media. This means the container, video, audio and
[Test your browser's compatibility for any codec profile.](https://cconcolato.github.io/media-mime-support/)
| Sorted by efficency (excluding bit depth) | Chrome | Edge | Firefox | Safari | Android | Android TV | iOS | SwiftFin (iOS) | [Roku](https://developer.roku.com/docs/specs/media/streaming-specifications.md) | Kodi | [Desktop](https://docs.jellyfin.org/general/clients/index.html#jellyfin-desktop) |
|-|-|-|-|-|-|-|-|-|-|-|-|
| [MPEG-4 Part 2/SP](https://en.wikipedia.org/wiki/DivX) | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
| [MPEG-4 Part 2/ASP](https://en.wikipedia.org/wiki/MPEG-4_Part_2#Advanced_Simple_Profile_(ASP)) | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | | ✅ | ✅ |
| [H.264 8Bit](https://caniuse.com/#feat=mpeg4 "H264 Browser Support Reference") | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| [H.264 10Bit](https://caniuse.com/#feat=mpeg4 "H264 Browser Support Reference") | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ | ✅ |
| [H.265 8Bit](https://caniuse.com/#feat=hevc "HEVC Browser Support Reference") | ❌ | ✅<sup>7</sup> | ❌ | 🔶<sup>1</sup> | 🔶<sup>2</sup> | ✅<sup>5</sup> | 🔶<sup>1</sup> | ✅<sup>6</sup> | ✅ | ✅ | ✅ |
| [H.265 10Bit](https://caniuse.com/#feat=hevc "HEVC Browser Support Reference") | ❌ | ✅<sup>7</sup> | ❌ | 🔶<sup>1</sup> | 🔶<sup>2</sup> | 🔶<sup>5</sup> | 🔶<sup>1</sup> | ✅<sup>6</sup> | ✅ | ✅ | ✅ |
| [VP9](https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Video_codecs#VP9 "V9 Browser Support Reference") | ✅ | ✅ | ✅ | ❌ | ✅<sup>3</sup> | 🔶<sup>3</sup> | ❌ | ❌ | ✅ | ✅ | ✅ |
| [AV1](https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Video_codecs#AV1 "AV1 Browser Support Reference") | ✅ | ✅ | ✅ | ❌ | ✅ | 🔶<sup>4</sup> | ❌ | ❌ | ✅ | ✅ | ✅ |
| Sorted by efficency (excluding bit depth) | Chrome | Edge | Firefox | Safari | Android | Android TV | iOS | SwiftFin (iOS) | [Roku](https://developer.roku.com/docs/specs/media/streaming-specifications.md) | Kodi | [Desktop](https://docs.jellyfin.org/general/clients/index.html#jellyfin-desktop) |
| ------------------------------------------------------------------------------------------------------------------ | ------ | -------------- | ------- | -------------- | -------------- | -------------- | -------------- | -------------- | ------------------------------------------------------------------------------- | ---- | -------------------------------------------------------------------------------- |
| [MPEG-4 Part 2/SP](https://en.wikipedia.org/wiki/DivX) | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
| [MPEG-4 Part 2/ASP](<https://en.wikipedia.org/wiki/MPEG-4_Part_2#Advanced_Simple_Profile_(ASP)>) | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | | ✅ | ✅ |
| [H.264 8Bit](https://caniuse.com/#feat=mpeg4 'H264 Browser Support Reference') | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| [H.264 10Bit](https://caniuse.com/#feat=mpeg4 'H264 Browser Support Reference') | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ | ✅ |
| [H.265 8Bit](https://caniuse.com/#feat=hevc 'HEVC Browser Support Reference') | ❌ | ✅<sup>7</sup> | ❌ | 🔶<sup>1</sup> | 🔶<sup>2</sup> | ✅<sup>5</sup> | 🔶<sup>1</sup> | ✅<sup>6</sup> | ✅ | ✅ | ✅ |
| [H.265 10Bit](https://caniuse.com/#feat=hevc 'HEVC Browser Support Reference') | ❌ | ✅<sup>7</sup> | ❌ | 🔶<sup>1</sup> | 🔶<sup>2</sup> | 🔶<sup>5</sup> | 🔶<sup>1</sup> | ✅<sup>6</sup> | ✅ | ✅ | ✅ |
| [VP9](https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Video_codecs#VP9 'V9 Browser Support Reference') | ✅ | ✅ | ✅ | ❌ | ✅<sup>3</sup> | 🔶<sup>3</sup> | ❌ | ❌ | ✅ | ✅ | ✅ |
| [AV1](https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Video_codecs#AV1 'AV1 Browser Support Reference') | ✅ | ✅ | ✅ | ❌ | ✅ | 🔶<sup>4</sup> | ❌ | ❌ | ✅ | ✅ | ✅ |
<sup>1</sup>HEVC is only supported in MP4, M4V, and MOV containers.
@ -40,11 +40,11 @@ The goal is to Direct Play all media. This means the container, video, audio and
[Format Cheatsheet:](https://en.wikipedia.org/wiki/MPEG-4#MPEG-4_Parts)
|[MPEG-2<br>Part 2](https://en.wikipedia.org/wiki/H.262/MPEG-2_Part_2)|[MPEG-4<br>Part-2](https://en.wikipedia.org/wiki/MPEG-4_Part_2)<sup>1</sup>|[MPEG-4<br>Part-10](https://en.wikipedia.org/wiki/Advanced_Video_Coding)|[MPEG-4<br>Part-14](https://en.wikipedia.org/wiki/MPEG-4_Part_14)|[MPEG-H<br>Part 2](https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding)|
|:---:|:---:|:---:|:---:|:---:|
|H.262|MPEG-4 SP/ASP|H.264|MP4 Container<sup>2</sup>|H.265|
|MPEG-2 Video|DivX|MPEG-4 AVC||HEVC|
|DVD-Video|DX50||||
| [MPEG-2<br />Part 2](https://en.wikipedia.org/wiki/H.262/MPEG-2_Part_2) | [MPEG-4<br />Part-2](https://en.wikipedia.org/wiki/MPEG-4_Part_2)<sup>1</sup> | [MPEG-4<br />Part-10](https://en.wikipedia.org/wiki/Advanced_Video_Coding) | [MPEG-4<br />Part-14](https://en.wikipedia.org/wiki/MPEG-4_Part_14) | [MPEG-H<br />Part 2](https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding) |
| :---------------------------------------------------------------------: | :---------------------------------------------------------------------------: | :------------------------------------------------------------------------: | :-----------------------------------------------------------------: | :------------------------------------------------------------------------------: |
| H.262 | MPEG-4 SP/ASP | H.264 | MP4 Container<sup>2</sup> | H.265 |
| MPEG-2 Video | DivX | MPEG-4 AVC | | HEVC |
| DVD-Video | DX50 | | | |
<sup>1</sup>[MPEG-4 Part-2 vs Part-10](https://www.afterdawn.com/glossary/term.cfm/mpeg_4_part_10)
@ -54,23 +54,23 @@ The goal is to Direct Play all media. This means the container, video, audio and
If the audio codec is unsupported or incompatible (such as playing a 5.1 channel stream on a stereo device), the audio codec must be transcoded. This is not nearly as intensive as video transcoding.
||Chrome|Edge|Firefox|Safari|Android|Android TV|iOS|SwiftFin (iOS) |Roku|Kodi|Desktop|
|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
|FLAC|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|
|MP3|🔶<sup>1</sup>|✅|🔶|✅|✅|✅|✅|✅|✅|✅|✅|
|AAC|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|
|[AC3](https://www.loc.gov/preservation/digital/formats/fdd/fdd000209.shtml)|✅|✅|❌|✅|✅|✅|✅|✅||✅|✅|
|[EAC3](https://en.wikipedia.org/wiki/Dolby_Digital_Plus)<sup>2</sup>|✅|✅|✅|✅|✅|✅|✅|✅||✅|✅|
|VORBIS<sup>3</sup>|✅|✅|✅|❌|✅|❌|❌|✅|✅|✅|✅|
|DTS<sup>4</sup>|❌|❌|❌|❌|✅|✅|❌|✅|✅<sup>6</sup>|✅|✅|
|OPUS|✅|✅|✅|🔶<sup>5</sup>|✅|✅|🔶<sup>5</sup>|✅|✅|✅|✅|
| | Chrome | Edge | Firefox | Safari | Android | Android TV | iOS | SwiftFin (iOS) | Roku | Kodi | Desktop |
| :-------------------------------------------------------------------------: | :------------: | :--: | :-----: | :------------: | :-----: | :--------: | :------------: | :------------: | :------------: | :--: | :-----: |
| FLAC | | | | | | | | | | | |
| MP3 | 🔶<sup>1</sup> | | 🔶 | | | | | | | | |
| AAC | | | | | | | | | | | |
| [AC3](https://www.loc.gov/preservation/digital/formats/fdd/fdd000209.shtml) | | | | | | | | | | | |
| [EAC3](https://en.wikipedia.org/wiki/Dolby_Digital_Plus)<sup>2</sup> | | | | | | | | | | | |
| VORBIS<sup>3</sup> | | | | | | | | | | | |
| DTS<sup>4</sup> | | | | | | | | | <sup>6</sup> | | |
| OPUS | | | | 🔶<sup>5</sup> | | | 🔶<sup>5</sup> | | | | |
[Format Cheatsheet:](https://en.wikipedia.org/wiki/Moving_Picture_Experts_Group#External_links)
|[MPEG-1](https://en.wikipedia.org/wiki/MPEG-1)|[MPEG-2](https://en.wikipedia.org/wiki/MPEG-2)|
|:---:|:---:|
|[MP2 (layer 2)](https://en.wikipedia.org/wiki/MPEG-1_Audio_Layer_II)|[AAC (Part 7)](https://en.wikipedia.org/wiki/Advanced_Audio_Coding)|
|[MP3 (layer 3)](https://en.wikipedia.org/wiki/MP3)||
| [MPEG-1](https://en.wikipedia.org/wiki/MPEG-1) | [MPEG-2](https://en.wikipedia.org/wiki/MPEG-2) |
| :------------------------------------------------------------------: | :-----------------------------------------------------------------: |
| [MP2 (layer 2)](https://en.wikipedia.org/wiki/MPEG-1_Audio_Layer_II) | [AAC (Part 7)](https://en.wikipedia.org/wiki/Advanced_Audio_Coding) |
| [MP3 (layer 3)](https://en.wikipedia.org/wiki/MP3) | |
<sup>1</sup>MP3 Mono is incorrectly reported as unsupported and will transcode to AAC.
@ -92,15 +92,15 @@ Subtiles can be a subtle issue for transcoding. Containers have a limited number
Here is a [breakdown](https://www.afterdawn.com/guides/archive/subtitle_formats_explained.cfm) of common subtitle formats.
||Format|TS|MP4|MKV|AVI|
|:---:|:---:|:---:|:---:|:---:|:---:|
|[SubRip Text (SRT)](https://en.wikipedia.org/wiki/SubRip)|Text|❌|🔶|✅|🔶|
|[WebVTT (VTT)](https://en.wikipedia.org/wiki/WebVTT)<sup>1</sup>|Text|❌|❌|✅|🔶|
|ASS/SSA|Formatted Text|❌|❌|✅|🔶|
|VobSub<sup>2</sup>|Picture|✅|✅|✅|🔶|
|MP4TT/TXTT|XML|❌|✅|❌|❌|
|PGSSUB|Picture|❌|❌|✅|❌|
|EIA-608/708<sup>3</sup>|Embedded|✅|✅|✅|❌|
| | Format | TS | MP4 | MKV | AVI |
| :--------------------------------------------------------------: | :------------: | :-: | :-: | :-: | :-: |
| [SubRip Text (SRT)](https://en.wikipedia.org/wiki/SubRip) | Text | | 🔶 | | 🔶 |
| [WebVTT (VTT)](https://en.wikipedia.org/wiki/WebVTT)<sup>1</sup> | Text | | | | 🔶 |
| ASS/SSA | Formatted Text | | | | 🔶 |
| VobSub<sup>2</sup> | Picture | | | | 🔶 |
| MP4TT/TXTT | XML | | | | |
| PGSSUB | Picture | | | | |
| EIA-608/708<sup>3</sup> | Embedded | | | | |
<sup>1</sup>VTT are supported in an [HLS Stream](https://helpx.adobe.com/adobe-media-server/dev/webvtt-subtitles-captions.html).
@ -150,13 +150,13 @@ ffmpeg -f lavfi -i "movie=Ronin (1998).ts[out+subcc]" -map 0:1 "Ronin (1998).sr
If the container is unsupported, this will result in remuxing. The video and audio codec will remain intact, but wrapped in a supported container. This is the least intensive process. Most video containers will be remuxed to use the HLS streaming protocol and TS containers. Remuxing shouldn't be a concern even for an RPi3.
||Chrome|Edge|Firefox|Safari|Android|Android TV|Kodi|Roku|
|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
|[MP4](https://en.wikipedia.org/wiki/MPEG-4_Part_14)<sup>1</sup>|✅|✅|✅|✅|✅|✅|✅|✅|
|[MKV](https://en.wikipedia.org/wiki/Matroska)<sup>2, 3</sup>|❌|✅|❌|❌|✅|✅|✅|✅|
|[WebM](https://en.wikipedia.org/wiki/WebM)<sup>3, 5</sup>|✅|✅|✅|❌|✅|✅|✅|✅|
|[TS](https://en.wikipedia.org/wiki/MPEG_transport_stream)<sup>4</sup>|✅|✅|✅|✅|✅|✅|✅|✅|
|[OGG](https://en.wikipedia.org/wiki/Ogg)<sup>5</sup>|✅|✅|✅|❌|✅|✅|✅|✅|
| | Chrome | Edge | Firefox | Safari | Android | Android TV | Kodi | Roku |
| :-------------------------------------------------------------------: | :----: | :--: | :-----: | :----: | :-----: | :--------: | :--: | :--: |
| [MP4](https://en.wikipedia.org/wiki/MPEG-4_Part_14)<sup>1</sup> | | | | | | | | |
| [MKV](https://en.wikipedia.org/wiki/Matroska)<sup>2, 3</sup> | | | | | | | | |
| [WebM](https://en.wikipedia.org/wiki/WebM)<sup>3, 5</sup> | | | | | | | | |
| [TS](https://en.wikipedia.org/wiki/MPEG_transport_stream)<sup>4</sup> | | | | | | | | |
| [OGG](https://en.wikipedia.org/wiki/Ogg)<sup>5</sup> | | | | | | | | |
<sup>1</sup>MP4 containers are one of the few containers that will not remux.

View File

@ -11,7 +11,7 @@ In `Dashboard > General`, the "Custom CSS" field can be used to override current
If you have little or no experience with CSS, various resources and tutorials can be found online. Using the tweaks and examples below makes it quite easy to get started with making your own changes to your Jellyfin instance.
![Screenshot of the 'Custom CSS' setting in the administrator dashboard of the web client](~/images/custom-css-customcssfield.png)
![Screenshot of the 'Custom CSS' setting in the administrator dashboard of the web client](/images/docs/custom-css-customcssfield.png)
## General Information About CSS
@ -23,18 +23,18 @@ CSS supports multiple color formats, but typically the hex color codes are used
Some examples of hex color codes:
* Green: `#5dd000`
* Blue: `#0000d0`
* Red: `#d00000`
* Transparent Black: `#00000058`
- Green: `#5dd000`
- Blue: `#0000d0`
- Red: `#d00000`
- Transparent Black: `#00000058`
Go [here](https://htmlcolorcodes.com/color-picker) for a hex color chart to get a code for any given color.
If you are looking for a more standard and less specific color, typing the literal name of colors suits that purpose well. For example, to get the color "yellow" you can simply write "yellow", this will use a preset yellow color.
`yellow` Yellow <br>
`red` Red <br>
`aquamarine` Aquamarine <br>
`yellow` Yellow <br />
`red` Red <br />
`aquamarine` Aquamarine <br />
`lightseagreen` Light Sea Green
Go [here](https://www.w3schools.com/colors/colors_names.asp) for a list of color names supported.
@ -54,7 +54,11 @@ CSS can be "chained" together to modify different sections together at the same
"Border Color" tweak:
```css
.emby-input, .emby-textarea, .emby-select { border-color: #d00000; }
.emby-input,
.emby-textarea,
.emby-select {
border-color: #d00000;
}
```
## Tweak List
@ -67,24 +71,28 @@ This will affect the played/watched indicator. Replace the hex color with any va
### Indicators Without Tweak
![Screenshot of the default watched indicators](~/images/custom-css-normalwatched.png)
![Screenshot of the default watched indicators](/images/docs/custom-css-normalwatched.png)
### Green Indicators
```css
.playedIndicator { background: #5dd000; }
.playedIndicator {
background: #5dd000;
}
```
![Screenshot of watched indicators with a custom green color applied](~/images/custom-css-greenwatched.png)
![Screenshot of watched indicators with a custom green color applied](/images/docs/custom-css-greenwatched.png)
### Transparent And Dark Indicators
```css
/* Make watched icon dark and transparent */
.playedIndicator {background: #00000058;}
.playedIndicator {
background: #00000058;
}
```
![Screenshot of watched indicators with a custom transparent color applied](~/images/custom-css-transparentwatched.png)
![Screenshot of watched indicators with a custom transparent color applied](/images/docs/custom-css-transparentwatched.png)
### Display external links in mobile layout
@ -93,93 +101,157 @@ To enable the external links again, add the following snippet:
```css
.layout-mobile .itemExternalLinks {
display: block !important;
display: block !important;
}
```
### Hide Home Icon from Header
```css
.headerHomeButton { display: none; }
.headerHomeButton {
display: none;
}
.headerButton.headerButtonRight.headerUserButton.paper-icon-button-light { display: none; }
.headerButton.headerButtonRight.headerUserButton.paper-icon-button-light {
display: none;
}
```
### Hide Cast Icon from Header
```css
.headerCastButton { display: none; }
.headerCastButton {
display: none;
}
```
### Hide Sync Icon from Header
```css
.headerSyncButton { display: none; }
.headerSyncButton {
display: none;
}
```
### Hide User Settings from Header
```css
.material-icons.person { display: none; }
.material-icons.person {
display: none;
}
```
### Hide Live TV Channel Listings
```css
.guideChannelNumber { display: none; }
.guideChannelNumber {
display: none;
}
```
### Reduce Live TV Channel Width
```css
.channelsContainer { max-width: 8em; }
.channelsContainer {
max-width: 8em;
}
```
### Hide Cast & Crew
```css
#castCollapsible { display: none; }
#castCollapsible {
display: none;
}
```
### Hide More Like This
```css
#similarCollapsible { display: none; }
#similarCollapsible {
display: none;
}
```
### Hide Next Up
```css
div.nextUpSection { display: none; }
div.nextUpSection {
display: none;
}
```
### Hide Star Ratings
```css
div.starRatingContainer { display: none; }
div.starRatingContainer {
display: none;
}
```
### Replace "Latest Movies" text with Custom Text such as "Recently Added Movies"
```css
#homeTab > div > div.section2 > div:nth-child(1) > div.sectionTitleContainer.sectionTitleContainer-cards.padded-left > a > h2 {display: none;}
#homeTab > div > div.section2 > div:nth-child(1) > div.sectionTitleContainer.sectionTitleContainer-cards.padded-left > a > span {display: none;}
#homeTab > div > div.section2 > div:nth-child(1) > div.sectionTitleContainer.sectionTitleContainer-cards.padded-left > a:after {
content: 'Recently Added Movies ';
font-size: 24px;
font-weight: normal;
#homeTab
> div
> div.section2
> div:nth-child(1)
> div.sectionTitleContainer.sectionTitleContainer-cards.padded-left
> a
> h2 {
display: none;
}
#homeTab
> div
> div.section2
> div:nth-child(1)
> div.sectionTitleContainer.sectionTitleContainer-cards.padded-left
> a
> span {
display: none;
}
#homeTab
> div
> div.section2
> div:nth-child(1)
> div.sectionTitleContainer.sectionTitleContainer-cards.padded-left
> a:after {
content: 'Recently Added Movies ';
font-size: 24px;
font-weight: normal;
}
```
### Replace Latest TV Shows text with Custom Text such as "Recently Added TV Shows"
```css
#homeTab > div > div.section2 > div:nth-child(2) > div.sectionTitleContainer.sectionTitleContainer-cards.padded-left > a > h2 {display: none;}
#homeTab > div > div.section2 > div:nth-child(2) > div.sectionTitleContainer.sectionTitleContainer-cards.padded-left > a > span {display: none;}
#homeTab > div > div.section2 > div:nth-child(2) > div.sectionTitleContainer.sectionTitleContainer-cards.padded-left > a:after {
content: 'Recently Added TV Shows ';
font-size: 24px;
font-weight: normal;
#homeTab
> div
> div.section2
> div:nth-child(2)
> div.sectionTitleContainer.sectionTitleContainer-cards.padded-left
> a
> h2 {
display: none;
}
#homeTab
> div
> div.section2
> div:nth-child(2)
> div.sectionTitleContainer.sectionTitleContainer-cards.padded-left
> a
> span {
display: none;
}
#homeTab
> div
> div.section2
> div:nth-child(2)
> div.sectionTitleContainer.sectionTitleContainer-cards.padded-left
> a:after {
content: 'Recently Added TV Shows ';
font-size: 24px;
font-weight: normal;
}
```
@ -187,7 +259,7 @@ font-weight: normal;
```css
#loginPage {
background: url("https://i.ytimg.com/vi/avCWDDox1nE/maxresdefault.jpg");
background: url('https://i.ytimg.com/vi/avCWDDox1nE/maxresdefault.jpg');
background-size: cover;
}
```
@ -195,11 +267,13 @@ font-weight: normal;
### Background Image on Homepage
```css
.backdropImage { display: none; }
.backdropImage {
display: none;
}
.backgroundContainer {
background-color: rgba(0, 0, 0, 0);
background-image: url("https://i.ytimg.com/vi/avCWDDox1nE/maxresdefault.jpg");
background-image: url('https://i.ytimg.com/vi/avCWDDox1nE/maxresdefault.jpg');
filter: blur(10px);
background-size: cover;
}
@ -210,8 +284,14 @@ font-weight: normal;
### Transparent Top Menu
```css
.skinHeader.focuscontainer-x.skinHeader-withBackground.skinHeader-blurred {background:none; background-color:rgba(0, 0, 0, 0);}
.skinHeader.focuscontainer-x.skinHeader-withBackground.skinHeader-blurred.noHomeButtonHeader {background:none; background-color:rgba(0, 0, 0, 0);}
.skinHeader.focuscontainer-x.skinHeader-withBackground.skinHeader-blurred {
background: none;
background-color: rgba(0, 0, 0, 0);
}
.skinHeader.focuscontainer-x.skinHeader-withBackground.skinHeader-blurred.noHomeButtonHeader {
background: none;
background-color: rgba(0, 0, 0, 0);
}
```
### Image Edge Rounded
@ -229,14 +309,22 @@ Enlarges the tab buttons, suggested, genres, etc. By default they are really tin
```css
/* Adjust both "size-adjust" and "size" to modify size */
.headerTabs.sectionTabs {text-size-adjust: 110%; font-size: 110%;}
.pageTitle {margin-top: auto; margin-bottom: auto;}
.emby-tab-button {padding: 1.75em 1.7em;}
.headerTabs.sectionTabs {
text-size-adjust: 110%;
font-size: 110%;
}
.pageTitle {
margin-top: auto;
margin-bottom: auto;
}
.emby-tab-button {
padding: 1.75em 1.7em;
}
```
**The enlarged tab buttons and transparent menu look like this:**
![Screenshot of enlarged tab buttons and transparent menu](~/images/custom-css-transparenttopbarenlargedtabs.png)
![Screenshot of enlarged tab buttons and transparent menu](/images/docs/custom-css-transparenttopbarenlargedtabs.png)
### Minimalistic Login Page
@ -244,31 +332,49 @@ This looks even better together with the transparent top menu!
```css
/* Narrow the login form */
#loginPage .readOnlyContent, #loginPage form {max-width: 22em;}
#loginPage .readOnlyContent,
#loginPage form {
max-width: 22em;
}
/* Hide "please login" text, margin is to prevent login form moving too far up */
#loginPage h1 {display: none}
#loginPage .padded-left.padded-right.padded-bottom-page {margin-top: 50px}
#loginPage h1 {
display: none;
}
#loginPage .padded-left.padded-right.padded-bottom-page {
margin-top: 50px;
}
/* Hide "manual" and "forgot" buttons */
#loginPage .raised.cancel.block.btnManual.emby-button {display: none}
#loginPage .raised.cancel.block.btnForgotPassword.emby-button {display: none}
#loginPage .raised.cancel.block.btnManual.emby-button {
display: none;
}
#loginPage .raised.cancel.block.btnForgotPassword.emby-button {
display: none;
}
```
![Screenshot of the minimalistic login page](~/images/custom-css-minimallogin.png)
![Screenshot of the minimalistic login page](/images/docs/custom-css-minimallogin.png)
### Stylized Episode Previews
The episode previews in season view are sized based on horizontal resolution. This leads to a lot of wasted space on the episode summary and a high vertical page, which requires a lot of scrolling. This code reduces the height of episode entries, which solves both problems.
The episode previews in season view are sized based on horizontal resolution. This leads to a lot of wasted space on the episode summary and a high vertical page, which requires a lot of scrolling. This code reduces the height of episode entries, which solves both problems.
```css
/* Size episode preview images in a more compact way */
.listItemImage.listItemImage-large.itemAction.lazy {height: 110px;}
.listItem-content {height: 115px;}
.secondary.listItem-overview.listItemBodyText {height: 61px; margin: 0;}
.listItemImage.listItemImage-large.itemAction.lazy {
height: 110px;
}
.listItem-content {
height: 115px;
}
.secondary.listItem-overview.listItemBodyText {
height: 61px;
margin: 0;
}
```
![Screenshot of a TV show page with stylized episode previews](~/images/custom-css-episodepreview.png)
![Screenshot of a TV show page with stylized episode previews](/images/docs/custom-css-episodepreview.png)
### Stylized and Smaller Cast & Crew Info
@ -294,32 +400,53 @@ This will drastically change the style of cast info into something very similar
#castContent .cardOverlayButton.cardOverlayButton-hover.itemAction.paper-icon-button-light {margin:auto;}
```
![Screenshot of stylized and smaller Cast & Crew info](~/images/custom-css-stylizedcast.png)
![Screenshot of stylized and smaller Cast & Crew info](/images/docs/custom-css-stylizedcast.png)
### Pictureless Cast & Crew
```css
#castContent .card.overflowPortraitCard { width: 4.2cm; font-size: 90%; }
#castContent .card.overflowPortraitCard {
width: 4.2cm;
font-size: 90%;
}
#castContent .personCard { width: auto; }
#castContent .personCard {
width: auto;
}
#castContent .personCard .cardBox { margin-bottom: 0px; margin-right: 0px; }
#castContent .personCard .cardBox {
margin-bottom: 0px;
margin-right: 0px;
}
#castContent { flex-wrap: wrap; max-height: 9.75em; }
#castContent {
flex-wrap: wrap;
max-height: 9.75em;
}
div.personCard > :first-child > :first-child { display: none; }
div.personCard > :first-child > :first-child {
display: none;
}
.itemDetailPage .cardText { text-align: left; }
.itemDetailPage .cardText {
text-align: left;
}
.itemDetailPage .textActionButton { text-align: left; }
.itemDetailPage .textActionButton {
text-align: left;
}
```
![Screenshot of Pictureless Cast & Crew info](~/images/custom-css-nopicturecast.png)
![Screenshot of Pictureless Cast & Crew info](/images/docs/custom-css-nopicturecast.png)
### Custom Background Color
```css
.backgroundContainer, .dialog, html { background-color: #0fd0d0; }
.backgroundContainer,
.dialog,
html {
background-color: #0fd0d0;
}
```
### Darken the Background
@ -328,7 +455,10 @@ This darkens the background on Blue Radiance and Purple Haze, edit the percentag
```css
/* Darken background, only works with blue radiance */
.backgroundContainer {background-color: #000000; filter: brightness(50%);}
.backgroundContainer {
background-color: #000000;
filter: brightness(50%);
}
```
### Right Header Color
@ -336,52 +466,75 @@ This darkens the background on Blue Radiance and Purple Haze, edit the percentag
This modifies the colors of the cast, search and user buttons in the top right.
```css
.headerRight { color: yellow; }
.headerRight {
color: yellow;
}
```
![Screenshot of a custom yellow color for the icon buttons in the top right of the screen](~/images/custom-css-rightheader.png)
![Screenshot of a custom yellow color for the icon buttons in the top right of the screen](/images/docs/custom-css-rightheader.png)
### Console Panel Custom Color
Modifies the color of the left menu panel.
```css
.mainDrawer-scrollContainer { color: yellow; }
.mainDrawer-scrollContainer {
color: yellow;
}
```
![Screenshot of a custom yellow color on the left menu panel](~/images/custom-css-consolepanel.png)
![Screenshot of a custom yellow color on the left menu panel](/images/docs/custom-css-consolepanel.png)
### General Page Custom Color
```css
.dashboardGeneralForm { color: yellow; }
.dashboardGeneralForm {
color: yellow;
}
```
![Screenshot of a custom yellow color on the General Page](~/images/custom-css-generalcolor.png)
![Screenshot of a custom yellow color on the General Page](/images/docs/custom-css-generalcolor.png)
### Custom Border Color
This will change the border color for text fields and drop-down menus.
```css
.emby-input, .emby-textarea, .emby-select { border-color: #d00000; }
.emby-input,
.emby-textarea,
.emby-select {
border-color: #d00000;
}
```
This will affect the border color of highlighted (selected) text fields and drop-down menus.
```css
.emby-input:focus, .emby-textarea:focus, .emby-select-withcolor { border-color: #ffffff !important; }
.emby-input:focus,
.emby-textarea:focus,
.emby-select-withcolor {
border-color: #ffffff !important;
}
```
![Screenshot of a custom red border color](~/images/custom-css-bordercolor.png)
![Screenshot of a custom red border color](/images/docs/custom-css-bordercolor.png)
### Full Header Tweak
```css
.skinHeader, .mainDrawer, .emby-input, .emby-textarea, .emby-select, .navMenuOption-selected, .cardBox, .paperList { background: #ff9475; }
.skinHeader,
.mainDrawer,
.emby-input,
.emby-textarea,
.emby-select,
.navMenuOption-selected,
.cardBox,
.paperList {
background: #ff9475;
}
```
![Screenshot of the full header tweak](~/images/custom-css-full-header-mod.png)
![Screenshot of the full header tweak](/images/docs/custom-css-full-header-mod.png)
### Disable Image Carousel for Libraries
@ -405,18 +558,18 @@ This will make it so libraries and media fit neatly onto the homepage with no le
```css
.emby-scrollbuttons {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
padding: 0;
justify-content: space-between;
pointer-events: none;
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
padding: 0;
justify-content: space-between;
pointer-events: none;
}
.emby-scrollbuttons-button {
pointer-events: initial;
pointer-events: initial;
}
```
@ -424,47 +577,57 @@ This will make it so libraries and media fit neatly onto the homepage with no le
An example of a color theme.
![Screenshot of the "Hotdogs and Catsup" color theme](~/images/custom-css-hotdog-and-catsup.png)
![Screenshot of the "Hotdogs and Catsup" color theme](/images/docs/custom-css-hotdog-and-catsup.png)
```css
.skinHeader, .mainDrawer, .emby-input, .emby-textarea, .emby-select, .navMenuOption-selected, .cardBox, .paperList {
background: #ff9475;
.skinHeader,
.mainDrawer,
.emby-input,
.emby-textarea,
.emby-select,
.navMenuOption-selected,
.cardBox,
.paperList {
background: #ff9475;
}
.emby-input, .emby-textarea, .emby-select {
border-color: #fdbe7d;
.emby-input,
.emby-textarea,
.emby-select {
border-color: #fdbe7d;
}
.backgroundContainer.withBackdrop, .backdropContainer, .backgroundContainer {
background: #fdbe7d;
.backgroundContainer.withBackdrop,
.backdropContainer,
.backgroundContainer {
background: #fdbe7d;
}
#myPreferencesMenuPage .listItemBodyText,
.emby-tab-button[data-index="0"],
.emby-tab-button[data-index='0'],
#myPreferencesMenuPage > div > div > div > a:nth-child(odd),
.button-submit,
.mainAnimatedPage *:nth-child(odd),
.dashboardGeneralForm *:nth-child(odd),
.mainDrawer-scrollContainer *:nth-child(odd),
.headerRight *:nth-child(odd) {
color: red;
color: red;
}
#myPreferencesMenuPage .listItemIcon,
.emby-tab-button[data-index="1"],
.emby-tab-button[data-index='1'],
#myPreferencesMenuPage > div > div > div > a:nth-child(even),
.mainAnimatedPage *:nth-child(even),
.dashboardGeneralForm *:nth-child(even),
.mainDrawer-scrollContainer *:nth-child(even),
.headerRight *:nth-child(even)
.cancel {
color: yellow;
.headerRight *:nth-child(even) .cancel {
color: yellow;
}
```
### Floating Now Playing Controls
![Screenshot of the floating "Now Playing" controls](~/images/custom-css-floatingnowplaying.png)
![Screenshot of the floating "Now Playing" controls](/images/docs/custom-css-floatingnowplaying.png)
```css
/* fixed height for the bottom row */
@ -560,19 +723,19 @@ An example of a color theme.
You can choose between Material Icons (Icon Pack used by Jellyfin) and Fontawesome icons.
Material Icons:
* Outlined:
- Outlined:
```css
@import url(https://cdn.jsdelivr.net/gh/prayag17/Jellyfin-Icons/Outline.css");
```
* Rounded:
- Rounded:
```css
@import url(https://cdn.jsdelivr.net/gh/prayag17/Jellyfin-Icons/round.css");
```
* Sharp:
- Sharp:
```css
@import url(https://cdn.jsdelivr.net/gh/prayag17/Jellyfin-Icons/Sharp.css");
@ -580,25 +743,25 @@ Material Icons:
Fontawesome Icons:
* Solid:
- Solid:
```css
@import url(https://cdn.jsdelivr.net/gh/prayag17/Jellyfin-Icons/Font%20Awesome/solid.css");
```
* Regular:
- Regular:
```css
@import url(https://cdn.jsdelivr.net/gh/prayag17/Jellyfin-Icons/Font%20Awesome/regular.css");
```
* Light:
- Light:
```css
@import url(https://cdn.jsdelivr.net/gh/prayag17/Jellyfin-Icons/Font%20Awesome/light.css");
```
* duotone:
- duotone:
```css
@import url(https://cdn.jsdelivr.net/gh/prayag17/Jellyfin-Icons/Font%20Awesome/duotone.css");
@ -612,21 +775,21 @@ Some links to places where custom CSS has been discussed and shared!
Keep in mind that these posts may have been made under previous versions of Jellyfin. Some of these tweaks listed in these guides may not work anymore!
* [Custom CSS Guide](https://www.reddit.com/r/jellyfin/comments/fgmu6k/custom_css_updated_for_1050)
* ["But wait, there is more Custom CSS!"](https://www.reddit.com/r/jellyfin/comments/htrfrx/but_wait_there_is_more_custom_css)
* [Customizable Plug n' Play CSS for Jellyfin](https://www.reddit.com/r/jellyfin/comments/g9gmjj/customizable_plug_n_play_css_for_jellyfin)
* [Easy Jellyfin custom CSS](https://www.reddit.com/r/jellyfin/comments/crxqk5/easy_jellyfin_custom_css)
* [Custom CSS - updated for 10.5.0](https://www.reddit.com/r/jellyfin/comments/fgmu6k/custom_css_updated_for_1050)
* [Sharing even more custom CSS (and some fixes to previous stuff)](https://www.reddit.com/r/jellyfin/comments/bvnt65/sharing_even_more_custom_css_and_some_fixes_to)
* [Posting my Jellyfin Custom CSS](https://www.reddit.com/r/jellyfin/comments/p13yqg/posting_my_jellyfin_custom_css/)
- [Custom CSS Guide](https://www.reddit.com/r/jellyfin/comments/fgmu6k/custom_css_updated_for_1050)
- ["But wait, there is more Custom CSS!"](https://www.reddit.com/r/jellyfin/comments/htrfrx/but_wait_there_is_more_custom_css)
- [Customizable Plug n' Play CSS for Jellyfin](https://www.reddit.com/r/jellyfin/comments/g9gmjj/customizable_plug_n_play_css_for_jellyfin)
- [Easy Jellyfin custom CSS](https://www.reddit.com/r/jellyfin/comments/crxqk5/easy_jellyfin_custom_css)
- [Custom CSS - updated for 10.5.0](https://www.reddit.com/r/jellyfin/comments/fgmu6k/custom_css_updated_for_1050)
- [Sharing even more custom CSS (and some fixes to previous stuff)](https://www.reddit.com/r/jellyfin/comments/bvnt65/sharing_even_more_custom_css_and_some_fixes_to)
- [Posting my Jellyfin Custom CSS](https://www.reddit.com/r/jellyfin/comments/p13yqg/posting_my_jellyfin_custom_css/)
### Community Themes
* [Monochromic - A custom theme for Jellyfin mediaserver created using CSS overrides](https://github.com/CTalvio/Monochromic)
* [Kaleidochromic - Yet another custom theme for Jellyfin mediaserver created using CSS overrides, built on top of Monochromic](https://github.com/CTalvio/Kaleidochromic)
* [Novachromic - A light theme, built on top of Monochromic](https://github.com/CTalvio/Novachromic)
* [JellySkin - Vibrant Jellyfin theme with a lot a animations](https://github.com/prayag17/JellySkin)
* [JellyFlix - The Best Netflix Clone for Jellyfin](https://github.com/prayag17/JellyFlix)
* [Jellyfin Netflix Dark - The Best Netflix Dark Theme for Jellyfin Around!](https://github.com/DevilsDesigns/Jellyfin-Netflix-Dark)
* [Dark and Green - A Emby like night mode skin](https://github.com/mbcooper83/jellyfin-css-darkandgreen)
* [Hint of Green](https://github.com/looi-wh/HintOfGreenCSS)
- [Monochromic - A custom theme for Jellyfin mediaserver created using CSS overrides](https://github.com/CTalvio/Monochromic)
- [Kaleidochromic - Yet another custom theme for Jellyfin mediaserver created using CSS overrides, built on top of Monochromic](https://github.com/CTalvio/Kaleidochromic)
- [Novachromic - A light theme, built on top of Monochromic](https://github.com/CTalvio/Novachromic)
- [JellySkin - Vibrant Jellyfin theme with a lot a animations](https://github.com/prayag17/JellySkin)
- [JellyFlix - The Best Netflix Clone for Jellyfin](https://github.com/prayag17/JellyFlix)
- [Jellyfin Netflix Dark - The Best Netflix Dark Theme for Jellyfin Around!](https://github.com/DevilsDesigns/Jellyfin-Netflix-Dark)
- [Dark and Green - A Emby like night mode skin](https://github.com/mbcooper83/jellyfin-css-darkandgreen)
- [Hint of Green](https://github.com/looi-wh/HintOfGreenCSS)

View File

@ -9,10 +9,10 @@ title: Branding
You are free to use the Jellyfin name to promote your project, with some restrictions:
* Do not use the Jellyfin name in a way that would make the average user think you are associated with the project, unless permission was given by the Project Leader or Leadership Team.
* Only include the Jellyfin name in your project's name in a way that makes it clear you are not affiliated with the Jellyfin project, and to indicate compatibility with Jellyfin (For example *Awesome Client for Jellyfin*).
* Do not use the Jellyfin name in any context that promotes, allows or encourages piracy.
* Do not wrongfully claim to be part of the Jellyfin team.
- Do not use the Jellyfin name in a way that would make the average user think you are associated with the project, unless permission was given by the Project Leader or Leadership Team.
- Only include the Jellyfin name in your project's name in a way that makes it clear you are not affiliated with the Jellyfin project, and to indicate compatibility with Jellyfin (For example _Awesome Client for Jellyfin_).
- Do not use the Jellyfin name in any context that promotes, allows or encourages piracy.
- Do not wrongfully claim to be part of the Jellyfin team.
## Writing Style
@ -20,38 +20,38 @@ As a general rule, Jellyfin should always be capitalized, but language, file, or
Specific examples include:
* Writing referring to the project in the abstract should use capitalized `Jellyfin` at all times. `I contribute to Jellyfin and you should too!`
* C# class and project names, including their files and directories, should use capitalized `Jellyfin` as required by the C# case standards (camelCase or PascalCase). `Jellyfin.LiveTv`, `Jellyfin.sln`
* Other code elements, where the code formatting or style requires lowercase, should use lowercase `jellyfin`. `jellyfinWebComponentsBowerPath`
* The Git repository and non-C# files inside of it should use lowercase `jellyfin` for convenience on case-sensitive filesystems. `build-jellyfin.ps1`
* The final output binary, initscrips, and package names should use lowercase `jellyfin` for similar reasons as above. `jellyfin.dll`, `jellyfin_3.5.2-1_all.deb`, `jellyfin.zip`
* Configuration directories can use either depending on operating system conventions. `/var/lib/jellyfin`, `AppData/Jellyfin`
* The logo has no strict rules for capitalization, the style is dependent on aesthetics and font choice.
- Writing referring to the project in the abstract should use capitalized `Jellyfin` at all times. `I contribute to Jellyfin and you should too!`
- C# class and project names, including their files and directories, should use capitalized `Jellyfin` as required by the C# case standards (camelCase or PascalCase). `Jellyfin.LiveTv`, `Jellyfin.sln`
- Other code elements, where the code formatting or style requires lowercase, should use lowercase `jellyfin`. `jellyfinWebComponentsBowerPath`
- The Git repository and non-C# files inside of it should use lowercase `jellyfin` for convenience on case-sensitive filesystems. `build-jellyfin.ps1`
- The final output binary, initscrips, and package names should use lowercase `jellyfin` for similar reasons as above. `jellyfin.dll`, `jellyfin_3.5.2-1_all.deb`, `jellyfin.zip`
- Configuration directories can use either depending on operating system conventions. `/var/lib/jellyfin`, `AppData/Jellyfin`
- The logo has no strict rules for capitalization, the style is dependent on aesthetics and font choice.
## Icons and Other Assets
All iconography and other resources can be found in the [jellyfin-ux](https://github.com/jellyfin/jellyfin-ux) repository.
* Icons
* Banners
* Fonts
- Icons
- Banners
- Fonts
### Logo
When using the full version of the logo, the text should only be placed to the right of the icon.
![The logo should have the text placed on the right of the icon.](~/images/branding-logo-yes-side.png) ![The logo should never have the text placed below the icon.](~/images/branding-logo-no-below.png)
![The logo should have the text placed on the right of the icon.](/images/docs/branding-logo-yes-side.png) ![The logo should never have the text placed below the icon.](/images/docs/branding-logo-no-below.png)
The design for the logo uses a gradient for the infill, and if the non-transparent logo is chosen there is an optional background color.
* Gradient Start: `#AA5CC3`
* Gradient End: `#00A4DC`
* Background Colour: `#000B25`
- Gradient Start: `#AA5CC3`
- Gradient End: `#00A4DC`
- Background Colour: `#000B25`
### Theme
* Background Colour: `#101010`
* Accent Colour: `#00A4DC`
- Background Colour: `#101010`
- Accent Colour: `#00A4DC`
### Fonts

View File

@ -7,42 +7,42 @@ title: Getting Help
If you are having trouble using or configuring Jellyfin, there are several ways to get help. Please ensure you read our [Community Standards](xref:community-standards) before interacting in any of the following locations.
* The Jellyfin [Matrix channels](https://matrix.to/#/#jellyfinorg:matrix.org): For chat and real-time discussions.
- The Jellyfin [Matrix channels](https://matrix.to/#/#jellyfinorg:matrix.org): For chat and real-time discussions.
* All channels are bridged to IRC and Discord.
- All channels are bridged to IRC and Discord.
* The Jellyfin [subreddit](https://www.reddit.com/r/jellyfin): For general discussions.
- The Jellyfin [subreddit](https://www.reddit.com/r/jellyfin): For general discussions.
We are also active on social media.
* [Facebook](https://www.facebook.com/Jellyfin-319514125331205)
- [Facebook](https://www.facebook.com/Jellyfin-319514125331205)
* [Twitter](https://twitter.com/jellyfin)
- [Twitter](https://twitter.com/jellyfin)
## Matrix Channels
* <a href="https://matrix.to/#/#jellyfin:matrix.org"><img alt="jellyfin" src="https://img.shields.io/matrix/jellyfin:matrix.org.svg?logo=matrix&label=jellyfin"></a>: General chat related to the project
* <a href="https://matrix.to/#/#jellyfin-announce:matrix.org"><img alt="jellyfin-announce" src="https://img.shields.io/matrix/jellyfin-announce:matrix.org.svg?logo=matrix&label=jellyfin-announce"></a>: Announcements for releases and other important information
* <a href="https://matrix.to/#/#jellyfin-troubleshooting:matrix.org"><img alt="jellyfin-troubleshooting" src="https://img.shields.io/matrix/jellyfin-troubleshooting:matrix.org.svg?logo=matrix&label=jellyfin-troubleshooting"></a>: User troubleshooting
* <a href="https://matrix.to/#/#jellyfin-dev:matrix.org"><img alt="jellyfin-dev" src="https://img.shields.io/matrix/jellyfin-dev:matrix.org.svg?logo=matrix&label=jellyfin-dev"></a>: Main room for development communication
* <a href="https://matrix.to/#/#jellyfin-dev-client:matrix.org"><img alt="jellyfin-dev-client" src="https://img.shields.io/matrix/jellyfin-dev-client:matrix.org.svg?logo=matrix&label=jellyfin-dev-client"></a>: Client and Web development
* <a href="https://matrix.to/#/#jellyfin-dev-android:matrix.org"><img alt="jellyfin-dev-android" src="https://img.shields.io/matrix/jellyfin-dev-android:matrix.org.svg?logo=matrix&label=jellyfin-dev-android"></a>: Android, Android TV and Fire TV development
* <a href="https://matrix.to/#/#jellyfin-dev-ios:matrix.org"><img alt="jellyfin-dev-ios" src="https://img.shields.io/matrix/jellyfin-dev-ios:matrix.org.svg?logo=matrix&label=jellyfin-dev-ios"></a>: iOS, iPadOS, macOS, and tvOS development
* <a href="https://matrix.to/#/#jellyfin-dev-python:matrix.org"><img alt="jellyfin-dev-python" src="https://img.shields.io/matrix/jellyfin-dev-python:matrix.org.svg?logo=matrix&label=jellyfin-dev-python"></a>: Python development
* <a href="https://matrix.to/#/#jellyfin-dev-roku:matrix.org"><img alt="jellyfin-dev-roku" src="https://img.shields.io/matrix/jellyfin-dev-roku:matrix.org.svg?logo=matrix&label=jellyfin-dev-roku"></a>: Roku development
* <a href="https://matrix.to/#/#jellyfin-offtopic:matrix.org"><img alt="jellyfin-offtopic" src="https://img.shields.io/matrix/jellyfin-offtopic:matrix.org.svg?logo=matrix&label=jellyfin-offtopic"></a>: Chat about anything
- <a href="https://matrix.to/#/#jellyfin:matrix.org"><img alt="jellyfin" src="https://img.shields.io/matrix/jellyfin:matrix.org.svg?logo=matrix&label=jellyfin" /></a>: General chat related to the project
- <a href="https://matrix.to/#/#jellyfin-announce:matrix.org"><img alt="jellyfin-announce" src="https://img.shields.io/matrix/jellyfin-announce:matrix.org.svg?logo=matrix&label=jellyfin-announce" /></a>: Announcements for releases and other important information
- <a href="https://matrix.to/#/#jellyfin-troubleshooting:matrix.org"><img alt="jellyfin-troubleshooting" src="https://img.shields.io/matrix/jellyfin-troubleshooting:matrix.org.svg?logo=matrix&label=jellyfin-troubleshooting" /></a>: User troubleshooting
- <a href="https://matrix.to/#/#jellyfin-dev:matrix.org"><img alt="jellyfin-dev" src="https://img.shields.io/matrix/jellyfin-dev:matrix.org.svg?logo=matrix&label=jellyfin-dev" /></a>: Main room for development communication
- <a href="https://matrix.to/#/#jellyfin-dev-client:matrix.org"><img alt="jellyfin-dev-client" src="https://img.shields.io/matrix/jellyfin-dev-client:matrix.org.svg?logo=matrix&label=jellyfin-dev-client" /></a>: Client and Web development
- <a href="https://matrix.to/#/#jellyfin-dev-android:matrix.org"><img alt="jellyfin-dev-android" src="https://img.shields.io/matrix/jellyfin-dev-android:matrix.org.svg?logo=matrix&label=jellyfin-dev-android" /></a>: Android, Android TV and Fire TV development
- <a href="https://matrix.to/#/#jellyfin-dev-ios:matrix.org"><img alt="jellyfin-dev-ios" src="https://img.shields.io/matrix/jellyfin-dev-ios:matrix.org.svg?logo=matrix&label=jellyfin-dev-ios" /></a>: iOS, iPadOS, macOS, and tvOS development
- <a href="https://matrix.to/#/#jellyfin-dev-python:matrix.org"><img alt="jellyfin-dev-python" src="https://img.shields.io/matrix/jellyfin-dev-python:matrix.org.svg?logo=matrix&label=jellyfin-dev-python" /></a>: Python development
- <a href="https://matrix.to/#/#jellyfin-dev-roku:matrix.org"><img alt="jellyfin-dev-roku" src="https://img.shields.io/matrix/jellyfin-dev-roku:matrix.org.svg?logo=matrix&label=jellyfin-dev-roku" /></a>: Roku development
- <a href="https://matrix.to/#/#jellyfin-offtopic:matrix.org"><img alt="jellyfin-offtopic" src="https://img.shields.io/matrix/jellyfin-offtopic:matrix.org.svg?logo=matrix&label=jellyfin-offtopic" /></a>: Chat about anything
## IRC Channels
All channels are bridged from Matrix to [Libera.chat](https://libera.chat) for convenience.
* [#jellyfin](ircs://irc.libera.chat:6697/#jellyfin)
* [#jellyfin-announce](ircs://irc.libera.chat:6697/#jellyfin-announce)
* [#jellyfin-troubleshooting](ircs://irc.libera.chat:6697/#jellyfin-troubleshooting)
* [#jellyfin-dev](ircs://irc.libera.chat:6697/#jellyfin-dev)
* [#jellyfin-dev-client](ircs://irc.libera.chat:6697/#jellyfin-dev-client)
* [#jellyfin-dev-android](ircs://irc.libera.chat:6697/#jellyfin-dev-android)
* [#jellyfin-offtopic](ircs://irc.libera.chat:6697/#jellyfin-offtopic)
- [#jellyfin](ircs://irc.libera.chat:6697/#jellyfin)
- [#jellyfin-announce](ircs://irc.libera.chat:6697/#jellyfin-announce)
- [#jellyfin-troubleshooting](ircs://irc.libera.chat:6697/#jellyfin-troubleshooting)
- [#jellyfin-dev](ircs://irc.libera.chat:6697/#jellyfin-dev)
- [#jellyfin-dev-client](ircs://irc.libera.chat:6697/#jellyfin-dev-client)
- [#jellyfin-dev-android](ircs://irc.libera.chat:6697/#jellyfin-dev-android)
- [#jellyfin-offtopic](ircs://irc.libera.chat:6697/#jellyfin-offtopic)
## Discord

View File

@ -35,7 +35,7 @@ echo "0 0 * * * root certbot renew --quiet --no-self-upgrade --post-hook 'syst
If the certbot apache plugin doesn't work with your config, use webroot instead.
Add the following to your <VirtualHost> section after configuring it a reverse proxy:
Add the following to your `<VirtualHost>` section after configuring it a reverse proxy:
```conf
DocumentRoot /var/www/html/
@ -223,7 +223,7 @@ server {
}
```
The lines we're interested in is `set $upstream_app jellyfin`. Now, assuming Jellyfin and Let's Encrypt are on the same network within Docker, it *should* see it and start handling reverse proxy without much issue. If it doesn't however, you'll just need to change `jellyfin` in that line to whatever the IP of your Jellyfin server is. We'll also look at the line `location ~ (/jellyfin)?/socket` and add a slash after socket, so the line should look like this `location ~ (/jellyfin)?/socket/`.
The lines we're interested in is `set $upstream_app jellyfin`. Now, assuming Jellyfin and Let's Encrypt are on the same network within Docker, it _should_ see it and start handling reverse proxy without much issue. If it doesn't however, you'll just need to change `jellyfin` in that line to whatever the IP of your Jellyfin server is. We'll also look at the line `location ~ (/jellyfin)?/socket` and add a slash after socket, so the line should look like this `location ~ (/jellyfin)?/socket/`.
Then, within Jellyfin settings (Dashboard -> Networking), scroll down to "Public HTTP port number" and "Public HTTPS port number", and make sure HTTP Port number is 8096, while HTTPS port number is 8920.

View File

@ -12,7 +12,7 @@ Jellyfin supports Post Processing of recorded Live TV shows. This can be used to
> [!NOTE]
> There are several different ways to set up your post-processing script, and this largely will need to be changed to your individual use case.
>
>Described below is one way to do post processing, there may be other ways (other ways may be more efficient, too) to run your post-processor.
> Described below is one way to do post processing, there may be other ways (other ways may be more efficient, too) to run your post-processor.
Mess around with this to change to your needs. Search around, post questions to the [Jellyfin Reddit Forum](https://www.reddit.com/r/jellyfin) or elsewhere, and others may be able to help. Logging is your friend! Make sure your script(s) logs adequately to a file or elsewhere in order to troubleshoot any issues you may encounter, as any output to stdout/stderror will not be seen in the Jellyfin logs.
@ -26,13 +26,13 @@ Set "Post-processing application" to your shell script which calls your actual p
Set "Post-processor command line arguments" to `"{path}"`.
![Live TV post process DVR Settings](~/images/live-tv-post-process_dvr-settings.png)
![Live TV post process DVR Settings](/images/docs/live-tv-post-process_dvr-settings.png)
With the settings above, the server executes this command when running the post processor:
````bash
```bash
"/path/to/run_post_process.sh" "\"/path/to/LiveTV/Shows/Series/Season/Episode.ts\""
````
```
## Run Post Processor Shell Script (to be run directly by Jellyfin Server)
@ -48,12 +48,12 @@ In the sample script below:
[GitHub Gist link to `run_post_processor.sh`](https://gist.github.com/AndrewBreyen/0fc36c868486d48583a369b657e22c69)
````bash
```bash
#!/bin/sh
exec > "/path/to/logging/directory/logs/$(date +"%Y-%m-%d_%H-%M-%S")-run_post_process-sh.log" 2>&1
echo $1
/usr/local/bin/python3 /path/to/record_post_process.py "$1"
````
```
## Post Processor Python Script (to be run by `run_post_processor.sh`)

View File

@ -11,46 +11,46 @@ Click on the Admin Panel Icon in the top right corner (1)
Click 'Live TV' (2) under the 'Live TV' section
Click the '+' button (3) next to 'Tuner Devices'
![How to access the 'Tuner Devices' page](~/images/live-tv-setup-tuner1.png)
![How to access the 'Tuner Devices' page](/images/docs/live-tv-setup-tuner1.png)
Click 'Detect My Devices' from the 'Live TV Tuner Setup' page that opens
Jellyfin will search and hopefully find your tuner automatically:
![An example of detected TV tuner devices](~/images/live-tv-setup-tuner2.png)
![An example of detected TV tuner devices](/images/docs/live-tv-setup-tuner2.png)
Click on the device you'd like to set up then set any options then click 'Save'
![Saving TV tuner setup](~/images/live-tv-setup-tuner3.png)
![Saving TV tuner setup](/images/docs/live-tv-setup-tuner3.png)
## Add a TV Tuner to Jellyfin (Manual Setup)
You can set up your tuners manually if they were not automatically discovered. Click the 'Tuner Type' pull down. Choose between 'HD Homerun', 'M3U Tuner', and 'Other'
You can set up your tuners manually if they were not automatically discovered. Click the 'Tuner Type' pull down. Choose between 'HD Homerun', 'M3U Tuner', and 'Other'
![Manually adding a TV tuner](~/images/live-tv-setup-tuner4.png)
![Manually adding a TV tuner](/images/docs/live-tv-setup-tuner4.png)
### HDHomeRun Specific Options
* Tuner IP Address is the URL of your HDHomeRun device. The format will be `http://YOUR.IP.ADDRESS`
- Tuner IP Address is the URL of your HDHomeRun device. The format will be `http://YOUR.IP.ADDRESS`
* Allow hardware transcoding will allow the tuner to transcode the video on the fly which can reduce server load. Not all HDHomeRun devices support hardware transcoding.
- Allow hardware transcoding will allow the tuner to transcode the video on the fly which can reduce server load. Not all HDHomeRun devices support hardware transcoding.
* Restrict to channels marked as favorite will only import channels that are designated as favorite channels on the tuner. This helps if your tuner autoscans and adds new channels that you do not want and/or adds channels that you are able to receive due to atmospheric conditions but later are not accessible.
- Restrict to channels marked as favorite will only import channels that are designated as favorite channels on the tuner. This helps if your tuner autoscans and adds new channels that you do not want and/or adds channels that you are able to receive due to atmospheric conditions but later are not accessible.
To set a favorite, go to the [HDHomeRun website](http://my.hdhomerun.com), select your tuner and then click on the grey star next to the channel name to change the star to yellow. The yellow star indicates a favorited channel. In this example, only the channels with yellow stars will be imported into Jellyfin
To set a favorite, go to the [HDHomeRun website](http://my.hdhomerun.com), select your tuner and then click on the grey star next to the channel name to change the star to yellow. The yellow star indicates a favorited channel. In this example, only the channels with yellow stars will be imported into Jellyfin
![Selecting favorites in HDHomeRun](~/images/live-tv-setup-hdhr_opt1.png)
![Selecting favorites in HDHomeRun](/images/docs/live-tv-setup-hdhr_opt1.png)
### M3U Tuner Specific Options
This tuner allows you to add IPTV channel to Jellyfin by using the appropriate M3U8 playlist file.
* File or URL is the location of the M3U8 playlist. The file can either be stored online at a web (HTTP) address or stored locally.
- File or URL is the location of the M3U8 playlist. The file can either be stored online at a web (HTTP) address or stored locally.
* User agent is needed in special cases where you need to supply a custome HTTP header to access the remotely stored M3U8 playlist
- User agent is needed in special cases where you need to supply a custome HTTP header to access the remotely stored M3U8 playlist
* Simultaneous stream limit will restrict the number of streams the server can have open at one time. Setting this value to '0' will allow for unlimited streams
- Simultaneous stream limit will restrict the number of streams the server can have open at one time. Setting this value to '0' will allow for unlimited streams
* Auto-loop live streams is sometimes necessary for some IPTV channels. Turn this on only if your streams are not playing correctly
- Auto-loop live streams is sometimes necessary for some IPTV channels. Turn this on only if your streams are not playing correctly
> [!NOTE]
> Here is a list of legal samples to use to test connectivity.
@ -59,9 +59,9 @@ This tuner allows you to add IPTV channel to Jellyfin by using the appropriate M
## Adding Guide Data
Guide data is necessary for scheduling tv recordings and for browsing what's currently playing and what will air later. Follow these steps once you have a tuner device set up. Click on the Admin Panel Icon in the top right corner, Click 'Live TV' (2) under the 'Live TV' section, Click the '+' button next to 'TV Guide Data Providers' :
Guide data is necessary for scheduling tv recordings and for browsing what's currently playing and what will air later. Follow these steps once you have a tuner device set up. Click on the Admin Panel Icon in the top right corner, Click 'Live TV' (2) under the 'Live TV' section, Click the '+' button next to 'TV Guide Data Providers' :
![How to add guide data](~/images/live-tv-setup-guide1.png)
![How to add guide data](/images/docs/live-tv-setup-guide1.png)
Choose between 'Schedules Direct' and 'XMLTV'. You currently cannot use both at the same time.
@ -79,10 +79,10 @@ To create an XML file with guide data, there are several different methods. A re
Guide data from the 'TV Guide Data Providers' will need to be mapped to the physical channel from the tuner. Click the '...' next to the guide provider you set up and select 'Map Channels'
![Step 1 of mapping channels](~/images/live-tv-setup-channels1.png)
![Step 1 of mapping channels](/images/docs/live-tv-setup-channels1.png)
The list of physical channels will be displayed. Click the pencil icon to the right of the channel and then select the corresponding channel from the guide provider to map the channel. Do this for all channels. Click the left arrow at the top left of the window to exit and save the information.
![Step 2 of mapping channels](~/images/live-tv-setup-channels2.png)
![Step 2 of mapping channels](/images/docs/live-tv-setup-channels2.png)
The guide data will now automatically imported. You can check that the data has been imported correctly by going to the 'Live TV Guide' page from the main Jellyfin web page on your server.

View File

@ -27,18 +27,18 @@ Note: Jellyfin is a fast moving project that is in its early stages, and this do
Want to get starting using Jellyfin right now? Check out the pages below for how to [install Jellyfin](xref:admin-installing) on your machine.
* [Arch](xref:admin-installing#arch-linux)
* [Debian](xref:admin-installing#debian)
* [Ubuntu](xref:admin-installing#ubuntu)
* [Fedora](xref:admin-installing#fedora)
* [CentOS](xref:admin-installing#centos)
* [Docker](xref:admin-installing#docker)
* [unRaid](xref:admin-installing#unraid-docker)
* [Kubernetes](xref:admin-installing#kubernetes)
* [Windows](xref:admin-installing#windows-x86x64)
* [MacOS](xref:admin-installing#macos)
* [Generic Linux](xref:admin-installing#linux-generic-amd64)
* [Portable DLL](xref:admin-installing#portable-dll)
- [Arch](xref:admin-installing#arch-linux)
- [Debian](xref:admin-installing#debian)
- [Ubuntu](xref:admin-installing#ubuntu)
- [Fedora](xref:admin-installing#fedora)
- [CentOS](xref:admin-installing#centos)
- [Docker](xref:admin-installing#docker)
- [unRaid](xref:admin-installing#unraid-docker)
- [Kubernetes](xref:admin-installing#kubernetes)
- [Windows](xref:admin-installing#windows-x86x64)
- [MacOS](xref:admin-installing#macos)
- [Generic Linux](xref:admin-installing#linux-generic-amd64)
- [Portable DLL](xref:admin-installing#portable-dll)
Alternatively, Jellyfin may be built directly from the [source code](xref:admin-building).
@ -46,18 +46,18 @@ Alternatively, Jellyfin may be built directly from the [source code](xref:admin-
Want to know more about administering a Jellyfin server? Check out these pages!
* [Quick-Start Guide](xref:quick-start): What to do after you've installed Jellyfin to get it up and running.
* [Migrating](xref:admin-migrate): How to migrate Jellyfin.
* [Plugins](xref:server-plugins-index): How to install and manage plugins.
* [Networking](xref:network-index): Networking settings and troubleshooting.
* [Monitoring](xref:monitoring): Integration with external monitoring software.
* [Hardware Acceleration](xref:admin-hardware-acceleration): Improve transcoding performance on supported hardware.
- [Quick-Start Guide](xref:quick-start): What to do after you've installed Jellyfin to get it up and running.
- [Migrating](xref:admin-migrate): How to migrate Jellyfin.
- [Plugins](xref:server-plugins-index): How to install and manage plugins.
- [Networking](xref:network-index): Networking settings and troubleshooting.
- [Monitoring](xref:monitoring): Integration with external monitoring software.
- [Hardware Acceleration](xref:admin-hardware-acceleration): Improve transcoding performance on supported hardware.
## Contributing to Jellyfin
Want to help out? Check out the pages below for how to contribute.
* [Contribution Guide](xref:contrib-index): General information on contributing to Jellyfin.
* [Plugin Guide](https://github.com/jellyfin/jellyfin-plugin-template): Documentation and resources to get started writing a plugin to extend Jellyfin functionality.
* [Reporting Bugs](xref:contrib-issues#reporting-bugs): How to use our issue tracker on GitHub to report bugs.
* [Requesting Features](xref:contrib-issues#requesting-features): How to use our issue tracker on GitHub to request new features or enhancements.
- [Contribution Guide](xref:contrib-index): General information on contributing to Jellyfin.
- [Plugin Guide](https://github.com/jellyfin/jellyfin-plugin-template): Documentation and resources to get started writing a plugin to extend Jellyfin functionality.
- [Reporting Bugs](xref:contrib-issues#reporting-bugs): How to use our issue tracker on GitHub to report bugs.
- [Requesting Features](xref:contrib-issues#requesting-features): How to use our issue tracker on GitHub to request new features or enhancements.

View File

@ -53,7 +53,7 @@ module.exports = {
},
{
type: 'doc',
docId: 'getting-started',
docId: 'index',
label: 'Documentation',
position: 'right'
},
@ -74,7 +74,7 @@ module.exports = {
links: [
{
label: 'Documentation',
to: '/docs/getting-started'
to: '/docs'
},
{
label: 'Feature Requests',