bastimeyer · GitHub

@bastimeyer

Drop `--twitch-disable-ads` and always filter out ads.
Suppress the plugin argument, so we don't introduce breaking changes.
Suppressed plugin arguments automatically show a deprecation warning.
The reason for this change is that Twitch has switched from MPEG-TS
to fragmented MPEG-4 streams for their higher quality streams that
are currently in beta. This is also the case for any re-encoded lower
stream qualities if the input stream is available in a higher quality.
This is independent of the used video codec.
Unfortunately, stream discontinuities that occur during
an ad-transition when not filtering out ads are harder to recover from
when the stream uses an fMPEG-4 container, causing more severe playback
issues in players compared to MPEG-TS streams when incoherent stream
segments of the actual stream and ads are concatenated. This means that
we need to always filter out ads and don't let the users decide,
to ensure the least amount of playback issues among all players.
Since the requested `playerType` has always been "embed" when requesting
an access token, only the purple "ads in progress" screen was shown
instead of actual ads, so making the plugin always filter out ads
(aka "non-stream segments") is the sensible thing to do.
Keep the "Will filter out ads" info log message that was previously
only shown when the plugin argument was set, so the user is made
aware of this change, as gaps in the output will now always occur.

Read the original on github.com ↗