jrudess / streamdvr

DVR for streaming entertainment
GNU General Public License v3.0
67 stars 16 forks source link

twitch.tv Commercial break in progress with Twitch Turbo cookie #160

Closed challi1337 closed 1 year ago

challi1337 commented 1 year ago

Hello,

I've been using this program for a while now, but it seems that when a streamer runs an ad manually I still get the ad even though my account which I give the program with the http cookie should not get ads because of my twitch turbo subscription.

Anyone know a fix or workaround for this?

Rameenh commented 1 year ago

How did you pass the cookies? Did you add the argument '--cookies /<path to cookies.txt file>' to the m3u8fetch_args list in twitch.yml?

I read online that yt-dlp doesn't have the ability to filter out ads from live streams due to ffmpeg restrictions, but apparently according to this Reddit thread, you can just use streamlink instead of yt-dlp with the '--twitch-disable-ads' option.

So you would alter the twitch.yml file to use the streamlink fetch and recorder scripts with the argument in both fields (recording worked for me, I haven't recorded long enough to test the "no-ads" argument yet though).

Streamlink also doesn't have a single cookies file option according to this discussion in their repo, so you would have to input each key-value pair as separate arguments, but I don't even think cookies are needed according to the Reddit thread.

challi1337 commented 1 year ago

Yes like you've pointed out I'm using streamlink fetch and recorder.

I give the api_token and persistent cookies via '--http-cookie=.....' in the fetch and since in the past that helped already for recording (no prerolls) I didn't think of adding it also in the recorder. I use it for another website too (afreecatv) and works fine there aswell. But I'll give it a try with the argument added for both fetch and recorder. I'll update once I see results tomorrow.

edit: i didn't mean to close, too new here :S edit2: seems like whenever ad break would come the recording cuts and new recording gets started on next scan. removing the twitch disable ads line makes the screen with ad break in progress appear again even with cookie in recorder and fetch

challi1337 commented 1 year ago

Reopened since I found a fix for it.

So streamlink doesn't like just getting the cookie thats usually required to identify your account since they have a special argument just for twitch login which I found in their documentation. link by adding the OAuth token it seems to have fixed the issue, not sure if necessary in fetch and recorder but I added it in both just to be save.