Skip to content

Releases: TheOpponent/mr-otcs

v2.1.2 - Hotfix

27 Aug 16:35
Compare
Choose a tag to compare

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 the coming_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 the previous_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 disable previous_files generation.
    • SCHEDULE_OFFSET: This is a new key named offset_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

27 Aug 06:17
Compare
Choose a tag to compare

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 the coming_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 the previous_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 disable previous_files generation.
    • SCHEDULE_OFFSET: This is a new key named offset_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

26 Aug 20:01
Compare
Choose a tag to compare

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 the coming_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 the previous_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 disable previous_files generation.
    • SCHEDULE_OFFSET: This is a new key named offset_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

22 Mar 15:05
Compare
Choose a tag to compare

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 the REMOTE_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

22 Mar 03:02
Compare
Choose a tag to compare

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

23 Feb 16:53
75d0f5b
Compare
Choose a tag to compare

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

22 Feb 16:30
Compare
Choose a tag to compare
2.0.0-beta3 Pre-release
Pre-release

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

20 Feb 01:16
Compare
Choose a tag to compare
2.0.0-beta2 Pre-release
Pre-release

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, and STREAM_RESTART_AFTER_VIDEO can now be specified with absolute paths, outside of BASE_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

18 Feb 18:09
Compare
Choose a tag to compare
2.0.0-beta Pre-release
Pre-release

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 the STREAM_RESTART_BEFORE_VIDEO or STREAM_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

17 Feb 01:21
Compare
Choose a tag to compare
2.0.0-alpha4 Pre-release
Pre-release

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