Skip to content

Commit

Permalink
docs: update several different documentation pages
Browse files Browse the repository at this point in the history
* Documentation

* Documentation update
  • Loading branch information
blarrbot authored Oct 9, 2024
1 parent 4577a1b commit c5f6c2e
Show file tree
Hide file tree
Showing 46 changed files with 183 additions and 14 deletions.
Binary file added docs/assets/add-media-source.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/channel-properties.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/channels-new.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/flex-filler-content.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/new-plex-server-manual.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/programming-additem.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/programming-addmedia-library.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/programming-addmedia.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/programming-addshow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/programming-blockshuffle-noloop.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/programming-blockshuffle.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/programming-expandmenu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/programming-mediaadded.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/programming-shuffle.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/scheduling-tools-random_slots.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/scheduling-tools-time_slots.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/setup-finish.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions docs/configure/channels/epg.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# EPG

TBD
9 changes: 9 additions & 0 deletions docs/configure/channels/flex.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Flex

Flex is an optional block of time that is used to separate two episodes of television. One reason to use Flex time is to create commercial breaks after each episode to simulate traditional television.

There are a few ways to create Flex time such as Time Slots. When you have Flex time but no Filler Content configured, the Channel Fallback shown in the screenshot below will be used. You can optionally select the upload button to choose your own custom fallback image.

Please see the [Filler Lists page](/configure/library/filler) for details on creating your first list.

![Flex filler content](/assets/flex-filler-content.png)
8 changes: 8 additions & 0 deletions docs/configure/channels/index.md
Original file line number Diff line number Diff line change
@@ -1 +1,9 @@
# Channels

This page will display a brief overview of your channels.

Click the "NEW" button to be brought to the [New Channel Properties](/configure/channels/properties) page.

![Creating a new channel](/assets/channels-new.png)

Once you have created your first channel, head over to [Programming](/configure/programming) to start adding episodes.
9 changes: 9 additions & 0 deletions docs/configure/channels/properties.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Properties

Choose a channel a name. Optionally, you can also add a thumbnail by uploading an image. This will be the logo visible within your Plex/Jellyfin channel guide. Transparent .png files are supported.

On-Demand will allow your channels to behave similar to streaming services, where the watch states will only progress while you're actively viewing the channel. This is disabled by default, which means by default channels will behave similar to traditional televison where watch states will progress without you actively viewing the channel.

![Channel properties](/assets/channel-properties.png)

Click the ["FLEX" tab](/configure/channels/flex) if you'd like to configure optional filler content to play in-between episodes.
1 change: 0 additions & 1 deletion docs/configure/flex.md

This file was deleted.

3 changes: 3 additions & 0 deletions docs/configure/library/custom-shows.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Custom Shows

Placeholder
3 changes: 3 additions & 0 deletions docs/configure/library/filler.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Filler

Placeholder
1 change: 1 addition & 0 deletions docs/configure/library/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Library
50 changes: 50 additions & 0 deletions docs/configure/programming.md
Original file line number Diff line number Diff line change
@@ -1 +1,51 @@
# Programming

After creating a new channel, you will be presented with a blank Programming page.

Select "ADD MEDIA".

![Adding media to a channel](/assets/programming-addmedia.png)

Select the library you'd like to pull media from.

![Selecting library](/assets/programming-addmedia-library.png)

Add all of the shows you'd like this channel to include.

If you'd like to add all episodes from a show, select "ADD SERIES".

If you'd only like to include specific seasons, expand the show by selecting the carrot on the left and select "ADD ALL" on each season you'd like to include.

If you'd like to add specific episodes but not the entire season, expand the season by selecting the carrot on the left and select "ADD EPISODE".

![Select show](/assets/programming-addshow.png)

Expand the menu on the right to view a summary of your changes.

![Expand menu](/assets/programming-expandmenu.png)

Select "ADD ITEMS" to save your changes.

![Add item](/assets/programming-additem.png)

By default, your episode ordering will be alphabetical (by show name) and in the proper season order. In this example, we have two shows and the first show will play in its entirety progressing from specials through all seasons, and only then will the next show start playing.

![Media added](/assets/programming-mediaadded.png)

If we instead wanted this similar to what we'd see on traditional television, select "SORT" and choose either Block Shuffle or Cyclic Shuffle.

![Shuffle](/assets/programming-shuffle.png)

Block Shuffle will play a specific number of episodes from a show, proceed to the next show, play that same number of episodes, proceed to the next show, etc.

By default, when a show completes airing, it will be absent from your schedule until all of the remaining shows complete airing, where the schedule will then be repeated. This means that as you reach the end of your schedule, it may be dominated by one or two shows that have a longer runtime or more episodes than others.

To get around this, select "Make perfect schedule loop". This will attempt to have all shows complete airing at the same time.

![Block shuffle](/assets/programming-blockshuffle.png)

Please note the perfect schedule loop option does not currently support larger channels. If you see the below error, your channel has too many episodes to use this feature. In this case, the "Loop Short Programs" option can be used.

![Block shuffle loop error](/assets/programming-blockshuffle-noloop.png)

Cyclic Shuffle will alternate between shows while attempting to preserve the episode sequence. So in this example, it will play S00E01 from show 1, then play S00E01-E02 from show 2, then S01E01-E02 from show 1, then S01E01 from show 2, etc. Compared to Block Schedule, Cyclic Shuffle is randomized, so it will not always display the same number of episodes from a show. Cyclic Shuffle also does not support any features to create even blocks, so the end of your schedule will likely be dominated by a few shows with larger episode counts and runtime.
3 changes: 3 additions & 0 deletions docs/configure/scheduling-tools/balance.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Balance

TBD
3 changes: 3 additions & 0 deletions docs/configure/scheduling-tools/consolidate.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Consolidate

TBD
13 changes: 13 additions & 0 deletions docs/configure/scheduling-tools/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Scheduling Tools

Tunarr offers a range of tools for scheduling your content.

[Time Slots](/configure/scheduling-tools/time-slots) are the best option to most closely mimic traditional television but can be a bit laborious to configure.

[Random Slots](/configure/scheduling-tools/random-slots) accomplishes the same as Time Slots, but requires much less work to setup due to randomizing when each show is aired.

[Balance](/configure/scheduling-tools/balance) let's you pick the weight for your shows to air some shows more frequently than others.

[Replicate](/configure/scheduling-tools/replicate) will create copies of the same schedule and play them in sequence. This typically is not needed as Tunarr already handles replaying a schedule once complete.

[Consolidate](/configure/scheduling-tools/consolidate) merges contiguous match flex and redirect blocks into singular spans.
23 changes: 23 additions & 0 deletions docs/configure/scheduling-tools/random-slots.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Random Slots

Random Slots allow you to schedule specific shows to run during randomized time slots.

To schedule Random Slots for your channel programming, select "TOOLS", then "Random Slots".

![Random Slots](/assets/scheduling-tools-random_slots.png)

In this example, we want both "Yu-Gi-Oh! Duel Monsters" and "Batman Beyond" to air in 30 minute blocks. We have Pad Times set to 00:00 and 00:30, so the episodes will always try to air right at those times by using [Flex](/configure/channels/flex) to fill the empty time.

![Random Slots example](/assets/scheduling-tools-random_slots_example.png)

See below for an example of our current schedule. Note that due to the schedule starting at 4:43pm, the first episode will finish airing at 5:05pm, so a larger-than-normal amount of Flex time will be used to get the schedule back on track to have things air at 00:00 and 00:30. After the first airing, we see things normalized with a more appropriate 8-10 minutes of Flex after each episode.

![Random Slots preview](/assets/scheduling-tools-random_slots_preview.png)

In this example, one of our shows has far more episodes than the other but by default the episode Distribution is Uniform so the shows will be ordered with equal priority. If we instead wanted "Yu-Gi-Oh! Duel Monsters" to air 70% of the time, and "Batman Beyond" to air 30% of the time, we would set Distribution to Weighted and adjust the sliders.

![Random Slots example with weighting](/assets/scheduling-tools-random_slots_example_weighted.png)

See below for an example of our schedule now that "Yu-Gi-Oh! Duel Monsters" is Weighted to air 70% of the time.

![Random Slots preview with weighting](/assets/scheduling-tools-random_slots_preview_weighted.png)
3 changes: 3 additions & 0 deletions docs/configure/scheduling-tools/replicate.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Replicate

TBD
23 changes: 23 additions & 0 deletions docs/configure/scheduling-tools/time-slots.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Time Slots

Time Slots allow you to schedule specific shows to run at specific time slots each day or week.

To schedule Time Slots for your channel programming, select "TOOLS", then "Time Slots".

![Time Slots](/assets/scheduling-tools-time_slots.png)

In this example, we want "Yu-Gi-Oh! Duel Monsters" to always air at 10am each day, followed by "Batman Beyond" at 10:30am each day. We also want [Flex](/configure/channels/flex) to fill the time in-between episodes using the Pad Times option, so that episodes always air right at 10am and 10:30am. We have allowed 5 minutes of lateness, so if an episode runs over the 30 minute time slot by 5 minutes or less, the next shows episode will still play no later than 10:35am.

![Time Slots example](/assets/scheduling-tools-time_slots_example.png)

See below for an example of our current schedule. Please note that as we have only selected two time slots for the entire day, "Batman Beyond" being our last scheduled show will continue airing until the following day at 10am when the next scheduled episode of "Yu-Gi-Oh! Duel Monsters" is set to air.

![Time Slots preview](/assets/scheduling-tools-time_slots_preview.png)

If we instead wanted to air these two episodes, then have the channel play Flex content until the next episode of "Yu-Gi-Oh! Duel Monsters" the following day at 10am, we would simply add Flex after "Batman Beyond".

![Time Slots example with flex](/assets/scheduling-tools-time_slots_exampleflex.png)

See below for an example of our schedule now that we have Flex after our two episodes air. Now it will alternate Show 1 Day 1, Show 2 Day 1, Show 1 Day 2, Show 2 Day 2, etc.

![Time Slots preview with flex](/assets/scheduling-tools-time_slots_previewflex.png)
1 change: 0 additions & 1 deletion docs/configure/scheduling/index.md

This file was deleted.

1 change: 0 additions & 1 deletion docs/configure/scheduling/random-slots.md

This file was deleted.

1 change: 0 additions & 1 deletion docs/configure/scheduling/time-slots.md

This file was deleted.

1 change: 0 additions & 1 deletion docs/configure/scheduling/tools.md

This file was deleted.

18 changes: 15 additions & 3 deletions docs/getting-started/setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ services:
# runtime: nvidia
environment:
- LOG_LEVEL=${TUNARR_LOG_LEVEL:-INFO}
# Uncomment if you'd like to adjust default config path
# - TUNARR_DATABASE_PATH=/your/path/tunarr
# volumes:
# The host path is relative to the location of the compose file
# This can also use an absolute path.
Expand Down Expand Up @@ -73,22 +75,32 @@ docker run \

Upon first launching Tunarr, you will see the Welcome page with a few required setup steps.

![Welcome Page No Plex](../assets/welcome_page_not_connected.png)
![Welcome Page Plex-Jellyfin](../assets/add-media-source.png)

### Media Sources

Currently, Tunarr supports Plex and Jellyfin as media sources. In order to add programming to your channels, you must connect at least media source. Each media source acts as a metadata source for your programming, and optionally, the streaming source. Click the "Connect Plex" button to start Plex authentication and add your first Plex server to Tunarr.
Currently, Tunarr supports Plex and Jellyfin as media sources. In order to add programming to your channels, you must connect at least one media source. Each media source acts as a metadata source for your programming, and optionally, the streaming source.

Click the "Add" button, followed by your source. For Plex, you can choose Auto to perform automatic web authentication. Alternatively, you can select Manual, input your URL (http://serverIP:32400) and [Access Token](https://support.plex.tv/articles/204059436-finding-an-authentication-token-x-plex-token/). Unless you have a specific reason for doing so, leave Auto-Update Guide and Auto-Update Channels unchecked. If communication with your server is successful, you should see a green checkmark cloud icon next to your server URL.

![Manual Plex server](../assets/new-plex-server-manual.png)

!!! info

We plan on implementing other media source types, including [Emby](https://github.com/chrisbenincasa/tunarr/issues/25) and [Local Media](https://github.com/chrisbenincasa/tunarr/issues/26). Upvote and follow the issues you'd like to see us implement!

### FFMPEG

Tunarr also requires [FFMPEG](https://ffmpeg.org/). FFMPEG is used to normalize channel video / audio streams for seamless playback, interleave your "flex" content, and more. Tunarr defaults to looking for the FFMPEG executable at `/usr/bin/ffmpeg`. If no executable is found, you can change the path in the FFMPEG settings page.
Tunarr also requires [FFMPEG](https://ffmpeg.org/). FFMPEG is used to normalize channel video / audio streams for seamless playback, interleave your "flex" content, and more. Tunarr defaults to looking for the FFMPEG executable at `/usr/bin/ffmpeg`. If no executable is found, you can change the path in the FFMPEG settings page.

Please note that FFMPEG is built into the Docker image, so Docker users should not need to make any adjustments to this page.

![Welcome Page With FFMPEG](../assets/welcome_page_ffmpeg_installed.png)

Click "FINISH" and you will be brought to the new channel page to [create your first channel](/configure/channels/properties).

![Finish](../assets/setup-finish.png)

```
```
20 changes: 14 additions & 6 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,22 @@ nav:
- Configure:
- Channels:
- configure/channels/index.md
- Properties: configure/channels/properties.md
- Flex: configure/channels/flex.md
- EPG: configure/channels/epg.md
- Transcoding: configure/channels/transcoding.md
- Programming: configure/programming.md
- Scheduling:
- configure/scheduling/index.md
- Tools: configure/scheduling/tools.md
- Time Slots: configure/scheduling/time-slots.md
- Random Slots: configure/scheduling/random-slots.md
- Flex: configure/flex.md
- Scheduling Tools:
- configure/scheduling-tools/index.md
- Time Slots: configure/scheduling-tools/time-slots.md
- Random Slots: configure/scheduling-tools/random-slots.md
- Balance: configure/scheduling-tools/balance.md
- Replicate: configure/scheduling-tools/replicate.md
- Consolidate: configure/scheduling-tools/consolidate.md
- Library:
- configure/library/index.md
- Filler: configure/library/filler.md
- Custom Shows: configure/library/custom-shows.md
- System: configure/system.md
- Clients:
- configure/clients/index.md
Expand Down

0 comments on commit c5f6c2e

Please sign in to comment.