Skip to content

Twitch live streams have out of sync audio and lowered pitch #4280

Description

@mnoop

Checklist

Region

No response

Provide a description that is worded well enough to be understood

I'm not too familiar with Twitch, but it seems that typically there is an ad when you first begin watching, and additionally the streamer can trigger ad breaks throughout the stream that can last for several minutes. After downloading a portion of a Twitch live stream, the resulting video has out of sync / missing audio whenever the streamer triggers an ad break (but not the ad at the beginning of the download). That seems to last for a few minutes beyond the length of the ad break. I think the ad break coincides with warning messages in the log like Non-monotonous DTS in output stream 0:0; previous: 1816559905, current: 231210; changing to 1816559906. This may result in incorrect timestamps in the output file.

Additionally, the whole video has noticeably lower pitch than what plays in the browser. I don't know what would cause this, although some searching online suggests that this could have something to do with Twitch's low latency mode.

I am using ffplay to view the video file, since, at least for me, VLC player will not play it correctly (the audio cuts out every second or so).

The video corresponding to the below output has an ad at the beginning and at about 17 minutes in. The out of sync audio lasts until about 23 minutes in, a minute or so before I stopped recording. I had to cut most of the output since otherwise it won't let me post it.

Provide verbose output that clearly demonstrates the problem

  • Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
  • Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output

[debug] Command-line config: ['-vU', 'https://twitch.tv/hasanabi']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.06.29 [9d339c4]
[debug] Python 3.8.10 (CPython 64bit) - Linux-5.4.0-117-generic-x86_64-with-glibc2.29 (glibc 2.31)
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 4.2.7, ffprobe 4.2.7
[debug] Optional libraries: Cryptodome-3.14.1, brotli-1.0.9, certifi-2021.10.08, mutagen-1.45.1, secretstorage-2.3.1, sqlite3-2.6.0, websockets-10.2
[debug] Proxy map: {}
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
[debug] Downloading _update_spec from https://github.com/yt-dlp/yt-dlp/releases/download/2022.06.29/_update_spec
Latest version: 2022.06.29, Current version: 2022.06.29
yt-dlp is up to date (2022.06.29)
[debug] [twitch:stream] Extracting URL: https://twitch.tv/hasanabi
[twitch:stream] hasanabi: Downloading stream GraphQL
[twitch:stream] hasanabi: Downloading stream access token GraphQL
[twitch:stream] 40947204795: Downloading m3u8 information
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[debug] Default format spec: best/bestvideo+bestaudio
[info] 40947204795: Downloading 1 format(s): 1080p60__source_
[debug] Invoking ffmpeg downloader on "https://video-weaver.dfw02.hls.ttvnw.net/v1/playlist/CqkET-dYuXeS6k-BZPh_ztk16MVU795_ZOWo6S3PCGl3wB4GJMgNFSdSpu7y5EniLOAk6Fj5RmFIFlIhnUvYyuA_ACoK7MsC18HgYPlvaAb5cRGc_w38LvLRn0zVGdBMf49lQ2p0IQD38ziVbJNehIGxirjpon2gNMIgst1e7w7m_lvowDLuHFnhq1QrijZnm5pynancX71M4rPbN_Oj1nd3zVEIkjxHMNdEZRLihL4WbNx0rnrVOyZmL9R4q6au-Lx0LrlYuJQcO6EV0gYCEuoYCt60JBrO8JHuVDsTkRHzPnjN0yAnMP7cGhHVxiW8zyqM6vavqdV9ayrypWp0ZkgL7HlUAlHLCniJWR_0I731_y580FuRNkfNoDtX_maQCD1o83auebmQHwDqCJC-fnSGBk6R1RdsJWbDekK5-gq7nV78tas-8Ie6ipv2Ty75ws7jdYXSOYxB78hEM2hOLTwRysiFPdGsbttADvttxioUb_O3mFSVqDm7rn6yX355iaw1kJKsJPLCNKKrCfT1hyeN0lm5rDxyuvn587cCpJSCyrNmDBuE_r51tzK0FpGiAAR5jlXZbeFb1wSxlxxNP1NLmkeZXUGHVWpXJfcpe9nnNIX0XJ5jWVB4PWZ_3-kg68vpl3T_PIiRD0kSd5TgwguCr4knKgET3AZboftadrmxhdwvKkVMsXpU45LHKhgcpbxBCGwvw4r4tIUbqMXONqM6rvXxF0tEGmdewxoM52t1l4Iqbln9x2MbIAEqCXVzLXdlc3QtMjCPBA.m3u8"
[download] Destination: HasanAbi (live) 2022-07-05 19_02 [40947204795].mp4
[debug] ffmpeg command line: ffmpeg -y -loglevel verbose -headers 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Sec-Fetch-Mode: navigate
' -i https://video-weaver.dfw02.hls.ttvnw.net/v1/playlist/CqkET-dYuXeS6k-BZPh_ztk16MVU795_ZOWo6S3PCGl3wB4GJMgNFSdSpu7y5EniLOAk6Fj5RmFIFlIhnUvYyuA_ACoK7MsC18HgYPlvaAb5cRGc_w38LvLRn0zVGdBMf49lQ2p0IQD38ziVbJNehIGxirjpon2gNMIgst1e7w7m_lvowDLuHFnhq1QrijZnm5pynancX71M4rPbN_Oj1nd3zVEIkjxHMNdEZRLihL4WbNx0rnrVOyZmL9R4q6au-Lx0LrlYuJQcO6EV0gYCEuoYCt60JBrO8JHuVDsTkRHzPnjN0yAnMP7cGhHVxiW8zyqM6vavqdV9ayrypWp0ZkgL7HlUAlHLCniJWR_0I731_y580FuRNkfNoDtX_maQCD1o83auebmQHwDqCJC-fnSGBk6R1RdsJWbDekK5-gq7nV78tas-8Ie6ipv2Ty75ws7jdYXSOYxB78hEM2hOLTwRysiFPdGsbttADvttxioUb_O3mFSVqDm7rn6yX355iaw1kJKsJPLCNKKrCfT1hyeN0lm5rDxyuvn587cCpJSCyrNmDBuE_r51tzK0FpGiAAR5jlXZbeFb1wSxlxxNP1NLmkeZXUGHVWpXJfcpe9nnNIX0XJ5jWVB4PWZ_3-kg68vpl3T_PIiRD0kSd5TgwguCr4knKgET3AZboftadrmxhdwvKkVMsXpU45LHKhgcpbxBCGwvw4r4tIUbqMXONqM6rvXxF0tEGmdewxoM52t1l4Iqbln9x2MbIAEqCXVzLXdlc3QtMjCPBA.m3u8 -c copy -f mpegts 'file:HasanAbi (live) 2022-07-05 19_02 [40947204795].mp4.part'
ffmpeg version 4.2.7-0ubuntu0.1 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
  configuration: --prefix=/usr --extra-version=0ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  WARNING: library configuration mismatch
  avcodec     configuration: --prefix=/usr --extra-version=0ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared --enable-version3 --disable-doc --disable-programs --enable-libaribb24 --enable-liblensfun --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libtesseract --enable-libvo_amrwbenc
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
[tcp @ 0x5614b71a8100] Starting connection attempt to 52.223.241.15 port 443
[tcp @ 0x5614b71a8100] Successfully connected to 52.223.241.15 port 443
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-VERSION:3')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-TWITCH-ELAPSED-SECS:19088.000')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-TWITCH-TOTAL-SECS:19094.006')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-START:TIME-OFFSET=0.000')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-DATERANGE:ID="stitched-ad-1657065717-15049999993",CLASS="twitch-stitched-ad",START-DATE="2022-07-06T00:01:57.093Z",DURATION=15.050,X-TV-TWITCH-AD-URL="https://help.twitch.tv/",X-TV-TWITCH-AD-CLICK-BEACON-ID="click59d93d0e-639f-4184-a199-3c46ba041630",X-TV-TWITCH-AD-CREATIVE-ID="2474283100401",X-TV-TWITCH-AD-LINE-ITEM-ID="2379251610201",X-TV-TWITCH-AD-CLICK-TRACKING-URL="https://example.com",X-TV-TWITCH-AD-POD-LENGTH="1",X-TV-TWITCH-AD-ROLL-TYPE="PREROLL",X-TV-TWITCH-AD-AD-SESSION-ID="de84fefa5c3f442b8cb4194e0d65142d",X-TV-TWITCH-AD-ADVERTISER-ID="5778044420701",X-TV-TWITCH-AD-ORDER-ID="7351234567890",X-TV-TWITCH-AD-LOUDNESS="-90.000000",X-TV-TWITCH-AD-POD-POSITION="0",X-TV-TWITCH-AD-RADS-TOKEN="eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJicm9hZGNhc3RlciI6IjIwNzgxMzM1MiIsInZpZXdlciI6IiIsInNlc3Npb24iOiJkZTg0ZmVmYTVjM2Y0NDJiOGNiNDE5NGUwZDY1MTQyZCIsInZpZGVvX3Nlc3Npb25faWQiOiI0ODk2MDM3OTQxMzQ3OTc4NDEiLCJwbGF0Zm9ybV90eXBlIjoiV0VCIiwiZHVyYXRpb24iOjMwLCJpc192bG0iOmZhbHNlLCJpc19zdGl0Y2hlZCI6dHJ1ZSwiaWF0IjoxNjU3MDY1NzIzLCJpc3MiOiJHcmFuZERBZHMifQ.vk94hV_fQmYgcfuSL7cvL_2K_N-jrVw7YrJuC8_F1dVj7e_Q_oalyqmi5ImKuuZ0Q3t05hpEBYE3_vQaBBxI1Q",X-TV-TWITCH-AD-AD-FORMAT="standard_video_ad"')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-DATERANGE:ID="source-1657065717",CLASS="twitch-stream-source",START-DATE="2022-07-06T00:01:57.093Z",END-ON-NEXT=YES,X-TV-TWITCH-STREAM-SOURCE="Amazon|2474283100401"')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-DATERANGE:ID="trigger-1657065717",CLASS="twitch-trigger",START-DATE="2022-07-06T00:01:57.093Z",END-ON-NEXT=YES,X-TV-TWITCH-TRIGGER-URL="https://video-weaver.dfw02.hls.ttvnw.net/trigger/CqkEEFi7-nuhPilFOswx83Ox6fEac1gS2amSm_xCzGoxkIfEoiG1md2hynPJftFjGw8_gJjL091ACzO70rc4R_BTTzW90bTu5XJ4piUuRcgixzw9UpmlMtAYu2F6lJoGZUxXqCT3kjYJe-T--dnhMTZhqNhFfOzR_Nc4k20G6GUvdSAQ_72jUOLDQaxCEqSnUCfwx_cOGYpq5MMGF3hyJIyQohhCxfaHkhCwlO5crRA6jAHUQpUfZjiXGhuANJ-ZWT8_1hYVknAzlqs1un475zcJ9IRGN3Wc3kRN9ccbYdQtM3QxxRJAytVhRt9tgsd-yudHSCTgc5j8cSqQp_7NpPb6g5GOEooyIwtPbRaWDLcZcylaFIPNSZPLKnnuYvahRgReH8RjtoYHOQXYEeAjWux5PBVbCA0Ca6zFIFx6cl5e0uG0cvx37h_jJIt56aYVd4dk3W7Sj4Eq3ASbwceVEghTIo-LF5uaMUqDXV2zIEO4sMOBQh-szrATUra51EhqRbe6VlgVSp2PLN3yT71_cvJp84YcyAj43PF1eIZLT33AzoJgoXNYq66BcJAeI7dTi5tCUviE3FmIckN_tY88mGtRRcYlCb0dNHsjP53EHuoxFi-IFCkXzqJ47rIhSEfmq7QnpeiGQ_zNu_4MQ_9G2CYGiVWcW-UoZA3bUswz0t9vdtqIuW80roLpJ5LES4fRyBquIFS17VUdFGRxqejf2L-gUwVgJ6oCouZ5rRoM52t1l4Iqbln9x2MbIAEqCXVzLXdlc3QtMjCQBA"')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-DATERANGE:ID="quartile-1657065717-0",CLASS="twitch-ad-quartile",START-DATE="2022-07-06T00:01:57.093Z",DURATION=2.002,X-TV-TWITCH-AD-QUARTILE="0"')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-DISCONTINUITY')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2022-07-06T00:01:57.093Z')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-DATERANGE:ID="quartile-1657065719-1",CLASS="twitch-ad-quartile",START-DATE="2022-07-06T00:01:59.094Z",DURATION=2.002,X-TV-TWITCH-AD-QUARTILE="1"')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2022-07-06T00:01:59.094Z')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2022-07-06T00:02:01.096Z')
[hls @ 0x5614b71a47c0] HLS request for url 'https://video-edge-c2ab04.dfw02.abs.hls.ttvnw.net/v1/segment/CoIFs1SGZYrq1TdYzXNyLVHvLUb8k504O3oLjutfiz-ycZLjr_6osdC504-qY45veb0U6SJmlI3GQUzwWnbTI5Fcxd8TowYplAlnbaL6Pb-f7sDygTsiH-V823_fJC1stnHniHiE-uQxSzlJwMMcVk5wzx3OEdujR9LEXp7Ie5JTn9ECQ4jny0FjCmacmvNLT1zyOmJSygo-HmMDqUmV8mW2BLMBbkSrPouFl2-vGbhgLAfkfHPXTrixGKe5UAzqT3Z2MzzEj2rgQIgC-ZnxN29H6JTOhYHv6Ta-KaGbWDnyymgkaEod3fcta1xcV7Ndg-i42wQyV9Hz6e_iOPKZ5PAjY1EMESc5qWGu-Z3oqg7u_Cv_2Qd2Um8u0j_na1L8TQP7hF9n3mQzSg2CwKQg-qetd3WMlYU-h8ocy4FiC2C222rjVd3CvxyPjYJeXfRTUOrOY5U5EM7hEBfnWQitWfvyHrt8x7LFOOuPhh6qChdK8DX4yEXPI5XBK_4nWxyylTyIKKU3wXU1jJiAzef1aOFeSNKF03PkneswzXDs3S2jW-FofJ_gn7xAPBnDhyRS--OVPdxsoms4tHixgejHNyzzUGV04rt7M3iiQGNJyeLB6XIIARwo0h2BjxcgvMt8Hra2UO-Z84mQz3UURyKo5VHZN0Clo6fDygjCvBnz-Cj3NI9h_qCKoHRqtxi4A4AiwzXZkR2yDc83tFe118alMBJb8Ov_Qs4ZTZjY2S9ToO-S9gYyPGMZU7R2ZntjzRFfx7yO247viWUzY2Rpsd17aquMmfWkyG3m6uWoKKlTTHDXGQeiog-fIDCaLmup-t2YhsiPv-sxvmIwwgo3GxKsaiFl0zPHGgxI4TCO84cygUybRh8gASoJdXMtd2VzdC0yMJAE.ts', offset 0, playlist 0
[hls @ 0x5614b71a47c0] Opening 'https://video-edge-c2ab04.dfw02.abs.hls.ttvnw.net/v1/segment/CoIFs1SGZYrq1TdYzXNyLVHvLUb8k504O3oLjutfiz-ycZLjr_6osdC504-qY45veb0U6SJmlI3GQUzwWnbTI5Fcxd8TowYplAlnbaL6Pb-f7sDygTsiH-V823_fJC1stnHniHiE-uQxSzlJwMMcVk5wzx3OEdujR9LEXp7Ie5JTn9ECQ4jny0FjCmacmvNLT1zyOmJSygo-HmMDqUmV8mW2BLMBbkSrPouFl2-vGbhgLAfkfHPXTrixGKe5UAzqT3Z2MzzEj2rgQIgC-ZnxN29H6JTOhYHv6Ta-KaGbWDnyymgkaEod3fcta1xcV7Ndg-i42wQyV9Hz6e_iOPKZ5PAjY1EMESc5qWGu-Z3oqg7u_Cv_2Qd2Um8u0j_na1L8TQP7hF9n3mQzSg2CwKQg-qetd3WMlYU-h8ocy4FiC2C222rjVd3CvxyPjYJeXfRTUOrOY5U5EM7hEBfnWQitWfvyHrt8x7LFOOuPhh6qChdK8DX4yEXPI5XBK_4nWxyylTyIKKU3wXU1jJiAzef1aOFeSNKF03PkneswzXDs3S2jW-FofJ_gn7xAPBnDhyRS--OVPdxsoms4tHixgejHNyzzUGV04rt7M3iiQGNJyeLB6XIIARwo0h2BjxcgvMt8Hra2UO-Z84mQz3UURyKo5VHZN0Clo6fDygjCvBnz-Cj3NI9h_qCKoHRqtxi4A4AiwzXZkR2yDc83tFe118alMBJb8Ov_Qs4ZTZjY2S9ToO-S9gYyPGMZU7R2ZntjzRFfx7yO247viWUzY2Rpsd17aquMmfWkyG3m6uWoKKlTTHDXGQeiog-fIDCaLmup-t2YhsiPv-sxvmIwwgo3GxKsaiFl0zPHGgxI4TCO84cygUybRh8gASoJdXMtd2VzdC0yMJAE.ts' for reading
[tcp @ 0x5614b746cc00] Starting connection attempt to 52.223.244.254 port 443
[tcp @ 0x5614b746cc00] Successfully connected to 52.223.244.254 port 443
[hls @ 0x5614b71a47c0] HLS request for url 'https://video-edge-c2ab04.dfw02.abs.hls.ttvnw.net/v1/segment/CoQFkal5INnZ4wAfX-wfEQVayDQ_19quoRpQyLdzwbIBdo8bRFA8qnq8BWtGr5TYNcBF7lR8EHHDM8Vrx3fdvxSMQCQUUU19DfphUa_4Be1YEEjrh7lENpUe5AazZuLMvorGJXcg_rYfDHRB98Xu6nvKW3vQ34y_gH2NZ0MOdD-PlIdjxJFLvIh9uNn-GAEoSvvpUkORfqLT1dfFTb1BThCbIy_u_tjV3nylQmgSLLehLRmt_Xdk7Fw7yMiCsq9-OJyClPUzJ7B85-eyWF7JB0EDsfQCaE_6fn6Jlj_ttxgUohZLvGf5GxIFp-ueORlZG-_J1c4JHzTuVL-PnwJh3M3p6y-tMe__8ZHW3HKeBXqNOV1PvRqpP5fgnIRMpQn0qXFeMpBqrXNDZYR7RItv1uPQYKLeXCtE4JzXJh2yb6izhB2JGAbDvck-Pgs75cT3XDuu93mjXqxLHp_YCUdMAAL86cF8zgcB7jE_nzgqTvhlKDI_VQj6noCCTE3rfvY149QK7JHIcqjTLF0drS9ntWUlbdmd5whWDwuwkheP3GlbJCn-cTrq_K1NNpX3rrtPriGgIk4Dj3sW0SyNB9_GNMFqjSPEqRi4g7mWiWx3ZYIMRm1yn3zLd-b2-UdYoM8uaeOOtNYBjITDYuLJAK_vEjIsxAz_r4P61M6D3bkD0IgaPWbCORxsMh2B555cjsBLsnzdR4o9Mt2U9p8A5KuLNQ59v4wCaLawZCWXmZuIb500H5T_YZd2YERFDF_u2WifGv9BoMb1s5iX7dENpe2YYqFjk19t_S36Y9igesGI86J4T6cvZkRJ8Mo8q9Z_PTV5yFEbd2cfuQyLrEx8SRwIka_zHes0dsAaDHvgh2WQ_Ld-_3xA2yABKgl1cy13ZXN0LTIwkAQ.ts', offset 0, playlist 0
[hls @ 0x5614b71a47c0] Opening 'https://video-edge-c2ab04.dfw02.abs.hls.ttvnw.net/v1/segment/CoQFkal5INnZ4wAfX-wfEQVayDQ_19quoRpQyLdzwbIBdo8bRFA8qnq8BWtGr5TYNcBF7lR8EHHDM8Vrx3fdvxSMQCQUUU19DfphUa_4Be1YEEjrh7lENpUe5AazZuLMvorGJXcg_rYfDHRB98Xu6nvKW3vQ34y_gH2NZ0MOdD-PlIdjxJFLvIh9uNn-GAEoSvvpUkORfqLT1dfFTb1BThCbIy_u_tjV3nylQmgSLLehLRmt_Xdk7Fw7yMiCsq9-OJyClPUzJ7B85-eyWF7JB0EDsfQCaE_6fn6Jlj_ttxgUohZLvGf5GxIFp-ueORlZG-_J1c4JHzTuVL-PnwJh3M3p6y-tMe__8ZHW3HKeBXqNOV1PvRqpP5fgnIRMpQn0qXFeMpBqrXNDZYR7RItv1uPQYKLeXCtE4JzXJh2yb6izhB2JGAbDvck-Pgs75cT3XDuu93mjXqxLHp_YCUdMAAL86cF8zgcB7jE_nzgqTvhlKDI_VQj6noCCTE3rfvY149QK7JHIcqjTLF0drS9ntWUlbdmd5whWDwuwkheP3GlbJCn-cTrq_K1NNpX3rrtPriGgIk4Dj3sW0SyNB9_GNMFqjSPEqRi4g7mWiWx3ZYIMRm1yn3zLd-b2-UdYoM8uaeOOtNYBjITDYuLJAK_vEjIsxAz_r4P61M6D3bkD0IgaPWbCORxsMh2B555cjsBLsnzdR4o9Mt2U9p8A5KuLNQ59v4wCaLawZCWXmZuIb500H5T_YZd2YERFDF_u2WifGv9BoMb1s5iX7dENpe2YYqFjk19t_S36Y9igesGI86J4T6cvZkRJ8Mo8q9Z_PTV5yFEbd2cfuQyLrEx8SRwIka_zHes0dsAaDHvgh2WQ_Ld-_3xA2yABKgl1cy13ZXN0LTIwkAQ.ts' for reading
[tcp @ 0x5614b7281780] Starting connection attempt to 52.223.244.254 port 443
[tcp @ 0x5614b7281780] Successfully connected to 52.223.244.254 port 443
[mpegts @ 0x5614b742b2c0] parser not found for codec timed_id3, packets or times may be invalid.
[h264 @ 0x5614b74d33c0] Reinit context to 1920x1088, pix_fmt: yuv420p
Input #0, hls, from 'https://video-weaver.dfw02.hls.ttvnw.net/v1/playlist/CqkET-dYuXeS6k-BZPh_ztk16MVU795_ZOWo6S3PCGl3wB4GJMgNFSdSpu7y5EniLOAk6Fj5RmFIFlIhnUvYyuA_ACoK7MsC18HgYPlvaAb5cRGc_w38LvLRn0zVGdBMf49lQ2p0IQD38ziVbJNehIGxirjpon2gNMIgst1e7w7m_lvowDLuHFnhq1QrijZnm5pynancX71M4rPbN_Oj1nd3zVEIkjxHMNdEZRLihL4WbNx0rnrVOyZmL9R4q6au-Lx0LrlYuJQcO6EV0gYCEuoYCt60JBrO8JHuVDsTkRHzPnjN0yAnMP7cGhHVxiW8zyqM6vavqdV9ayrypWp0ZkgL7HlUAlHLCniJWR_0I731_y580FuRNkfNoDtX_maQCD1o83auebmQHwDqCJC-fnSGBk6R1RdsJWbDekK5-gq7nV78tas-8Ie6ipv2Ty75ws7jdYXSOYxB78hEM2hOLTwRysiFPdGsbttADvttxioUb_O3mFSVqDm7rn6yX355iaw1kJKsJPLCNKKrCfT1hyeN0lm5rDxyuvn587cCpJSCyrNmDBuE_r51tzK0FpGiAAR5jlXZbeFb1wSxlxxNP1NLmkeZXUGHVWpXJfcpe9nnNIX0XJ5jWVB4PWZ_3-kg68vpl3T_PIiRD0kSd5TgwguCr4knKgET3AZboftadrmxhdwvKkVMsXpU45LHKhgcpbxBCGwvw4r4tIUbqMXONqM6rvXxF0tEGmdewxoM52t1l4Iqbln9x2MbIAEqCXVzLXdlc3QtMjCPBA.m3u8':
  Duration: N/A, start: 60.000000, bitrate: N/A
  Program 0 
    Metadata:
      variant_bitrate : 0
    Stream #0:0: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp
    Metadata:
      variant_bitrate : 0
    Stream #0:1: Video: h264 (Main), 1 reference frame ([27][0][0][0] / 0x001B), yuv420p(tv, unknown/bt709/unknown, left), 1920x1080 (1920x1088), 29.97 tbr, 90k tbn, 2k tbc
    Metadata:
      variant_bitrate : 0
    Stream #0:2: Data: timed_id3 (ID3  / 0x20334449)
    Metadata:
      variant_bitrate : 0
[mpegts @ 0x5614b77abf80] muxrate VBR, pcr every 9000 pkts, sdt every 200, pat/pmt every 40 pkts
Output #0, mpegts, to 'file:HasanAbi (live) 2022-07-05 19_02 [40947204795].mp4.part':
  Metadata:
    encoder         : Lavf58.29.100
    Stream #0:0: Video: h264 (Main), 1 reference frame ([27][0][0][0] / 0x001B), yuv420p(tv, unknown/bt709/unknown, left), 1920x1080 (0x0), q=2-31, 29.97 tbr, 90k tbn, 90k tbc
    Metadata:
      variant_bitrate : 0
    Stream #0:1: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp
    Metadata:
      variant_bitrate : 0
Stream mapping:
  Stream #0:1 -> #0:0 (copy)
  Stream #0:0 -> #0:1 (copy)
Press [q] to stop, [?] for help
[hls @ 0x5614b71a47c0] HLS request for url 'https://video-edge-c2ab04.dfw02.abs.hls.ttvnw.net/v1/segment/CtgEgbv8faJ0c-ScfGiuW0JjiDdPwQXWlV5cLdgTIPT_Ou4cSnLqW_tqJu-2i_Q2pMtvOzPp76Akv7-q21M6hdjf8VtBqLSixWX9egc7xNveaJ0FEyOT7j75qeCHoI9JUNelD103omjGUFaA7DOjsFLq52XR2dyLO9w-vLmHR9eXy6_JGOLQSyzOWKZNO6Y6Mt-Ksq5Zb43BZIfc0V0C4I_fNY2NyY0nXIxR3POjTsMZp1ppjnySDtaBJH_d4_PzWuukzNUAkuFsXkG6GVKGprmKwNq8HW_2JXTB41Hzxwue4fNZwzD7BmKSSJmxEUjums1mjc_ZLcOOtd2w4zpyO0YHjZJK11_c5WhOVafQCD4AOlfhIAhbubne1n0CMVqHgyySuBMiOPTNagP37xe0WxtjgD4y8NWk6etISCVBK8mmA8q5A6uw1vFM-0Emvh2f-5HeqGDQQJJedv6KVtUzWzKaiuFfh3-7BtZWsU0HnavgOMGJuhWivySupnP0psBjCvM0XgelUj9YAWIllSx7TmsBNWrXqJemtBy3MpjurFqPmKbcJhftTU4OinbWtHdr67pXOrHlrjXgDiWi-inLwLWbQVr9HXqE70ff5y6KKVqRbMc4fayuErR9F2RCmvs6Y__1RbDRvSBtHNz98Bh661ghuNq0Oy4NyDBS9rK53iNoTfZLR8sREi85F1nzLtO7OHpLEIk57WaV-yvjieKnhYU4ImbCaG_2YkjKk6I0zEpmfjQDV7ii8VA4LsDNHY1qSSUB1HzVFoUCySOSosWZw4ZrEsMzGJv1pZZiGgzPJKOn9csnQgkH3iEgASoJdXMtd2VzdC0yMJAE.ts', offset 0, playlist 0
[https @ 0x5614b73ffdc0] Opening 'https://video-edge-c2ab04.dfw02.abs.hls.ttvnw.net/v1/segment/CtgEgbv8faJ0c-ScfGiuW0JjiDdPwQXWlV5cLdgTIPT_Ou4cSnLqW_tqJu-2i_Q2pMtvOzPp76Akv7-q21M6hdjf8VtBqLSixWX9egc7xNveaJ0FEyOT7j75qeCHoI9JUNelD103omjGUFaA7DOjsFLq52XR2dyLO9w-vLmHR9eXy6_JGOLQSyzOWKZNO6Y6Mt-Ksq5Zb43BZIfc0V0C4I_fNY2NyY0nXIxR3POjTsMZp1ppjnySDtaBJH_d4_PzWuukzNUAkuFsXkG6GVKGprmKwNq8HW_2JXTB41Hzxwue4fNZwzD7BmKSSJmxEUjums1mjc_ZLcOOtd2w4zpyO0YHjZJK11_c5WhOVafQCD4AOlfhIAhbubne1n0CMVqHgyySuBMiOPTNagP37xe0WxtjgD4y8NWk6etISCVBK8mmA8q5A6uw1vFM-0Emvh2f-5HeqGDQQJJedv6KVtUzWzKaiuFfh3-7BtZWsU0HnavgOMGJuhWivySupnP0psBjCvM0XgelUj9YAWIllSx7TmsBNWrXqJemtBy3MpjurFqPmKbcJhftTU4OinbWtHdr67pXOrHlrjXgDiWi-inLwLWbQVr9HXqE70ff5y6KKVqRbMc4fayuErR9F2RCmvs6Y__1RbDRvSBtHNz98Bh661ghuNq0Oy4NyDBS9rK53iNoTfZLR8sREi85F1nzLtO7OHpLEIk57WaV-yvjieKnhYU4ImbCaG_2YkjKk6I0zEpmfjQDV7ii8VA4LsDNHY1qSSUB1HzVFoUCySOSosWZw4ZrEsMzGJv1pZZiGgzPJKOn9csnQgkH3iEgASoJdXMtd2VzdC0yMJAE.ts' for reading
[tcp @ 0x5614b77c5600] Starting connection attempt to 52.223.241.15 port 443
[tcp @ 0x5614b77c5600] Successfully connected to 52.223.241.15 port 443
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-VERSION:3')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-TWITCH-ELAPSED-SECS:19088.000')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-TWITCH-TOTAL-SECS:19096.008')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-START:TIME-OFFSET=0.000')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-DATERANGE:ID="stitched-ad-1657065717-15049999993",CLASS="twitch-stitched-ad",START-DATE="2022-07-06T00:01:57.093Z",DURATION=15.050,X-TV-TWITCH-AD-URL="https://help.twitch.tv/",X-TV-TWITCH-AD-CREATIVE-ID="2474283100401",X-TV-TWITCH-AD-CLICK-TRACKING-URL="https://example.com",X-TV-TWITCH-AD-ROLL-TYPE="PREROLL",X-TV-TWITCH-AD-CLICK-BEACON-ID="click59d93d0e-639f-4184-a199-3c46ba041630",X-TV-TWITCH-AD-ADVERTISER-ID="5778044420701",X-TV-TWITCH-AD-AD-FORMAT="standard_video_ad",X-TV-TWITCH-AD-LOUDNESS="-90.000000",X-TV-TWITCH-AD-POD-LENGTH="1",X-TV-TWITCH-AD-ORDER-ID="7351234567890",X-TV-TWITCH-AD-LINE-ITEM-ID="2379251610201",X-TV-TWITCH-AD-POD-POSITION="0",X-TV-TWITCH-AD-RADS-TOKEN="eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJicm9hZGNhc3RlciI6IjIwNzgxMzM1MiIsInZpZXdlciI6IiIsInNlc3Npb24iOiJkZTg0ZmVmYTVjM2Y0NDJiOGNiNDE5NGUwZDY1MTQyZCIsInZpZGVvX3Nlc3Npb25faWQiOiI0ODk2MDM3OTQxMzQ3OTc4NDEiLCJwbGF0Zm9ybV90eXBlIjoiV0VCIiwiZHVyYXRpb24iOjMwLCJpc192bG0iOmZhbHNlLCJpc19zdGl0Y2hlZCI6dHJ1ZSwiaWF0IjoxNjU3MDY1NzIzLCJpc3MiOiJHcmFuZERBZHMifQ.vk94hV_fQmYgcfuSL7cvL_2K_N-jrVw7YrJuC8_F1dVj7e_Q_oalyqmi5ImKuuZ0Q3t05hpEBYE3_vQaBBxI1Q",X-TV-TWITCH-AD-AD-SESSION-ID="de84fefa5c3f442b8cb4194e0d65142d"')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-DATERANGE:ID="source-1657065717",CLASS="twitch-stream-source",START-DATE="2022-07-06T00:01:57.093Z",END-ON-NEXT=YES,X-TV-TWITCH-STREAM-SOURCE="Amazon|2474283100401"')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-DATERANGE:ID="trigger-1657065717",CLASS="twitch-trigger",START-DATE="2022-07-06T00:01:57.093Z",END-ON-NEXT=YES,X-TV-TWITCH-TRIGGER-URL="https://video-weaver.dfw02.hls.ttvnw.net/trigger/CqkEEFi7-nuhPilFOswx83Ox6fEac1gS2amSm_xCzGoxkIfEoiG1md2hynPJftFjGw8_gJjL091ACzO70rc4R_BTTzW90bTu5XJ4piUuRcgixzw9UpmlMtAYu2F6lJoGZUxXqCT3kjYJe-T--dnhMTZhqNhFfOzR_Nc4k20G6GUvdSAQ_72jUOLDQaxCEqSnUCfwx_cOGYpq5MMGF3hyJIyQohhCxfaHkhCwlO5crRA6jAHUQpUfZjiXGhuANJ-ZWT8_1hYVknAzlqs1un475zcJ9IRGN3Wc3kRN9ccbYdQtM3QxxRJAytVhRt9tgsd-yudHSCTgc5j8cSqQp_7NpPb6g5GOEooyIwtPbRaWDLcZcylaFIPNSZPLKnnuYvahRgReH8RjtoYHOQXYEeAjWux5PBVbCA0Ca6zFIFx6cl5e0uG0cvx37h_jJIt56aYVd4dk3W7Sj4Eq3ASbwceVEghTIo-LF5uaMUqDXV2zIEO4sMOBQh-szrATUra51EhqRbe6VlgVSp2PLN3yT71_cvJp84YcyAj43PF1eIZLT33AzoJgoXNYq66BcJAeI7dTi5tCUviE3FmIckN_tY88mGtRRcYlCb0dNHsjP53EHuoxFi-IFCkXzqJ47rIhSEfmq7QnpeiGQ_zNu_4MQ_9G2CYGiVWcW-UoZA3bUswz0t9vdtqIuW80roLpJ5LES4fRyBquIFS17VUdFGRxqejf2L-gUwVgJ6oCouZ5rRoM52t1l4Iqbln9x2MbIAEqCXVzLXdlc3QtMjCQBA"')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-DATERANGE:ID="quartile-1657065717-0",CLASS="twitch-ad-quartile",START-DATE="2022-07-06T00:01:57.093Z",DURATION=2.002,X-TV-TWITCH-AD-QUARTILE="0"')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-DISCONTINUITY')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2022-07-06T00:01:57.093Z')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-DATERANGE:ID="quartile-1657065719-1",CLASS="twitch-ad-quartile",START-DATE="2022-07-06T00:01:59.094Z",DURATION=2.002,X-TV-TWITCH-AD-QUARTILE="1"')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2022-07-06T00:01:59.094Z')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2022-07-06T00:02:01.096Z')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-DATERANGE:ID="quartile-1657065723-2",CLASS="twitch-ad-quartile",START-DATE="2022-07-06T00:02:03.098Z",DURATION=2.002,X-TV-TWITCH-AD-QUARTILE="2"')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2022-07-06T00:02:03.098Z')
[hls @ 0x5614b71a47c0] HLS request for url 'https://video-edge-c2ab04.dfw02.abs.hls.ttvnw.net/v1/segment/CocFZGQ_PTTjt8o72bksIB-LQc2pGA-ksjR4OQuoD3qTbUQywqbB4bLFBmIbCQLTVRv5EtEqNqmGyrSfhLuSukQqZRlk80OYWLUPszFYAVvITennz6VXY3WcaWpleT0BRn1QAXx2yKghpSyo3v8xQ0y0vSBhbQE-X5JHo1tUtasB9iZCxbzTSdDDFi4optSDeCuI6gI4Tt3m68QlH92GPeXQeLPgaORBhOzc5jK4rIhD3OT138NloIfgOVI0ls9XBu1gNCo8BAQA7ZnzOMiQDcrfI-8H4n0-vJIyGuMys8i1z5pcN_ocA5k1B1mmAT5Vf1_dD2GAlKPCY0DT83BVHilJ2vHhzZooWrJB2nhwBUfqEbLJ2MWwu749n8UDXEvyCrds6FSEFJZnTNS6QnzwzDwvAZn2CZZC1gGy2uiVNXqntd8RTXUpOgjxFn8xaHxBlCg-WQAfCj3DwAPH1lHszrMezkxBQsmM9Gnkotqi7eSBAtThTmtaXdrJms7vXV6z6amUwvCygY7J8kUdj707xvT4sWea6_odDqRm0G8MJ-IbHcfGWRFjEI1iPaNx56HOHEJpd3vrY-7kUhJOWhPlFONxQbXVJmiJ4UzZI4UqoFBz3zKXgNawMSXMPVLnh-4R_qhgJeDep2CYUzFXYzMJEkyetVARGnhV1q-zhGUrtu-BZsz_Y7aPmBITk3KOrjDTeXuGsfK4qeH3uai10TrEIzwBPe_NCG4uEcDabBe19q03EfpkDwKDOvN_3u_iPiq1QDFDPy26ZuiBYG8l9P7DnF6fuXG4q-Y1IhExHCFgCCz0gJm3ENDvd5APdjUbGsEIhQgEvn4Ietuukx_Ez2OFLlOy-sebZmmKTzAaDI_kQnfvj0hCtCfBXSABKgl1cy13ZXN0LTIwkAQ.ts', offset 0, playlist 0
[https @ 0x5614b73ffdc0] Opening 'https://video-edge-c2ab04.dfw02.abs.hls.ttvnw.net/v1/segment/CocFZGQ_PTTjt8o72bksIB-LQc2pGA-ksjR4OQuoD3qTbUQywqbB4bLFBmIbCQLTVRv5EtEqNqmGyrSfhLuSukQqZRlk80OYWLUPszFYAVvITennz6VXY3WcaWpleT0BRn1QAXx2yKghpSyo3v8xQ0y0vSBhbQE-X5JHo1tUtasB9iZCxbzTSdDDFi4optSDeCuI6gI4Tt3m68QlH92GPeXQeLPgaORBhOzc5jK4rIhD3OT138NloIfgOVI0ls9XBu1gNCo8BAQA7ZnzOMiQDcrfI-8H4n0-vJIyGuMys8i1z5pcN_ocA5k1B1mmAT5Vf1_dD2GAlKPCY0DT83BVHilJ2vHhzZooWrJB2nhwBUfqEbLJ2MWwu749n8UDXEvyCrds6FSEFJZnTNS6QnzwzDwvAZn2CZZC1gGy2uiVNXqntd8RTXUpOgjxFn8xaHxBlCg-WQAfCj3DwAPH1lHszrMezkxBQsmM9Gnkotqi7eSBAtThTmtaXdrJms7vXV6z6amUwvCygY7J8kUdj707xvT4sWea6_odDqRm0G8MJ-IbHcfGWRFjEI1iPaNx56HOHEJpd3vrY-7kUhJOWhPlFONxQbXVJmiJ4UzZI4UqoFBz3zKXgNawMSXMPVLnh-4R_qhgJeDep2CYUzFXYzMJEkyetVARGnhV1q-zhGUrtu-BZsz_Y7aPmBITk3KOrjDTeXuGsfK4qeH3uai10TrEIzwBPe_NCG4uEcDabBe19q03EfpkDwKDOvN_3u_iPiq1QDFDPy26ZuiBYG8l9P7DnF6fuXG4q-Y1IhExHCFgCCz0gJm3ENDvd5APdjUbGsEIhQgEvn4Ietuukx_Ez2OFLlOy-sebZmmKTzAaDI_kQnfvj0hCtCfBXSABKgl1cy13ZXN0LTIwkAQ.ts' for reading
[https @ 0x5614b77c3b40] Opening 'https://video-weaver.dfw02.hls.ttvnw.net/v1/playlist/CqkET-dYuXeS6k-BZPh_ztk16MVU795_ZOWo6S3PCGl3wB4GJMgNFSdSpu7y5EniLOAk6Fj5RmFIFlIhnUvYyuA_ACoK7MsC18HgYPlvaAb5cRGc_w38LvLRn0zVGdBMf49lQ2p0IQD38ziVbJNehIGxirjpon2gNMIgst1e7w7m_lvowDLuHFnhq1QrijZnm5pynancX71M4rPbN_Oj1nd3zVEIkjxHMNdEZRLihL4WbNx0rnrVOyZmL9R4q6au-Lx0LrlYuJQcO6EV0gYCEuoYCt60JBrO8JHuVDsTkRHzPnjN0yAnMP7cGhHVxiW8zyqM6vavqdV9ayrypWp0ZkgL7HlUAlHLCniJWR_0I731_y580FuRNkfNoDtX_maQCD1o83auebmQHwDqCJC-fnSGBk6R1RdsJWbDekK5-gq7nV78tas-8Ie6ipv2Ty75ws7jdYXSOYxB78hEM2hOLTwRysiFPdGsbttADvttxioUb_O3mFSVqDm7rn6yX355iaw1kJKsJPLCNKKrCfT1hyeN0lm5rDxyuvn587cCpJSCyrNmDBuE_r51tzK0FpGiAAR5jlXZbeFb1wSxlxxNP1NLmkeZXUGHVWpXJfcpe9nnNIX0XJ5jWVB4PWZ_3-kg68vpl3T_PIiRD0kSd5TgwguCr4knKgET3AZboftadrmxhdwvKkVMsXpU45LHKhgcpbxBCGwvw4r4tIUbqMXONqM6rvXxF0tEGmdewxoM52t1l4Iqbln9x2MbIAEqCXVzLXdlc3QtMjCPBA.m3u8' for reading
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-VERSION:3')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-TWITCH-ELAPSED-SECS:19088.000')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-TWITCH-TOTAL-SECS:19098.010')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-START:TIME-OFFSET=0.000')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-DATERANGE:ID="stitched-ad-1657065717-15049999993",CLASS="twitch-stitched-ad",START-DATE="2022-07-06T00:01:57.093Z",DURATION=15.050,X-TV-TWITCH-AD-RADS-TOKEN="eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJicm9hZGNhc3RlciI6IjIwNzgxMzM1MiIsInZpZXdlciI6IiIsInNlc3Npb24iOiJkZTg0ZmVmYTVjM2Y0NDJiOGNiNDE5NGUwZDY1MTQyZCIsInZpZGVvX3Nlc3Npb25faWQiOiI0ODk2MDM3OTQxMzQ3OTc4NDEiLCJwbGF0Zm9ybV90eXBlIjoiV0VCIiwiZHVyYXRpb24iOjMwLCJpc192bG0iOmZhbHNlLCJpc19zdGl0Y2hlZCI6dHJ1ZSwiaWF0IjoxNjU3MDY1NzIzLCJpc3MiOiJHcmFuZERBZHMifQ.vk94hV_fQmYgcfuSL7cvL_2K_N-jrVw7YrJuC8_F1dVj7e_Q_oalyqmi5ImKuuZ0Q3t05hpEBYE3_vQaBBxI1Q",X-TV-TWITCH-AD-LINE-ITEM-ID="2379251610201",X-TV-TWITCH-AD-ORDER-ID="7351234567890",X-TV-TWITCH-AD-CLICK-TRACKING-URL="https://example.com",X-TV-TWITCH-AD-LOUDNESS="-90.000000",X-TV-TWITCH-AD-POD-POSITION="0",X-TV-TWITCH-AD-CLICK-BEACON-ID="click59d93d0e-639f-4184-a199-3c46ba041630",X-TV-TWITCH-AD-POD-LENGTH="1",X-TV-TWITCH-AD-URL="https://help.twitch.tv/",X-TV-TWITCH-AD-ADVERTISER-ID="5778044420701",X-TV-TWITCH-AD-CREATIVE-ID="2474283100401",X-TV-TWITCH-AD-AD-FORMAT="standard_video_ad",X-TV-TWITCH-AD-ROLL-TYPE="PREROLL",X-TV-TWITCH-AD-AD-SESSION-ID="de84fefa5c3f442b8cb4194e0d65142d"')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-DATERANGE:ID="source-1657065717",CLASS="twitch-stream-source",START-DATE="2022-07-06T00:01:57.093Z",END-ON-NEXT=YES,X-TV-TWITCH-STREAM-SOURCE="Amazon|2474283100401"')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-DATERANGE:ID="trigger-1657065717",CLASS="twitch-trigger",START-DATE="2022-07-06T00:01:57.093Z",END-ON-NEXT=YES,X-TV-TWITCH-TRIGGER-URL="https://video-weaver.dfw02.hls.ttvnw.net/trigger/CqkEEFi7-nuhPilFOswx83Ox6fEac1gS2amSm_xCzGoxkIfEoiG1md2hynPJftFjGw8_gJjL091ACzO70rc4R_BTTzW90bTu5XJ4piUuRcgixzw9UpmlMtAYu2F6lJoGZUxXqCT3kjYJe-T--dnhMTZhqNhFfOzR_Nc4k20G6GUvdSAQ_72jUOLDQaxCEqSnUCfwx_cOGYpq5MMGF3hyJIyQohhCxfaHkhCwlO5crRA6jAHUQpUfZjiXGhuANJ-ZWT8_1hYVknAzlqs1un475zcJ9IRGN3Wc3kRN9ccbYdQtM3QxxRJAytVhRt9tgsd-yudHSCTgc5j8cSqQp_7NpPb6g5GOEooyIwtPbRaWDLcZcylaFIPNSZPLKnnuYvahRgReH8RjtoYHOQXYEeAjWux5PBVbCA0Ca6zFIFx6cl5e0uG0cvx37h_jJIt56aYVd4dk3W7Sj4Eq3ASbwceVEghTIo-LF5uaMUqDXV2zIEO4sMOBQh-szrATUra51EhqRbe6VlgVSp2PLN3yT71_cvJp84YcyAj43PF1eIZLT33AzoJgoXNYq66BcJAeI7dTi5tCUviE3FmIckN_tY88mGtRRcYlCb0dNHsjP53EHuoxFi-IFCkXzqJ47rIhSEfmq7QnpeiGQ_zNu_4MQ_9G2CYGiVWcW-UoZA3bUswz0t9vdtqIuW80roLpJ5LES4fRyBquIFS17VUdFGRxqejf2L-gUwVgJ6oCouZ5rRoM52t1l4Iqbln9x2MbIAEqCXVzLXdlc3QtMjCQBA"')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-DATERANGE:ID="quartile-1657065717-0",CLASS="twitch-ad-quartile",START-DATE="2022-07-06T00:01:57.093Z",DURATION=2.002,X-TV-TWITCH-AD-QUARTILE="0"')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-DISCONTINUITY')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2022-07-06T00:01:57.093Z')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-DATERANGE:ID="quartile-1657065719-1",CLASS="twitch-ad-quartile",START-DATE="2022-07-06T00:01:59.094Z",DURATION=2.002,X-TV-TWITCH-AD-QUARTILE="1"')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2022-07-06T00:01:59.094Z')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2022-07-06T00:02:01.096Z')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-DATERANGE:ID="quartile-1657065723-2",CLASS="twitch-ad-quartile",START-DATE="2022-07-06T00:02:03.098Z",DURATION=2.002,X-TV-TWITCH-AD-QUARTILE="2"')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2022-07-06T00:02:03.098Z')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2022-07-06T00:02:05.100Z')


(cut)


[hls @ 0x5614b71a47c0] HLS request for url 'https://video-edge-c2ab04.dfw02.abs.hls.ttvnw.net/v1/segment/CugEGSuT42Yfd0EcsGq2rW0Qq4ikLh_Y_BMX3bsswiJCpqkZNa65fwPdIayWXVHf3Xy4YYbAJn4R9O6V-YQ9JD5pTuBHROYyKBeyN5lfSABsVTzsEe2Qi7t2E0zRRc6RSTdp_GaSUm_mOoyNbvr-9yuJ333HCKeH14a3OxSNetYa9ufbwz-2QHrkNhktMlUwv9lS4OWlB1R1wp4aY-BOXgAngJzAryWPPSGsFTOoWuvoloV9wNZihYw9mSM0t36XeRwIskbBK0RmDHDw3EAVqhB73qRzZKodTrivjt-nVIVeTo46lCVy--lSCWuAfcO55bu9g0HwckcrCnI00EJ74wzSLB46cgtTaA9I4KNC6Mtod2t7xxsnlf_quSDaqTRkAEdWcUwuyGgxOD7yN79szCVB3Q3RiDyiFKCEYK2pQHRXpAW9H0KBVktksW72Kl82r4Uy-fe7-XRl1RZRvGIc158IFu7GUz9JvMSyaAm5k4ZkBUT8kGcFR-fZjYEUeKpuwRR0xmAJgUigSjJDTfg2jv6itH3gB0dPUhXm6hvWZS2Qc2BlYZBpRARkrfyosfbatCKwbGxBa0g0Att9Spx0zjqbYjPtbn0fpm_RCwuPeFaq6YQKGjG_WNjf9TOGBNYTZsrY3vgI_Q48i2o3_76KUeDKcpX4_9Ea3SB7WxfhNmW7blqIBZCbVWIJ7PdyF9_d9ash3773gJmmnPbwzF8lv1cjPxbDDGThJ_b2CAtG8DSZKAJPQS3TXvLXAKd8Sng1ldbp3fV9MZFbg0oy097sq9e41t7aPIdB1MRMFSEf6Kt5x961r1DjN4zHBhoM-RbSCrNrYA7Y4301IAEqCXVzLXdlc3QtMjCQBA.ts', offset 0, playlist 0
[https @ 0x5614b73ffdc0] Opening 'https://video-edge-c2ab04.dfw02.abs.hls.ttvnw.net/v1/segment/CugEGSuT42Yfd0EcsGq2rW0Qq4ikLh_Y_BMX3bsswiJCpqkZNa65fwPdIayWXVHf3Xy4YYbAJn4R9O6V-YQ9JD5pTuBHROYyKBeyN5lfSABsVTzsEe2Qi7t2E0zRRc6RSTdp_GaSUm_mOoyNbvr-9yuJ333HCKeH14a3OxSNetYa9ufbwz-2QHrkNhktMlUwv9lS4OWlB1R1wp4aY-BOXgAngJzAryWPPSGsFTOoWuvoloV9wNZihYw9mSM0t36XeRwIskbBK0RmDHDw3EAVqhB73qRzZKodTrivjt-nVIVeTo46lCVy--lSCWuAfcO55bu9g0HwckcrCnI00EJ74wzSLB46cgtTaA9I4KNC6Mtod2t7xxsnlf_quSDaqTRkAEdWcUwuyGgxOD7yN79szCVB3Q3RiDyiFKCEYK2pQHRXpAW9H0KBVktksW72Kl82r4Uy-fe7-XRl1RZRvGIc158IFu7GUz9JvMSyaAm5k4ZkBUT8kGcFR-fZjYEUeKpuwRR0xmAJgUigSjJDTfg2jv6itH3gB0dPUhXm6hvWZS2Qc2BlYZBpRARkrfyosfbatCKwbGxBa0g0Att9Spx0zjqbYjPtbn0fpm_RCwuPeFaq6YQKGjG_WNjf9TOGBNYTZsrY3vgI_Q48i2o3_76KUeDKcpX4_9Ea3SB7WxfhNmW7blqIBZCbVWIJ7PdyF9_d9ash3773gJmmnPbwzF8lv1cjPxbDDGThJ_b2CAtG8DSZKAJPQS3TXvLXAKd8Sng1ldbp3fV9MZFbg0oy097sq9e41t7aPIdB1MRMFSEf6Kt5x961r1DjN4zHBhoM-RbSCrNrYA7Y4301IAEqCXVzLXdlc3QtMjCQBA.ts' for reading
[https @ 0x5614b77c3b40] Opening 'https://video-weaver.dfw02.hls.ttvnw.net/v1/playlist/CqkET-dYuXeS6k-BZPh_ztk16MVU795_ZOWo6S3PCGl3wB4GJMgNFSdSpu7y5EniLOAk6Fj5RmFIFlIhnUvYyuA_ACoK7MsC18HgYPlvaAb5cRGc_w38LvLRn0zVGdBMf49lQ2p0IQD38ziVbJNehIGxirjpon2gNMIgst1e7w7m_lvowDLuHFnhq1QrijZnm5pynancX71M4rPbN_Oj1nd3zVEIkjxHMNdEZRLihL4WbNx0rnrVOyZmL9R4q6au-Lx0LrlYuJQcO6EV0gYCEuoYCt60JBrO8JHuVDsTkRHzPnjN0yAnMP7cGhHVxiW8zyqM6vavqdV9ayrypWp0ZkgL7HlUAlHLCniJWR_0I731_y580FuRNkfNoDtX_maQCD1o83auebmQHwDqCJC-fnSGBk6R1RdsJWbDekK5-gq7nV78tas-8Ie6ipv2Ty75ws7jdYXSOYxB78hEM2hOLTwRysiFPdGsbttADvttxioUb_O3mFSVqDm7rn6yX355iaw1kJKsJPLCNKKrCfT1hyeN0lm5rDxyuvn587cCpJSCyrNmDBuE_r51tzK0FpGiAAR5jlXZbeFb1wSxlxxNP1NLmkeZXUGHVWpXJfcpe9nnNIX0XJ5jWVB4PWZ_3-kg68vpl3T_PIiRD0kSd5TgwguCr4knKgET3AZboftadrmxhdwvKkVMsXpU45LHKhgcpbxBCGwvw4r4tIUbqMXONqM6rvXxF0tEGmdewxoM52t1l4Iqbln9x2MbIAEqCXVzLXdlc3QtMjCPBA.m3u8' for reading
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-VERSION:3')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-TWITCH-LIVE-SEQUENCE:10076')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-TWITCH-ELAPSED-SECS:20153.050')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-TWITCH-TOTAL-SECS:20187.054')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-DATERANGE:ID="f0ab2a2c3db8403c90e35bb306f3ba67",CLASS="twitch-assignment",START-DATE="2022-07-06T00:15:16.142Z",END-ON-NEXT=YES,X-TV-TWITCH-SERVING-ID="f0ab2a2c3db8403c90e35bb306f3ba67",X-TV-TWITCH-NODE="video-edge-c2ab04.dfw02",X-TV-TWITCH-CLUSTER="dfw02"')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-DATERANGE:ID="source-1657065732",CLASS="twitch-stream-source",START-DATE="2022-07-06T00:02:12.142Z",END-ON-NEXT=YES,X-TV-TWITCH-STREAM-SOURCE="live"')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-DATERANGE:ID="trigger-1657065717",CLASS="twitch-trigger",START-DATE="2022-07-06T00:01:57.093Z",END-ON-NEXT=YES,X-TV-TWITCH-TRIGGER-URL="https://video-weaver.dfw02.hls.ttvnw.net/trigger/CqkEEFi7-nuhPilFOswx83Ox6fEac1gS2amSm_xCzGoxkIfEoiG1md2hynPJftFjGw8_gJjL091ACzO70rc4R_BTTzW90bTu5XJ4piUuRcgixzw9UpmlMtAYu2F6lJoGZUxXqCT3kjYJe-T--dnhMTZhqNhFfOzR_Nc4k20G6GUvdSAQ_72jUOLDQaxCEqSnUCfwx_cOGYpq5MMGF3hyJIyQohhCxfaHkhCwlO5crRA6jAHUQpUfZjiXGhuANJ-ZWT8_1hYVknAzlqs1un475zcJ9IRGN3Wc3kRN9ccbYdQtM3QxxRJAytVhRt9tgsd-yudHSCTgc5j8cSqQp_7NpPb6g5GOEooyIwtPbRaWDLcZcylaFIPNSZPLKnnuYvahRgReH8RjtoYHOQXYEeAjWux5PBVbCA0Ca6zFIFx6cl5e0uG0cvx37h_jJIt56aYVd4dk3W7Sj4Eq3ASbwceVEghTIo-LF5uaMUqDXV2zIEO4sMOBQh-szrATUra51EhqRbe6VlgVSp2PLN3yT71_cvJp84YcyAj43PF1eIZLT33AzoJgoXNYq66BcJAeI7dTi5tCUviE3FmIckN_tY88mGtRRcYlCb0dNHsjP53EHuoxFi-IFCkXzqJ47rIhSEfmq7QnpeiGQ_zNu_4MQ_9G2CYGiVWcW-UoZA3bUswz0t9vdtqIuW80roLpJ5LES4fRyBquIFS17VUdFGRxqejf2L-gUwVgJ6oCouZ5rRoM52t1l4Iqbln9x2MbIAEqCXVzLXdlc3QtMjCQBA"')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2022-07-06T00:19:42.142Z')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2022-07-06T00:19:44.142Z')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2022-07-06T00:19:46.142Z')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2022-07-06T00:19:48.142Z')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2022-07-06T00:19:50.142Z')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2022-07-06T00:19:52.142Z')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2022-07-06T00:19:54.142Z')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2022-07-06T00:19:56.142Z')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2022-07-06T00:19:58.142Z')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2022-07-06T00:20:00.142Z')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2022-07-06T00:20:02.142Z')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2022-07-06T00:20:04.142Z')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2022-07-06T00:20:06.142Z')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2022-07-06T00:20:08.142Z')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2022-07-06T00:20:10.142Z')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-DATERANGE:ID="stitched-ad-1657066812-15049999993",CLASS="twitch-stitched-ad",START-DATE="2022-07-06T00:20:12.142Z",DURATION=15.050,X-TV-TWITCH-AD-AD-SESSION-ID="02710d6c088b4fcb8a468b3c64a4e927",X-TV-TWITCH-AD-COMMERCIAL-ID="4930954d4afc4a4b946198114d6f230a",X-TV-TWITCH-AD-CREATIVE-ID="2474283100401",X-TV-TWITCH-AD-LINE-ITEM-ID="2379251610201",X-TV-TWITCH-AD-LOUDNESS="-90.000000",X-TV-TWITCH-AD-ROLL-TYPE="MIDROLL",X-TV-TWITCH-AD-URL="https://help.twitch.tv/",X-TV-TWITCH-AD-ADVERTISER-ID="5778044420701",X-TV-TWITCH-AD-CLICK-TRACKING-URL="https://example.com",X-TV-TWITCH-AD-AD-FORMAT="standard_video_ad",X-TV-TWITCH-AD-POD-POSITION="0",X-TV-TWITCH-AD-RADS-TOKEN="eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJicm9hZGNhc3RlciI6IjIwNzgxMzM1MiIsInZpZXdlciI6IiIsInNlc3Npb24iOiIwMjcxMGQ2YzA4OGI0ZmNiOGE0NjhiM2M2NGE0ZTkyNyIsInZpZGVvX3Nlc3Npb25faWQiOiI0ODk2MDM3OTQxMzQ3OTc4NDEiLCJwbGF0Zm9ybV90eXBlIjoiV0VCIiwiZHVyYXRpb24iOjYwLCJpc192bG0iOmZhbHNlLCJpc19zdGl0Y2hlZCI6dHJ1ZSwiaWF0IjoxNjU3MDY2ODE1LCJpc3MiOiJHcmFuZERBZHMifQ.0Hyvuff11vudnp272NjUtaQ5XsnqysarfOy8FwsSApPS24zUfPbymVP35Uj2jABo2ytu1A-e6rysSHOqqSXAIQ",X-TV-TWITCH-AD-CLICK-BEACON-ID="click2d88829d-4cb0-42f5-80ad-2040f0c5e89f",X-TV-TWITCH-AD-POD-LENGTH="4",X-TV-TWITCH-AD-ORDER-ID="7351234567890"')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-DATERANGE:ID="source-1657066812",CLASS="twitch-stream-source",START-DATE="2022-07-06T00:20:12.142Z",END-ON-NEXT=YES,X-TV-TWITCH-STREAM-SOURCE="Amazon|2474283100401"')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-DATERANGE:ID="quartile-1657066812-0",CLASS="twitch-ad-quartile",START-DATE="2022-07-06T00:20:12.142Z",DURATION=2.002,X-TV-TWITCH-AD-QUARTILE="0"')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-DISCONTINUITY')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2022-07-06T00:20:12.142Z')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-DATERANGE:ID="quartile-1657066814-1",CLASS="twitch-ad-quartile",START-DATE="2022-07-06T00:20:14.144Z",DURATION=2.002,X-TV-TWITCH-AD-QUARTILE="1"')
[hls @ 0x5614b71a47c0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2022-07-06T00:20:14.144Z')
[hls @ 0x5614b71a47c0] HLS request for url 'https://video-edge-c2ab04.dfw02.abs.hls.ttvnw.net/v1/segment/CoIFD9MuUvilN2Ncfkp9VEsXe6gk1EU39nVgKVQqX6KDhmE4LPYDYxvJrMR6I2WIVFV7cjwZ6xM7wAP_B0ORQIZ_zOZpdKLgk6VXUlt_giEENsjcMgDJnqp7L52CI7EDMoFLQ-fw96z1bDrjZbyQd3kY4tPAKfxBmGDup0L-nB7l8rOhD-dwyZB09LGdrmzsmRtqZuRR0-ISwYJDXgE4EKaWHSZXo5iLpkddyjPFuUUxfrP4MjX8TSeV031upCOHFxHC8uJr--Pnin4wNS9NBmJ6ynXOLPIyYMeSWh4cWh5aRMj08njB5F7tM7hn7p2lIaG7AKIIGQfpGkcbTDOkAbQEFdr0o2fA2d4FEGnnxZPx7eXNkkWpHfjlhxjAFy0noh7CvxKeVfLXbH8iNuL0GoQbwJ4byD1A-3dFeMqIzEDAbuOI30f3OEd0YZiyP54920OlImJ-HojsF5iWY9S0kdRSHMKq5KKOX7qnxGsrUZG4bdyKHo7nUaYkXctNJ9AW_tZh8a3_oOlCns3W2jLZ5GwAjw6Ktj5Zk1prtVXItmkhdB10Md3Tz5FI-On_AUuBK7dHpDRDCiksnkUcfAcitDDbfKqDDiOpPHqyXUPAFckmCWEfRj6KCgEzS_Rgqrz_IJxGl7VStmE8Gs6KskAs0AgpZiGEgsFAFTd7T-xNZAre-FJWKBFnLnaW-HwfXXz9Dca2a9QAiNRYWDoE91nPBfkPu6vQ1-h_Ql0E-6iZwmp6ARXy10zXkyF5BAJJ1eg2J4SIici4WcBYSq3q1eATkDd8bVHe0pCwd7XONzrTlMwsYLFoO3637l6LcPM6kgqtH0avV_YdyKXHNvQp9slzd79IKWPJGgyhSHFomwvT1e1Qqa4gASoJdXMtd2VzdC0yMJAE.ts', offset 0, playlist 0
[https @ 0x5614b73ffdc0] Opening 'https://video-edge-c2ab04.dfw02.abs.hls.ttvnw.net/v1/segment/CoIFD9MuUvilN2Ncfkp9VEsXe6gk1EU39nVgKVQqX6KDhmE4LPYDYxvJrMR6I2WIVFV7cjwZ6xM7wAP_B0ORQIZ_zOZpdKLgk6VXUlt_giEENsjcMgDJnqp7L52CI7EDMoFLQ-fw96z1bDrjZbyQd3kY4tPAKfxBmGDup0L-nB7l8rOhD-dwyZB09LGdrmzsmRtqZuRR0-ISwYJDXgE4EKaWHSZXo5iLpkddyjPFuUUxfrP4MjX8TSeV031upCOHFxHC8uJr--Pnin4wNS9NBmJ6ynXOLPIyYMeSWh4cWh5aRMj08njB5F7tM7hn7p2lIaG7AKIIGQfpGkcbTDOkAbQEFdr0o2fA2d4FEGnnxZPx7eXNkkWpHfjlhxjAFy0noh7CvxKeVfLXbH8iNuL0GoQbwJ4byD1A-3dFeMqIzEDAbuOI30f3OEd0YZiyP54920OlImJ-HojsF5iWY9S0kdRSHMKq5KKOX7qnxGsrUZG4bdyKHo7nUaYkXctNJ9AW_tZh8a3_oOlCns3W2jLZ5GwAjw6Ktj5Zk1prtVXItmkhdB10Md3Tz5FI-On_AUuBK7dHpDRDCiksnkUcfAcitDDbfKqDDiOpPHqyXUPAFckmCWEfRj6KCgEzS_Rgqrz_IJxGl7VStmE8Gs6KskAs0AgpZiGEgsFAFTd7T-xNZAre-FJWKBFnLnaW-HwfXXz9Dca2a9QAiNRYWDoE91nPBfkPu6vQ1-h_Ql0E-6iZwmp6ARXy10zXkyF5BAJJ1eg2J4SIici4WcBYSq3q1eATkDd8bVHe0pCwd7XONzrTlMwsYLFoO3637l6LcPM6kgqtH0avV_YdyKXHNvQp9slzd79IKWPJGgyhSHFomwvT1e1Qqa4gASoJdXMtd2VzdC0yMJAE.ts' for reading
[hls @ 0x5614b71a47c0] HLS request for url 'https://video-edge-c2ab04.dfw02.abs.hls.ttvnw.net/v1/segment/CoQF3hAhgS0fgo2qx4oX143haOEryVGCb7mln0IP9HalvaTWA7dC8SBP_0Ijwi0Dqqyjynb4qJcsynVvo5aOEfsYBr8pgRpzFhGciMGBYrlKbCbwHBZnFCSYf7fFX93378BKxlqO9mEbCIvVQ2adUXsGyEIQ5iW6T7aguswzK_GEuoEVnnj-uObmDRXFDe0iMMvCdCm2ovBV8k2aPkPcRMlUCZMXB2yJaU8mdQH91d47-Z_QTecSre7KxwmDUpXG52a1xy6PCzm6fl0FIpHaTu9MoIDh_Ae_rGcWo1-NgyIrE61SKD9RvUCfaT50OKFZ9Yl1NwELUqQHnaL6Wd4z-Al5bKGpPWGNTVfF71x6UrIVnYqcA--GJfvJI5SfXoJCnYepFLDRHcahO__6zYJJ5r_OV7LT87QqPBdJaHmr0ih9kJcWzASpF-AwA25aKxFPX8u8qRhXzCppMFdJ6puFaTc06mYlj33ucVIAeO0txb4jQDE8BCKmY7d8F09emyjlapaz5zQjYLEcoybGCJ4rlH58TfFr4CNEdTx4tbdwIl5mcQb5mVYvdAWJHcp82n2jGKiPutnwPczNki7tuuOj-fptvye7-KWgOgqWe03oe9JOtL2ZZHH1Wi2m9x9WI615oz2Hy6OeIAryySSXNyVbIUCyzzjwcBcvAN7hz5t1uRMm1Fd-RrYLYp2TLtLN1P23RxdxmhzY4fMB1E99lMt3jCX98BiRALk-0w97AG4To19f-oBdGdDYVZS0te2M-dO42iURhA4tdHq-fdE-5zQo8ZnEvV0R8YO_7VcXtP-7rrgW0RWu_R0eisK4d9NpjitRID6zPLQSEJlnPwSUT9C0UyUU5Sv1yYUaDDGtsI1mW_6N-p4jtSABKgl1cy13ZXN0LTIwkAQ.ts', offset 0, playlist 0
[https @ 0x5614b727da80] Opening 'https://video-edge-c2ab04.dfw02.abs.hls.ttvnw.net/v1/segment/CoQF3hAhgS0fgo2qx4oX143haOEryVGCb7mln0IP9HalvaTWA7dC8SBP_0Ijwi0Dqqyjynb4qJcsynVvo5aOEfsYBr8pgRpzFhGciMGBYrlKbCbwHBZnFCSYf7fFX93378BKxlqO9mEbCIvVQ2adUXsGyEIQ5iW6T7aguswzK_GEuoEVnnj-uObmDRXFDe0iMMvCdCm2ovBV8k2aPkPcRMlUCZMXB2yJaU8mdQH91d47-Z_QTecSre7KxwmDUpXG52a1xy6PCzm6fl0FIpHaTu9MoIDh_Ae_rGcWo1-NgyIrE61SKD9RvUCfaT50OKFZ9Yl1NwELUqQHnaL6Wd4z-Al5bKGpPWGNTVfF71x6UrIVnYqcA--GJfvJI5SfXoJCnYepFLDRHcahO__6zYJJ5r_OV7LT87QqPBdJaHmr0ih9kJcWzASpF-AwA25aKxFPX8u8qRhXzCppMFdJ6puFaTc06mYlj33ucVIAeO0txb4jQDE8BCKmY7d8F09emyjlapaz5zQjYLEcoybGCJ4rlH58TfFr4CNEdTx4tbdwIl5mcQb5mVYvdAWJHcp82n2jGKiPutnwPczNki7tuuOj-fptvye7-KWgOgqWe03oe9JOtL2ZZHH1Wi2m9x9WI615oz2Hy6OeIAryySSXNyVbIUCyzzjwcBcvAN7hz5t1uRMm1Fd-RrYLYp2TLtLN1P23RxdxmhzY4fMB1E99lMt3jCX98BiRALk-0w97AG4To19f-oBdGdDYVZS0te2M-dO42iURhA4tdHq-fdE-5zQo8ZnEvV0R8YO_7VcXtP-7rrgW0RWu_R0eisK4d9NpjitRID6zPLQSEJlnPwSUT9C0UyUU5Sv1yYUaDDGtsI1mW_6N-p4jtSABKgl1cy13ZXN0LTIwkAQ.ts' for reading
[mpegts @ 0x5614b77abf80] Non-monotonous DTS in output stream 0:0; previous: 1816558470, current: -6030; changing to 1816558471. This may result in incorrect timestamps in the output file.
[mpegts @ 0x5614b77abf80] Non-monotonous DTS in output stream 0:0; previous: 1816558471, current: -3060; changing to 1816558472. This may result in incorrect timestamps in the output file.
[mpegts @ 0x5614b77abf80] Non-monotonous DTS in output stream 0:0; previous: 1816558472, current: 0; changing to 1816558473. This may result in incorrect timestamps in the output file.
[mpegts @ 0x5614b77abf80] Non-monotonous DTS in output stream 0:1; previous: 1816561220, current: 0; changing to 1816561221. This may result in incorrect timestamps in the output file.
[mpegts @ 0x5614b77abf80] Non-monotonous DTS in output stream 0:1; previous: 1816561221, current: 2089; changing to 1816561222. This may result in incorrect timestamps in the output file.
[mpegts @ 0x5614b77abf80] Non-monotonous DTS in output stream 0:1; previous: 1816561222, current: 4179; changing to 1816561223. This may result in incorrect timestamps in the output file.
[mpegts @ 0x5614b77abf80] Non-monotonous DTS in output stream 0:1; previous: 1816561223, current: 6269; changing to 1816561224. This may result in incorrect timestamps in the output file.
[mpegts @ 0x5614b77abf80] Non-monotonous DTS in output stream 0:1; previous: 1816561224, current: 8359; changing to 1816561225. This may result in incorrect timestamps in the output file.
[mpegts @ 0x5614b77abf80] Non-monotonous DTS in output stream 0:0; previous: 1816558473, current: 2970; changing to 1816558474. This may result in incorrect timestamps in the output file.
[mpegts @ 0x5614b77abf80] Non-monotonous DTS in output stream 0:0; previous: 1816558474, current: 6030; changing to 1816558475. This may result in incorrect timestamps in the output file.
[mpegts @ 0x5614b77abf80] Non-monotonous DTS in output stream 0:0; previous: 1816558475, current: 9000; changing to 1816558476. This may result in incorrect timestamps in the output file.
[mpegts @ 0x5614b77abf80] Non-monotonous DTS in output stream 0:1; previous: 1816561225, current: 10449; changing to 1816561226. This may result in incorrect timestamps in the output file.
[mpegts @ 0x5614b77abf80] Non-monotonous DTS in output stream 0:1; previous: 1816561226, current: 12538; changing to 1816561227. This may result in incorrect timestamps in the output file.
[mpegts @ 0x5614b77abf80] Non-monotonous DTS in output stream 0:1; previous: 1816561227, current: 14628; changing to 1816561228. This may result in incorrect timestamps in the output file.
[mpegts @ 0x5614b77abf80] Non-monotonous DTS in output stream 0:1; previous: 1816561228, current: 16718; changing to 1816561229. This may result in incorrect timestamps in the output file.
[mpegts @ 0x5614b77abf80] Non-monotonous DTS in output stream 0:1; previous: 1816561229, current: 18808; changing to 1816561230. This may result in incorrect timestamps in the output file.
[mpegts @ 0x5614b77abf80] Non-monotonous DTS in output stream 0:0; previous: 1816558476, current: 11970; changing to 1816558477. This may result in incorrect timestamps in the output file.
[mpegts @ 0x5614b77abf80] Non-monotonous DTS in output stream 0:0; previous: 1816558477, current: 15030; changing to 1816558478. This may result in incorrect timestamps in the output file.


(cut)



frame=82778 fps= 59 q=-1.0 Lsize= 1145095kB time=05:41:46.01 bitrate= 457.5kbits/s speed=14.5x    
video:1028129kB audio:23734kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 8.863471%
Input file #0 (https://video-weaver.dfw02.hls.ttvnw.net/v1/playlist/CqkET-dYuXeS6k-BZPh_ztk16MVU795_ZOWo6S3PCGl3wB4GJMgNFSdSpu7y5EniLOAk6Fj5RmFIFlIhnUvYyuA_ACoK7MsC18HgYPlvaAb5cRGc_w38LvLRn0zVGdBMf49lQ2p0IQD38ziVbJNehIGxirjpon2gNMIgst1e7w7m_lvowDLuHFnhq1QrijZnm5pynancX71M4rPbN_Oj1nd3zVEIkjxHMNdEZRLihL4WbNx0rnrVOyZmL9R4q6au-Lx0LrlYuJQcO6EV0gYCEuoYCt60JBrO8JHuVDsTkRHzPnjN0yAnMP7cGhHVxiW8zyqM6vavqdV9ayrypWp0ZkgL7HlUAlHLCniJWR_0I731_y580FuRNkfNoDtX_maQCD1o83auebmQHwDqCJC-fnSGBk6R1RdsJWbDekK5-gq7nV78tas-8Ie6ipv2Ty75ws7jdYXSOYxB78hEM2hOLTwRysiFPdGsbttADvttxioUb_O3mFSVqDm7rn6yX355iaw1kJKsJPLCNKKrCfT1hyeN0lm5rDxyuvn587cCpJSCyrNmDBuE_r51tzK0FpGiAAR5jlXZbeFb1wSxlxxNP1NLmkeZXUGHVWpXJfcpe9nnNIX0XJ5jWVB4PWZ_3-kg68vpl3T_PIiRD0kSd5TgwguCr4knKgET3AZboftadrmxhdwvKkVMsXpU45LHKhgcpbxBCGwvw4r4tIUbqMXONqM6rvXxF0tEGmdewxoM52t1l4Iqbln9x2MbIAEqCXVzLXdlc3QtMjCPBA.m3u8):
  Input stream #0:0 (audio): 66136 packets read (24303990 bytes); 
  Input stream #0:1 (video): 82778 packets read (1052804263 bytes); 
  Input stream #0:2 (data): 752 packets read (286510 bytes); 
  Total: 149666 packets (1077394763 bytes) demuxed
Output file #0 (file:HasanAbi (live) 2022-07-05 19_02 [40947204795].mp4.part):
  Output stream #0:0 (video): 82778 packets muxed (1052804263 bytes); 
  Output stream #0:1 (audio): 66136 packets muxed (24303990 bytes); 
  Total: 148914 packets (1077108253 bytes) muxed
[AVIOContext @ 0x5614b78f4d40] Statistics: 0 seeks, 4474 writeouts
[AVIOContext @ 0x5614b7282e40] Statistics: 550852088 bytes read, 0 seeks
[AVIOContext @ 0x5614b74a5e00] Statistics: 568053092 bytes read, 0 seeks
[AVIOContext @ 0x5614b7792740] Statistics: 12539715 bytes read, 0 seeks
[AVIOContext @ 0x5614b71d4e40] Statistics: 5934 bytes read, 0 seeks
Exiting normally, received signal 2.
[ffmpeg] Interrupted by user
[ffmpeg] Downloaded 1172577432 bytes
[download] 100% of 1.09GiB in 23:35
[debug] ffprobe command line: ffprobe -hide_banner -show_format -show_streams -print_format json 'file:HasanAbi (live) 2022-07-05 19_02 [40947204795].mp4'
[FixupM3u8] Fixing MPEG-TS in MP4 container of "HasanAbi (live) 2022-07-05 19_02 [40947204795].mp4"
[debug] ffmpeg command line: ffmpeg -y -loglevel repeat+info -i 'file:HasanAbi (live) 2022-07-05 19_02 [40947204795].mp4' -map 0 -dn -ignore_unknown -c copy -f mp4 -bsf:a aac_adtstoasc -movflags +faststart 'file:HasanAbi (live) 2022-07-05 19_02 [40947204795].temp.mp4'

Activity

  1. added
    site-bugIssue with a specific website
    triageUntriaged issue
    on Jul 6, 2022
  2. pin-grid-array commented on Jul 12, 2022

    @pin-grid-array

    I'd like to chime in and say that I have this exact problem. I'm a complete beginner at yt-dlp and ffmpeg and have great difficulty using them, let alone being able to describe the problems I encounter with them in a manner that's useful to others. So I'm really glad mnoop was able to explain the problem so thoroughly.

    VLC player will not play it correctly (the audio cuts out every second or so)

    I discovered that re-encoding the audio to MP3 will allow VLC to play it without cutting out every second. However, doing this also causes the audio to become desynched from the video. The desynch is not constant. I can click a particular moment in VLC's seek bar and the audio will be synched up to the video at that exact moment, but the audio immediately begins to become desynched as the video continues to play. The audio is slower than the video, which I think is related to this comment by mnoop:

    Additionally, the whole video has noticeably lower pitch than what plays in the browser

    I don't remember what the pitch of the audio sounded like on Twitch, but a lower pitch would be consistent with my observation that the audio is playing too slow compared to the video.

    I'm unable to check in ffplay because it won't play the audio. ffplay gives me a bunch of warning messages. I don't know how useful these are but here are the warnings:

    [mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000473740] CTTS invalid0B f=0/0

    SDL_OpenAudio (2 channels, 44100 Hz): WASAPI can't initialize audio client: CoInitialize has not been called.
    SDL_OpenAudio (1 channels, 44100 Hz): WASAPI can't initialize audio client: CoInitialize has not been called.
    No more combinations to try, audio open failed

    I can post my full ffplay output if anyone is interested. I'm holding back from doing so here simply because I don't want to derail this thread with something that might not be helpful.

  3. pin-grid-array commented on Jul 23, 2022

    @pin-grid-array

    I've been trying to find more information about this problem. Apparently, having the audio cut out every other second and sounding lower in pitch is not new or specific to yt-dlp. Rather, it has existed since the days of the original youtube-dl according to this Reddit thread:

    https://www.reddit.com/r/youtubedl/comments/jxtl6v/youtubedl_for_twitch_livestream/

    There's still no real solution, however. It seems like it might be a problem with VLC player.

  4. waldiTM commented on Jul 24, 2022

    @waldiTM

    A workaround is to completely disable fixup (using --fixup never). It seems the incompatible audio streams from the ads and the real stream are wrongly concatenated by the FFmpegFixupM3u8PP step. At least with mpv, I can play such a file without the out of sync audio, it just shows warnings and copes.

  5. pin-grid-array commented on Aug 10, 2022

    @pin-grid-array

    @waldiTM Sorry for the super delay in responding. Thank you for posting the workaround. I've never used mpv before but using --fixup never does prevent the audio from cutting out and becoming desynched in VLC player.

    Other problems still exist—e.g. when the video goes from playing the livestream to playing the commercial, VLC player crashes—but that's to be solved on a different day. Right now I'm just super happy that the recorded livestreams can even play.

  6. Cqoicebordel commented on Aug 21, 2022

    @Cqoicebordel

    FYI, I think I could recover the audio by doing something like
    ffmpeg -i twitch_video.mp4 -map 0:1 -af asetrate=48000,aresample=44100,atempo=44100/48000 fixed_audio.mp3
    (I'm not giving instruction for muxing it into a new video, because it's trivial. I also chose mp3 just for testing, adapt it accordingly)

    I'm not sure I've recovered the right pitch exactly, I don't have the right ears to judge, but sound OK. Note that it will also keep the same length.

    For the devs, it seems to indicate that the issue is just the sample rate of the audio, but again, I'm not 100 % sure. It was a shot in the dark, and it sounds enough OK to me. That's all.

  7. waldiTM commented on Aug 21, 2022

    @waldiTM

    I think the more correct fix would be to skip the ad frames completely, they are empty anyway. This however requires that those frames can be detected automatically. This should give a more continuous stream of correct audio.

  8. emixa-d commented on Sep 29, 2022

    @emixa-d

    This sounds similar to https://issues.guix.gnu.org/37244, where MPEG-TS streams are played with lowered pitch in the IceCat browser (a Firefox derivative), maybe they have the same underlying cause.

  9. pin-grid-array commented on Oct 3, 2022

    @pin-grid-array

    @Cqoicebordel Unfortunately your solution did not work for me. When I used
    ffmpeg -i twitch_video.mp4 -map 0:1 -af asetrate=48000,aresample=44100,atempo=44100/48000 fixed_audio.mp3
    the result was an audio file that's approximately 8% longer than the original defective audio.

    I tried muxing this new audio file with the original video anyway to see what would happen. The result is that they didn't synch up. The audio is a little too slow for the video, which makes sense because the audio is longer than the video.

  10. Cqoicebordel commented on Oct 3, 2022

    @Cqoicebordel

    @pin-grid-array I have no idea why it wouldn't work. Maybe the source audio of the video provided by the streamer isn't in 48000 Hz ?
    But the 8 % discrepancy matches the 44.1/48 change.
    Maybe double check for typos ? Also, beware, it won't match the replay directly from Twitch. Beyond that, I have no other ideas.

  11. pin-grid-array commented on Oct 4, 2022

    @pin-grid-array

    @Cqoicebordel You are absolutely right about the streamer's audio sampling rate—it is originally 44100 Hz, not 48000 Hz. Thank you for pointing out that the 8% discrepancy matches that change. Do you have any suggestions about how to fix the audio in my situation?

  12. Cqoicebordel commented on Oct 4, 2022

    @Cqoicebordel

    @pin-grid-array Mmmh, not sure. It depends on the video you have : if the live you ripped has a "fixed by yt-dlp" rate of 44100 Hz, and the streamer had the same, there shouldn't be any pitch discrepancy in the final video.
    If the "fixed" live video has a different rate, it's simple, you use the same command line, but change just the values :
    -af asetrate=streamerRate,aresample=liveRate,atempo=liveRate/streamerRate

    If they have the same rate… Again, I have no idea. Try different values until it works ? :/

  13. pukkandan commented on Oct 19, 2022

    @pukkandan
    Member

    Does --downloader ffmpeg work around the issue?

  14. zaykho commented on Oct 29, 2022

    @zaykho

    I did make a test with a streamer that broadcast only licensed music (which mean I can compare the recorded twitch audio to a youtube audio and an actual audio file from local folder), and indeed, switching the rate from 44100 to 48000 in audacity from the extracted audio track from the recorded twitch fix the duration/pitch.

    As other pointed out, I suppose that the issue is that the Ads part is set with a different audio track rate than the actual stream, which create this issue of "un-matched" audio configuration. It's also why some streamer/vod doesn't have this issue since they don't have ads appearing in the video.

    One simple solution would be to just skip the ads parts like proposed by @waldiTM , or, to split the files when change in the audio/part tracks happen (which would be a more elegant solution globally (not only for Twitch shenanigans))

    audacity

    EDIT: the other solution would be maybe to implement a flag to skip twitch ads like here: https://www.reddit.com/r/youtubedl/comments/x0gba3/how_to_skip_ads_when_downloading_live_streams_on/

  15. 15 remaining items

  16. ngc6302h commented on Mar 26, 2023

    @ngc6302h

    I've found you out you can take the audio stream out of the mp4 file that yt-dlp saves first:
    ffmpeg -i input.mp4 -c:a copy output.aac
    and then fix the resulting ADTS bitstream with just:
    sed -i -e 's/\xFF\xF1\x50\x80/\xFF\xF1\x4C\x80/g' output.aac.
    This edits the headers of the frames in the bitstream, replacing a 0x50 (meaning samplerate of 44100) to a 4C (meaning 48000).
    This is an in-place solution that doesn't require re-encoding the file and works. VLC doesn't have any trouble playing the file.

  17. andjustinforall commented on Mar 26, 2023

    @andjustinforall

    sed -i -e 's/\xFF\xF1\x50\x80/\xFF\xF1\x4C\x80/g' output.aac
    Thanks for this! Worked like a charm.
    Personally, I had to put LC_ALL=C in front of it, or else I got the error RE error: illegal byte sequence, but then it worked perfectly!

  18. pukkandan commented on Mar 26, 2023

    @pukkandan
    Member

    Someone should try to implement @ngc6302h's workaround as a fixup postprocessor

  19. ivans5 commented on Mar 28, 2023

    @ivans5

    actually this seems fixed for me after doing yt-dlp pip3 update

  20. biggestsonicfan commented on Mar 29, 2023

    @biggestsonicfan

    sed -i -e 's/\xFF\xF1\x50\x80/\xFF\xF1\x4C\x80/g' output.aac

    Been very much waiting for a solution like this, thank's much!

    EDIT: The resulting audio may playback fine, but this isn't a file you can remux back into the video. This is playback manipulation, not a fix.

    EDIT2: Going back to my final edit up here, cropping off Twitch's "Commercial break in progress" via LosslessCut, then proceeding with ffmpeg aac extraction, sed manipulation, and remuxing streams back together with LosslessCut, this does in fact work.

    So if yt-dlp knew the exact frame segments of the "Commercial break in progress", you probably wouldn't need the aac extract, sed manipulation, and remuxing in the first place. So this workaround is for existing media, but going forward, yt-dlp should handle the problem more elegantly. (Unless you pass your subscribed twitch cookies to yt-dlp and avoid ads in the first place 😩)

    EDIT3: So yeah, if you're required to crop out the twitch commercial break in the first place, just use --fixup never and after cropping, no audio manipulation is actually needed 😖

  21. ManuLinares commented on May 19, 2023

    @ManuLinares

    My solution for rebroadcasts is to download with "mpv" and then do some things to the resulting files like this:

    channel="thechannelname"
    file="$channel"_$(date +%F_%R).mkv
    
    mpv --audio-samplerate=48000 --stream-record="$file"  "https://www.twitch.tv/$channel"
    
    ffmpeg -i "$file" -ss 00:00:20 -c copy full_split.mp4
    ffmpeg -i full_split.mp4 -fflags +igndts -c copy -movflags +faststart full_split_dts_fix.mp4
    ffmpeg -i full_split_dts_fix.mp4 -c:a copy full_split_dts_fix.aac
    sed -i -e 's/\xFF\xF1\x50\x80/\xFF\xF1\x4C\x80/g' full_split_dts_fix.aac
    ffmpeg -i full_split_dts_fix.mp4 -i full_split_dts_fix.aac -c:v copy -c:a copy -map 0:v:0 -map 1:a:0 "$file"_fixed.mp4
    rm full_split.mp4 full_split_dts_fix.mp4 full_split_dts_fix.aac
    

    This works.

  22. biggestsonicfan commented on May 20, 2023

    @biggestsonicfan

    My solution for rebroadcasts is to download with "mpv"

    If you download with mvp you might as well launch the stream with streamlink, which knows how to skip the ads.

  23. ManuLinares commented on May 20, 2023

    @ManuLinares

    My solution for rebroadcasts is to download with "mpv"

    If you download with mvp you might as well launch the stream with streamlink, which knows how to skip the ads.

    Thanks, but I don't see the benefit. Mpv uses yt-dlp as backend. This issue is for yt-dlp

  24. biggestsonicfan commented on May 21, 2023

    @biggestsonicfan

    Thanks, but I don't see the benefit.

    The benefit can be that the ad roll (which causes the audio-desync) can be skipped entirely. Instead of having to ffmpeg -i "$file" -ss 00:00:20 -c copy full_split.mp4 as a post processor, the stream itself won't begin writing to a file until after the ad has finished, eliminating the need for all the ffmpeg commands and reducing the amount of space required to fix a problem.

    Your script can be reduced to the following:

    channel="thechannelname"
    file="$channel"_$(date +%F_%R).mkv
    streamlink --player "mpv --ytdl --stream-record='$file'" --twitch-disable-ads https://www.twitch.tv/$channel best
    

    You will not have to fixup any audio as there will be no mix of audio sample rates in the single stream.

    EDIT: I apologize for the orginal agressive tone in my reply, it was unnecessary. I am also going to look into if streamlink can pipe directly to yt-dlp

  25. nanopulga commented on May 27, 2024

    @nanopulga

    Excuse me for reviving this issue again. I didn't know this issue with yt-dlp and downloaded a stream and ended up with the same issue mentioned here. I wish I had knew to use Streamlink or just pay for Twitch Turbo and pass the cookies to yt-dlp to avoid the ads, ugh.

    I have two streams from Momocon and have this exact issue. There won't be rebroadcasts (I hope Momocon uploads them to YouTube but I digress) so I have to work with what I got. I want to fix the video itself so it can be uploaded to YouTube (in case Momocon doesn't upload them themselves), and I see some possible solutions, especially from @biggestsonicfan but I am not too savvy and I am lost on what works best at the end to fix the file. (I am fine if it even fixes it playing it only, I can work with that and just record my screen, I don't mind the loss in quality or time it would take, I am that desperate)

    So does anybody know what's work best to fix a stream with this issue at end?

    EDIT: I tried sed -i -e 's/\xFF\xF1\x50\x80/\xFF\xF1\x4C\x80/g' output.aac and see if that worked and it does but when an advert comes it stays on loop with the advert like that forever. It's very weird. Then trying to move around the timeline VLC freezes. I wanted to that at least work so I could record the screen but that doesn't seem to work either unfortunately

  26. biggestsonicfan commented on May 27, 2024

    @biggestsonicfan

    @nanopulga What you need to do is crop the advertisement out of the recording and create a new file. Then from that file, extract the .aac from the new file, run sed on it, then combine the video track without the advertisement with the new output.aac. It sucks and there's no current automated process for this.

  27. KiRura commented on Apr 3, 2025

    @KiRura

    Sorry, I'm not a native English speaker, so I'm using ChatGPT to translate this.
    I accidentally discovered a nearly perfect method and wanted to share it.

    First, use yt-dlp with --fixup never to save the file.
    Then, simply run the following command:

    ffmpeg -i input.mp4 -c:v copy -c:a [codec other than copy] -af aresample=async=1 out.mp4

    The reason I found this method is quite simple.
    While downloading a Twitch stream, I accidentally restarted my system.
    I wanted to somehow convert the .mp4.part file into a proper .mp4 file, so I tried running:

    ffmpeg -i input.mp4.part -c:v copy -c:a copy out.mp4

    However, I got this message:

    Non-monotonous DTS in output stream...
    

    When I searched for a way to fix this error, I found this option:

    -af aresample=async=1
    

    Then, I found an issue discussing --fixup never, which led me to this solution.

    Note: This method does not work for files that were saved without using --fixup never.

  28. bashonly commented on Jul 1, 2025

    @bashonly
    Member

    --live-from-start is another viable workaround for now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions