Releases: TheOpponent/mr-otcs
v2.1.2 - Hotfix
This release corrects an issue where the schedule file will not be generated after the first video if the VERBOSE
setting is set to verbose
or verbose2
.
Full Changelog: v2.1.1...v2.1.2
Previous Release Notes
This release corrects issues with the schedule file introduced in version 2.1.0.
- Fixed the schedule file not being generated after the first video.
- Reverted to the previous method for connecting to the remote host with a 10-second timeout.
- Extra prints were added for the
verbose
setting for the generation of the schedule file.
Full Changelog: v2.1.0...v2.1.1
Mr. OTCS version 2.1.0 adds several options related to the JSON schedule file. The following options can be added to config.ini:
- [Schedule] section:
SCHEDULE_MIN_VIDEOS
: This number of normal entries will always be added to thecoming_up_next
key before other limits in this section are reached. Default value is 1.SCHEDULE_PREVIOUS_MIN_VIDEOS
: This number of normal entries in theprevious_files
key will always be kept before other limits in this section are reached. Default value is 1.- Set any of the
SCHEDULE_PREVIOUS
settings to 0 to disableprevious_files
generation. SCHEDULE_OFFSET
: This is a new key namedoffset_time
that this number is written to. It can be used by the website parsing this JSON to add or subtract seconds from the schedule times. Default value is 0.
- [SSH] section:
REMOTE_UPLOAD_ATTEMPTS
: Try uploading the schedule file to the remote host this many times. Set to -1 to retry infinitely. Default value is 1.REMOTE_RETRY_PERIOD
: Wait this many seconds before remote upload attempts. Default value is 5.
Other new features include:
- Extra validation of config.ini settings.
- More default URLs were added to
CHECK_URL
:https://google.com, https://twitch.tv, https://github.com, https://amazon.com, https://canhazip.com, https://1.1.1.1, https://8.8.8.8
- Fixed a crash if
PLAY_HISTORY_FILE
was disabled. - Fixed duplicate entries being added to the
previous_files
key in the schedule file if the encoding fails and then restarts.
Full Changelog: v2.0.1...v2.1.0
v2.1.1 - Schedule Generation Fixes
This release corrects issues with the schedule file introduced in version 2.1.0.
- Fixed the schedule file not being generated after the first video.
- Reverted to the previous method for connecting to the remote host with a 10-second timeout.
- Extra prints were added for the
verbose
setting for the generation of the schedule file.
Full Changelog: v2.1.0...v2.1.1
Previous Release Notes
Mr. OTCS version 2.1.0 adds several options related to the JSON schedule file. The following options can be added to config.ini:
- [Schedule] section:
SCHEDULE_MIN_VIDEOS
: This number of normal entries will always be added to thecoming_up_next
key before other limits in this section are reached. Default value is 1.SCHEDULE_PREVIOUS_MIN_VIDEOS
: This number of normal entries in theprevious_files
key will always be kept before other limits in this section are reached. Default value is 1.- Set any of the
SCHEDULE_PREVIOUS
settings to 0 to disableprevious_files
generation. SCHEDULE_OFFSET
: This is a new key namedoffset_time
that this number is written to. It can be used by the website parsing this JSON to add or subtract seconds from the schedule times. Default value is 0.
- [SSH] section:
REMOTE_UPLOAD_ATTEMPTS
: Try uploading the schedule file to the remote host this many times. Set to -1 to retry infinitely. Default value is 1.REMOTE_RETRY_PERIOD
: Wait this many seconds before remote upload attempts. Default value is 5.
Other new features include:
- Extra validation of config.ini settings.
- More default URLs were added to
CHECK_URL
:https://google.com, https://twitch.tv, https://github.com, https://amazon.com, https://canhazip.com, https://1.1.1.1, https://8.8.8.8
- Fixed a crash if
PLAY_HISTORY_FILE
was disabled. - Fixed duplicate entries being added to the
previous_files
key in the schedule file if the encoding fails and then restarts.
Full Changelog: v2.0.1...v2.1.0
v2.1.0 - Schedule File Improvements
Mr. OTCS version 2.1.0 adds several options related to the JSON schedule file. The following options can be added to config.ini:
- [Schedule] section:
SCHEDULE_MIN_VIDEOS
: This number of normal entries will always be added to thecoming_up_next
key before other limits in this section are reached. Default value is 1.SCHEDULE_PREVIOUS_MIN_VIDEOS
: This number of normal entries in theprevious_files
key will always be kept before other limits in this section are reached. Default value is 1.- Set any of the
SCHEDULE_PREVIOUS
settings to 0 to disableprevious_files
generation. SCHEDULE_OFFSET
: This is a new key namedoffset_time
that this number is written to. It can be used by the website parsing this JSON to add or subtract seconds from the schedule times. Default value is 0.
- [SSH] section:
REMOTE_UPLOAD_ATTEMPTS
: Try uploading the schedule file to the remote host this many times. Set to -1 to retry infinitely. Default value is 1.REMOTE_RETRY_PERIOD
: Wait this many seconds before remote upload attempts. Default value is 5.
Other new features include:
- Extra validation of config.ini settings.
- More default URLs were added to
CHECK_URL
:https://google.com, https://twitch.tv, https://github.com, https://amazon.com, https://canhazip.com, https://1.1.1.1, https://8.8.8.8
- Fixed a crash if
PLAY_HISTORY_FILE
was disabled. - Fixed duplicate entries being added to the
previous_files
key in the schedule file if the encoding fails and then restarts.
Full Changelog: v2.0.1...v2.1.0
v2.0.1 - Schedule upload hotfix
This is a hotfix for version 2.0.0 with the following changes:
- The schedule JSON remote upload step has been moved to the end of schedule generation, rather than the start of encoding. This ensures that schedules generated from very large playlists will not be out of date when they are uploaded to the remote location.
- If the
REMOTE_ADDRESS
setting is filled in but theREMOTE_USERNAME
setting is not, the program will exit with an error. - Information on the number of alternate names in JSON loaded is now printed by default, rather than with the "verbose" setting.
Changelog: v2.0.0...v2.0.1
Previous Release Notes
This is the formal release for Mr. OTCS 2.0.0, a full rewrite that aims to resolve many long-standing issues with the 1.x series.
New features in version 2.0.0 compared to previous releases include:
- All operations handled by the Python script, without a secondary shell script
- Automatic restart of the stream after a certain amount of stream time elapses (default 47 hours 59 minutes, for safety with Twitch's 48 hour stream limit)
- Optionally play a video before and after the stream restarts this way to inform viewers of the break
- Extensive console log output with configurable verbosity
- Support for manual restarts in the playlist
- New JSON keys for the schedule file that expose more information on the stream and the videos, including individual video runtimes and the start time of the program
- Detect errors from the ffmpeg processes and internet connection issues, and pause encoding until the errors are resolved
- Error checking for write operations on play_index.txt and play_history.txt
- play_history.txt now includes events for stream restarts, exits, and errors
- Upon exiting, the total runtime of the program is reported in the console
To upgrade from a 1.x installation, please read the wiki pages on Migrating from 1.x and Installation, as the environments have changed and new dependencies are required. In particular, two different versions of ffmpeg are now used: the latest version and ffmpeg-hls-pts-discontinuity-reclock. In addition, it is now recommended to run nginx as a service rather than compile it from source.
Version 1.x is now considered deprecated and may not receive support.
Full Changelog: 1.5.2...v2.0.0
v2.0.0
A hotfix version 2.0.1 has been published and should be used instead: https://github.com/TheOpponent/mr-otcs/releases/tag/v2.0.1
This is the formal release for Mr. OTCS 2.0.0, a full rewrite that aims to resolve many long-standing issues with the 1.x series.
New features in version 2.0.0 compared to previous releases include:
- All operations handled by the Python script, without a secondary shell script
- Automatic restart of the stream after a certain amount of stream time elapses (default 47 hours 59 minutes, for safety with Twitch's 48 hour stream limit)
- Optionally play a video before and after the stream restarts this way to inform viewers of the break
- Extensive console log output with configurable verbosity
- Support for manual restarts in the playlist
- New JSON keys for the schedule file that expose more information on the stream and the videos, including individual video runtimes and the start time of the program
- Detect errors from the ffmpeg processes and internet connection issues, and pause encoding until the errors are resolved
- Error checking for write operations on play_index.txt and play_history.txt
- play_history.txt now includes events for stream restarts, exits, and errors
- Upon exiting, the total runtime of the program is reported in the console
To upgrade from a 1.x installation, please read the wiki pages on Migrating from 1.x and Installation, as the environments have changed and new dependencies are required. In particular, two different versions of ffmpeg are now used: the latest version and ffmpeg-hls-pts-discontinuity-reclock. In addition, it is now recommended to run nginx as a service rather than compile it from source.
Version 1.x is now considered deprecated and may not receive support.
Full Changelog: 1.5.2...v2.0.0
v2.0.0-rc1
This is the first release candidate for Mr. OTCS 2.0, a full rewrite that aims to resolve many long-standing issues with the 1.x series. Please test this release, but use it in a production stream at your own risk. If no bugs are reported, this will be the final release for version 2.0.0.
New features in version 2.0.0 compared to previous releases include:
- All operations handled by the Python script, without a secondary shell script
- Automatic restart of the stream after a certain amount of stream time elapses (default 47 hours 59 minutes, for safety with Twitch's 48 hour stream limit)
- Optionally play a video before and after the stream restarts this way to inform viewers of the break
- Extensive console log output with configurable verbosity
- Support for manual restarts in the playlist
- New JSON keys for the schedule file that expose more information on the stream and the videos, including individual video runtimes and the start time of the program
- Detect errors from the ffmpeg processes and internet connection issues, and pause encoding until the errors are resolved
- Error checking for write operations on play_index.txt and play_history.txt
- play_history.txt now includes events for stream restarts, exits, and errors
- Upon exiting, the total runtime of the program is reported in the console
To upgrade from a 1.x installation, please read the wiki pages on Migrating from 1.x and Installation, as the environments have changed and new dependencies are required. In particular, two different versions of ffmpeg are now used: the latest version and ffmpeg-hls-pts-discontinuity-reclock. In addition, it is now recommended to run nginx as a service rather than compile it from source.
Note that upon the full release, version 1.x will be considered deprecated and may not receive support.
Full Changelog: #18
2.0.0-beta3
This is the third beta release of Mr. OTCS 2.0, a full rewrite that aims to resolve many long-standing issues with the 1.x series. Please test this release, but use it in a production stream at your own risk.
New features in version 2.0 compared to previous releases include:
- All operations handled by the Python script, without a secondary shell script
- Automatic restart of the stream after a certain amount of stream time elapses (default 47 hours 59 minutes, for safety with Twitch's 48 hour stream limit)
- Optionally play a video before and after the stream restarts this way to inform viewers of the break
- Extensive console log output with configurable verbosity
- Support for manual restarts in the playlist
- New JSON keys for the schedule file that expose more information on the stream and the videos, including individual video runtimes and the start time of the program
- Detect errors from the ffmpeg processes and internet connection issues and pause encoding until the errors are resolved
Changes from the previous beta include:
- Multiple URLs can be provided for the internet connection check. config_default.ini has been updated with more addresses to check.
- The process of writing play_index.txt has some basic error checks. If the write does not succeed, an error is printed to the console, but the stream will not be interrupted.
To upgrade from a 1.x installation, please read the wiki pages on Migrating from 1.x and Installation, as the environments have changed and new dependencies are required.
Full Changelog: v1.5.2...2.0-dev
Beta Changelog: v2.0.0-beta2...v2.0.0-beta3
2.0.0-beta2
This is the second beta release of Mr. OTCS 2.0, a full rewrite that aims to resolve many long-standing issues with the 1.x series. Please test this release, but use it in a production stream at your own risk.
New features in version 2.0 compared to previous releases include:
- All operations handled by the Python script, without a secondary shell script
- Automatic restart of the stream after a certain amount of stream time elapses (default 47 hours 59 minutes, for safety with Twitch's 48 hour stream limit)
- Optionally play a video before and after the stream restarts this way to inform viewers of the break
- Extensive console log output with configurable verbosity
- Support for manual restarts in the playlist
- New JSON keys for the schedule file that expose more information on the stream and the videos, including individual video runtimes and the start time of the program
- Detect errors from the ffmpeg processes and internet connection issues and pause encoding until the errors are resolved
Changes from the previous beta include:
- The duration of stream restarts is now correctly applied to the video immediately after when the restart would occur in the schedule.
- Video files in the playlist,
STREAM_RESTART_BEFORE_VIDEO
, andSTREAM_RESTART_AFTER_VIDEO
can now be specified with absolute paths, outside ofBASE_PATH
. - The environment variable
MR_OTCS_CONFIG_INI
can now be defined to override the location of the default config.ini file. - The files playlist.txt, config.ini, and alt_names.json have been deleted to prevent accidentally overwriting existing copies. The files playlist_example.txt, config_default.ini and alt_names_examples.json can be copied and renamed to the former names.
To upgrade from a 1.x installation, please read the wiki pages on Migrating from 1.x and Installation, as the environments have changed and new dependencies are required.
Full Changelog: v1.5.2...2.0-dev
Beta Changelog: v2.0.0-beta...v2.0.0-beta2
2.0.0-beta
This is the first beta release of Mr. OTCS 2.0, a full rewrite that aims to resolve many long-standing issues with the 1.x series. Please test this release, but use it in a production stream at your own risk.
New features in version 2.0 compared to previous releases include:
- All operations handled by the Python script, without a secondary shell script
- Automatic restart of the stream after a certain amount of stream time elapses (default 47 hours 59 minutes, for safety with Twitch's 48 hour stream limit)
- Optionally play a video before and after the stream restarts this way to inform viewers of the break
- Extensive console log output with configurable verbosity
- Support for manual restarts in the playlist
- New JSON keys for the schedule file that expose more information on the stream and the videos, including individual video runtimes and the start time of the program
- Detect errors from the ffmpeg processes and internet connection issues and pause encoding until the errors are resolved
Changes from the previous alpha include:
- A new
%INSTANT_RESTART
playlist command, which restarts the stream but does not play theSTREAM_RESTART_BEFORE_VIDEO
orSTREAM_RESTART_AFTER_VIDEO
files - Type checking for MediaInfo results, fixing compatibility with media types other than MP4
To upgrade from a 1.x installation, please read the wiki pages on Migrating from 1.x and Installation, as the environments have changed and new dependencies are required.
Full Changelog: v1.5.2...2.0-dev
2.0.0-alpha4
This is the fourth alpha release of Mr. OTCS 2.0, a full rewrite that aims to resolve many long-standing issues with the 1.x series. Please test this release, but use it in a production stream at your own risk.
- This version changes the calculation of remaining stream time by using differentials from the time video encoding started to when it ended, rather than estimating them from the length of the video and the periodic play_index.txt write. This should be more precise than the previous method.
- play_history.txt now has more information written to it, including when the stream restarts and ends.
Full Changelog: v2.0.0-alpha3...2.0-dev