2bc4 / twitch-hls-client

Minimal CLI client for watching/recording Twitch streams
GNU General Public License v3.0
22 stars 5 forks source link

Stream can recieve ads, and it reports them as discontinuities #3

Closed brian6932 closed 1 year ago

brian6932 commented 1 year ago

Args used:

twitch-hls-client xqc best -s 'https://api.ttv.lol/[ttvlol]' -p mpv -a '- --force-window=yes' -d
Debug logs ``` 00:44:49 [DEBUG] (2) ureq::response: Streaming body until content-length: 1151124 00:44:49 [DEBUG] (2) ureq::unit: response 200 to GET https://video-edge-1caf04.jfk06.abs.hls.ttvnw.net/v1/segment/Cp0FusHUhv1e2YlZ0G-NlWqkL8_ckq8Rq1fJys39RZaDottV70t6wIk1Fqn1v9Hia-IOFLonbQ809zGeBFncThwV8dUH3AO5d3l597zII41KZ3dFW84Hgq8UCo3iNGUhxYDqN12TUBiReC6Z-BHaau2hv5X4FE3wnggaurWCWtWwpLr5s5yGQUcbVMc7GUQwM-9V0lMW0shEjMZNgdaxmTUGdCdVS0e3wobwnv976GmhNQ_nIAQEhV3ahOxs3bXuxwyeiL9LCUlo_Bxni5NiU7jSiu-6aKPaBICWpOnfRkMNHpcuZnmLfbhdZEfWA5E3JqC_IaLiUjXynrXTYefJC-Ae_iZVRKhv9NQoCEafuMhbBVxDlB1K4KT_a_nsuCJ2-kIwu2CK6gWdzMLaoWq1YsguCn-kiC4ZYBFPMNQ-kwE1hPB70rIoOG8yMhxVk1WdaCT4mpA25UNz8txHUb7ojpstBt5F8tynDhu2o7DDPCAzIWKIDCuFjHSLoslKvgWjXT5jOOMn4nZMsT4OKVb-4Vi2ojMjb-moo2aSQnmxbyDn8UODVQrHU7NqTcYJ64dypk4vm5kkMDPF97e-lX94eiaZK2khZq5cOh6d-nLeNczYIPFYGQzVZWDZg73X0mPzvVh5tZNMl5QgP7je-JAulE39MjdVTq69KZdO1klO7jQjopvsw7E1XOce7lIDzxJKuodIKWKDHry36q7L24bnK22W843muyYxrdCIMAAO5aIqBVpvvw-dqVeDm5IMjd-i-VhdsUXJTV41O-MSdEhkU7SCfgK-nVM0DEMmIGsKzgdbvCm4txmfjY8H1m5g7kvAquo70QZn82b76F0Zu2UyexYkX-qeZmVmDe5hKpEK1ylIM6YowU5mEy3wfR3KgRnOGgwU9XQ7SbBDwJFFFcMgASoJdXMtd2VzdC0yMK0G.ts 00:44:49 [DEBUG] (2) ureq::pool: adding stream to pool: https|video-edge-1caf04.jfk06.abs.hls.ttvnw.net|443 -> Stream(RustlsStream) 00:44:51 [DEBUG] (1) ureq::pool: pulling stream from pool: https|video-weaver.atl01.hls.ttvnw.net|443 -> Stream(RustlsStream) 00:44:51 [DEBUG] (1) ureq::unit: sending request (reused connection) GET https://video-weaver.atl01.hls.ttvnw.net/v1/playlist/CoQFvcucgfVaDnN-iA9-3IXtuqC-iqmjozYc1dOrO1MfyZ-Dio1-b4I_9YhKPwyjWZFCOA4ObrVhtqA1wiDspccSljCDGJXa-E1tD4xuMT-wWODLN2hryXaGcZrUEnc_WJtmJ0jwJ-RcRGQAwc3McfdxMumg4pVyqD4sZ85-zVaspiOl1W-303GdSQBYBb1islocHPMPEteDUVVxsKAip8VSgXRlcWd6PehZQ_txc3bWDtkAaKQTDmHo1d_H55M_SMbGHA3aZpx7gAkNGUWfxOZW66IJ94LNc0wQRslvzoMLAsvzE5XVqwadyAkKxCzJg-FdCR-93wSP6l66Yj1mKFDrG4AM3XlAxdAHRT_IzL20GcWuZOtf88KK5GQoUQu5Y0FJqB-MOaGVoxv4N6z50purhqQkWsMaGByr_lgQo3t3e6FI2Cp5ik1f3wiJcC34t9DcKcSTFK9yN_QwQpvbWPFAbj8iysb-1TY7Ntxm3Ss1xQQxsOzSJwUuaGnX5K5vnxQ3Bi5D2OpVLmMKBYdMx--Hhj9ftj4K7nuWO0fUcUcAAnWEnWJvGV91wyrOlX8vCMdF3AdWMXQ5h1mbfEglB8SOYeDV9MBQ-NKhstHAUS5nH2GHB-3GF58ibcVfGew5-zHtPfEDYQI65-E6FbeY2W8mU64Jb8zre3nnbcyBSfcHvRy_6ztVSbu9yBQ0PDHHJf3LYeT5nYkhdXJRINvfat5XCEjYZ_4ei8WNXucsUM7Oxli6ah8FaFp4t6gLF4xixZUJBKFmPRiQkwSJegwPcyOnwuj79evrfCLJJmR4L5vq3RgiO13wN9bXL4un1a0RW6WsppNqG8itqP_qTPd5rCvFwpp1kbcaDJqEZ1OJHWh-bQfAXCABKgl1cy13ZXN0LTIwrAY.m3u8 00:44:51 [DEBUG] (1) ureq::unit: writing prelude: GET /v1/playlist/CoQFvcucgfVaDnN-iA9-3IXtuqC-iqmjozYc1dOrO1MfyZ-Dio1-b4I_9YhKPwyjWZFCOA4ObrVhtqA1wiDspccSljCDGJXa-E1tD4xuMT-wWODLN2hryXaGcZrUEnc_WJtmJ0jwJ-RcRGQAwc3McfdxMumg4pVyqD4sZ85-zVaspiOl1W-303GdSQBYBb1islocHPMPEteDUVVxsKAip8VSgXRlcWd6PehZQ_txc3bWDtkAaKQTDmHo1d_H55M_SMbGHA3aZpx7gAkNGUWfxOZW66IJ94LNc0wQRslvzoMLAsvzE5XVqwadyAkKxCzJg-FdCR-93wSP6l66Yj1mKFDrG4AM3XlAxdAHRT_IzL20GcWuZOtf88KK5GQoUQu5Y0FJqB-MOaGVoxv4N6z50purhqQkWsMaGByr_lgQo3t3e6FI2Cp5ik1f3wiJcC34t9DcKcSTFK9yN_QwQpvbWPFAbj8iysb-1TY7Ntxm3Ss1xQQxsOzSJwUuaGnX5K5vnxQ3Bi5D2OpVLmMKBYdMx--Hhj9ftj4K7nuWO0fUcUcAAnWEnWJvGV91wyrOlX8vCMdF3AdWMXQ5h1mbfEglB8SOYeDV9MBQ-NKhstHAUS5nH2GHB-3GF58ibcVfGew5-zHtPfEDYQI65-E6FbeY2W8mU64Jb8zre3nnbcyBSfcHvRy_6ztVSbu9yBQ0PDHHJf3LYeT5nYkhdXJRINvfat5XCEjYZ_4ei8WNXucsUM7Oxli6ah8FaFp4t6gLF4xixZUJBKFmPRiQkwSJegwPcyOnwuj79evrfCLJJmR4L5vq3RgiO13wN9bXL4un1a0RW6WsppNqG8itqP_qTPd5rCvFwpp1kbcaDJqEZ1OJHWh-bQfAXCABKgl1cy13ZXN0LTIwrAY.m3u8 HTTP/1.1 Host: video-weaver.atl01.hls.ttvnw.net User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Accept: */* referer: https://player.twitch.tv origin: https://player.twitch.tv connection: keep-alive accept-encoding: gzip 00:44:51 [DEBUG] (1) ureq::response: Chunked body in response 00:44:51 [DEBUG] (1) ureq::unit: response 200 to GET https://video-weaver.atl01.hls.ttvnw.net/v1/playlist/CoQFvcucgfVaDnN-iA9-3IXtuqC-iqmjozYc1dOrO1MfyZ-Dio1-b4I_9YhKPwyjWZFCOA4ObrVhtqA1wiDspccSljCDGJXa-E1tD4xuMT-wWODLN2hryXaGcZrUEnc_WJtmJ0jwJ-RcRGQAwc3McfdxMumg4pVyqD4sZ85-zVaspiOl1W-303GdSQBYBb1islocHPMPEteDUVVxsKAip8VSgXRlcWd6PehZQ_txc3bWDtkAaKQTDmHo1d_H55M_SMbGHA3aZpx7gAkNGUWfxOZW66IJ94LNc0wQRslvzoMLAsvzE5XVqwadyAkKxCzJg-FdCR-93wSP6l66Yj1mKFDrG4AM3XlAxdAHRT_IzL20GcWuZOtf88KK5GQoUQu5Y0FJqB-MOaGVoxv4N6z50purhqQkWsMaGByr_lgQo3t3e6FI2Cp5ik1f3wiJcC34t9DcKcSTFK9yN_QwQpvbWPFAbj8iysb-1TY7Ntxm3Ss1xQQxsOzSJwUuaGnX5K5vnxQ3Bi5D2OpVLmMKBYdMx--Hhj9ftj4K7nuWO0fUcUcAAnWEnWJvGV91wyrOlX8vCMdF3AdWMXQ5h1mbfEglB8SOYeDV9MBQ-NKhstHAUS5nH2GHB-3GF58ibcVfGew5-zHtPfEDYQI65-E6FbeY2W8mU64Jb8zre3nnbcyBSfcHvRy_6ztVSbu9yBQ0PDHHJf3LYeT5nYkhdXJRINvfat5XCEjYZ_4ei8WNXucsUM7Oxli6ah8FaFp4t6gLF4xixZUJBKFmPRiQkwSJegwPcyOnwuj79evrfCLJJmR4L5vq3RgiO13wN9bXL4un1a0RW6WsppNqG8itqP_qTPd5rCvFwpp1kbcaDJqEZ1OJHWh-bQfAXCABKgl1cy13ZXN0LTIwrAY.m3u8 00:44:51 [DEBUG] (1) ureq::pool: adding stream to pool: https|video-weaver.atl01.hls.ttvnw.net|443 -> Stream(RustlsStream) 00:44:51 [WARN] Encountered a discontinuity, stream may be broken 00:44:51 [DEBUG] (1) twitch_hls_client: Playlist reload took 46.1518ms 00:44:51 [DEBUG] (1) twitch_hls_client: Sequence: 3782 -> 3783 00:44:51 [DEBUG] (2) ureq::pool: pulling stream from pool: https|video-edge-1caf04.jfk06.abs.hls.ttvnw.net|443 -> Stream(RustlsStream) 00:44:51 [DEBUG] (2) ureq::unit: sending request (reused connection) GET https://video-edge-1caf04.jfk06.abs.hls.ttvnw.net/v1/segment/CswFQ-5blSJsNTRLW6_dQPYUP_mJeaj3Djvso6VjXcEZTG0jnoPRKF5nzjr6m1w13jjOTy9ZIuc_DulqU6hYQdtlrIuaS7L1rqmPKH19N_NQcb-RtBGerDTg_Vjt6o8lMvV50e-XIOsdqcEd739MXzqBFBtGp5MVmXESYjsGeTXi1xHyDaIxVDsgU4mccaDPBMcLH4IrRZBsiz6ib9jlreFvMWmSzgKv7PWpRYeXiyHsqhlVfII6Rpe8masQ-7XxyQJUE2ricMXMPPueQjmljbazwS_se44Xa9VGR0tARq7RnNzwqRIaPiianMgu4EQdz6hrpHmt7ugIWXEQd_u_zCh3GAN67e9ssCFixA6JKk4bpaeEXmeo0XYsNzZQnCpAIbHisfQbwx4nY2TtIP889Q7P3970bzQIN0xBS0n0_qzqCLWkv5IhM17K5tqXXs-0rCRnMShXgXaz53QFz_WKyU4j-mP_wW2DpzMfp9mUlvm9ISO8PNypuRdSweLkHocqBKtUadxSqMeLPZh0uutoKAD0cCpDfan0P4HUheym2Nc9dYdzfkyMEtpAQahQ7yRev795_PAJPhbJGd7mpcZITP_e6tKS7wmrMNbYgYBc6882B7FsQP7ccUA0LgJ05c5U0W22KA70c1tNszPdKVrvMVAYw02gGRj1opxRpVuOX7EtAsnFckHIWVe12ZCXeJ7h3KGfelV31hnhlWst1jUfBA_d_i0EhcOfGw_BBE5MBtR2eaD-FlDqdICyQyqrz3RVc1vSOBjleZfsLeAKlBiC-6zcRwSmf9kQ4_8P782dvPKniT2SKE-dSvQZlQnJ9J04f_R2B6f45gDZ_un3fIYy83Dcmv8j9G5bzeRsLXgspLdvmyRKKP8P5KAyhaDSdYUz1GBVjlHv0k7OSO-RRyl_hZtmI7kAai9Ba6k44UcRX8_NzMLyaAt7ZyK-VCbyJKoaDJZWZOZ5bqv1YaWLGCABKgl1cy13ZXN0LTIwrQY.ts 00:44:51 [DEBUG] (2) ureq::unit: writing prelude: GET /v1/segment/CswFQ-5blSJsNTRLW6_dQPYUP_mJeaj3Djvso6VjXcEZTG0jnoPRKF5nzjr6m1w13jjOTy9ZIuc_DulqU6hYQdtlrIuaS7L1rqmPKH19N_NQcb-RtBGerDTg_Vjt6o8lMvV50e-XIOsdqcEd739MXzqBFBtGp5MVmXESYjsGeTXi1xHyDaIxVDsgU4mccaDPBMcLH4IrRZBsiz6ib9jlreFvMWmSzgKv7PWpRYeXiyHsqhlVfII6Rpe8masQ-7XxyQJUE2ricMXMPPueQjmljbazwS_se44Xa9VGR0tARq7RnNzwqRIaPiianMgu4EQdz6hrpHmt7ugIWXEQd_u_zCh3GAN67e9ssCFixA6JKk4bpaeEXmeo0XYsNzZQnCpAIbHisfQbwx4nY2TtIP889Q7P3970bzQIN0xBS0n0_qzqCLWkv5IhM17K5tqXXs-0rCRnMShXgXaz53QFz_WKyU4j-mP_wW2DpzMfp9mUlvm9ISO8PNypuRdSweLkHocqBKtUadxSqMeLPZh0uutoKAD0cCpDfan0P4HUheym2Nc9dYdzfkyMEtpAQahQ7yRev795_PAJPhbJGd7mpcZITP_e6tKS7wmrMNbYgYBc6882B7FsQP7ccUA0LgJ05c5U0W22KA70c1tNszPdKVrvMVAYw02gGRj1opxRpVuOX7EtAsnFckHIWVe12ZCXeJ7h3KGfelV31hnhlWst1jUfBA_d_i0EhcOfGw_BBE5MBtR2eaD-FlDqdICyQyqrz3RVc1vSOBjleZfsLeAKlBiC-6zcRwSmf9kQ4_8P782dvPKniT2SKE-dSvQZlQnJ9J04f_R2B6f45gDZ_un3fIYy83Dcmv8j9G5bzeRsLXgspLdvmyRKKP8P5KAyhaDSdYUz1GBVjlHv0k7OSO-RRyl_hZtmI7kAai9Ba6k44UcRX8_NzMLyaAt7ZyK-VCbyJKoaDJZWZOZ5bqv1YaWLGCABKgl1cy13ZXN0LTIwrQY.ts HTTP/1.1 Host: video-edge-1caf04.jfk06.abs.hls.ttvnw.net User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Accept: */* content-type: application/octet-stream referer: https://player.twitch.tv origin: https://player.twitch.tv connection: keep-alive accept-encoding: gzip 00:44:51 [DEBUG] (2) ureq::response: Streaming body until content-length: 1183648 00:44:51 [DEBUG] (2) ureq::unit: response 200 to GET https://video-edge-1caf04.jfk06.abs.hls.ttvnw.net/v1/segment/CswFQ-5blSJsNTRLW6_dQPYUP_mJeaj3Djvso6VjXcEZTG0jnoPRKF5nzjr6m1w13jjOTy9ZIuc_DulqU6hYQdtlrIuaS7L1rqmPKH19N_NQcb-RtBGerDTg_Vjt6o8lMvV50e-XIOsdqcEd739MXzqBFBtGp5MVmXESYjsGeTXi1xHyDaIxVDsgU4mccaDPBMcLH4IrRZBsiz6ib9jlreFvMWmSzgKv7PWpRYeXiyHsqhlVfII6Rpe8masQ-7XxyQJUE2ricMXMPPueQjmljbazwS_se44Xa9VGR0tARq7RnNzwqRIaPiianMgu4EQdz6hrpHmt7ugIWXEQd_u_zCh3GAN67e9ssCFixA6JKk4bpaeEXmeo0XYsNzZQnCpAIbHisfQbwx4nY2TtIP889Q7P3970bzQIN0xBS0n0_qzqCLWkv5IhM17K5tqXXs-0rCRnMShXgXaz53QFz_WKyU4j-mP_wW2DpzMfp9mUlvm9ISO8PNypuRdSweLkHocqBKtUadxSqMeLPZh0uutoKAD0cCpDfan0P4HUheym2Nc9dYdzfkyMEtpAQahQ7yRev795_PAJPhbJGd7mpcZITP_e6tKS7wmrMNbYgYBc6882B7FsQP7ccUA0LgJ05c5U0W22KA70c1tNszPdKVrvMVAYw02gGRj1opxRpVuOX7EtAsnFckHIWVe12ZCXeJ7h3KGfelV31hnhlWst1jUfBA_d_i0EhcOfGw_BBE5MBtR2eaD-FlDqdICyQyqrz3RVc1vSOBjleZfsLeAKlBiC-6zcRwSmf9kQ4_8P782dvPKniT2SKE-dSvQZlQnJ9J04f_R2B6f45gDZ_un3fIYy83Dcmv8j9G5bzeRsLXgspLdvmyRKKP8P5KAyhaDSdYUz1GBVjlHv0k7OSO-RRyl_hZtmI7kAai9Ba6k44UcRX8_NzMLyaAt7ZyK-VCbyJKoaDJZWZOZ5bqv1YaWLGCABKgl1cy13ZXN0LTIwrQY.ts 00:44:51 [DEBUG] (2) ureq::pool: adding stream to pool: https|video-edge-1caf04.jfk06.abs.hls.ttvnw.net|443 -> Stream(RustlsStream) 00:44:53 [DEBUG] (1) ureq::pool: pulling stream from pool: https|video-weaver.atl01.hls.ttvnw.net|443 -> Stream(RustlsStream) 00:44:53 [DEBUG] (1) ureq::unit: sending request (reused connection) GET https://video-weaver.atl01.hls.ttvnw.net/v1/playlist/CoQFvcucgfVaDnN-iA9-3IXtuqC-iqmjozYc1dOrO1MfyZ-Dio1-b4I_9YhKPwyjWZFCOA4ObrVhtqA1wiDspccSljCDGJXa-E1tD4xuMT-wWODLN2hryXaGcZrUEnc_WJtmJ0jwJ-RcRGQAwc3McfdxMumg4pVyqD4sZ85-zVaspiOl1W-303GdSQBYBb1islocHPMPEteDUVVxsKAip8VSgXRlcWd6PehZQ_txc3bWDtkAaKQTDmHo1d_H55M_SMbGHA3aZpx7gAkNGUWfxOZW66IJ94LNc0wQRslvzoMLAsvzE5XVqwadyAkKxCzJg-FdCR-93wSP6l66Yj1mKFDrG4AM3XlAxdAHRT_IzL20GcWuZOtf88KK5GQoUQu5Y0FJqB-MOaGVoxv4N6z50purhqQkWsMaGByr_lgQo3t3e6FI2Cp5ik1f3wiJcC34t9DcKcSTFK9yN_QwQpvbWPFAbj8iysb-1TY7Ntxm3Ss1xQQxsOzSJwUuaGnX5K5vnxQ3Bi5D2OpVLmMKBYdMx--Hhj9ftj4K7nuWO0fUcUcAAnWEnWJvGV91wyrOlX8vCMdF3AdWMXQ5h1mbfEglB8SOYeDV9MBQ-NKhstHAUS5nH2GHB-3GF58ibcVfGew5-zHtPfEDYQI65-E6FbeY2W8mU64Jb8zre3nnbcyBSfcHvRy_6ztVSbu9yBQ0PDHHJf3LYeT5nYkhdXJRINvfat5XCEjYZ_4ei8WNXucsUM7Oxli6ah8FaFp4t6gLF4xixZUJBKFmPRiQkwSJegwPcyOnwuj79evrfCLJJmR4L5vq3RgiO13wN9bXL4un1a0RW6WsppNqG8itqP_qTPd5rCvFwpp1kbcaDJqEZ1OJHWh-bQfAXCABKgl1cy13ZXN0LTIwrAY.m3u8 00:44:53 [DEBUG] (1) ureq::unit: writing prelude: GET /v1/playlist/CoQFvcucgfVaDnN-iA9-3IXtuqC-iqmjozYc1dOrO1MfyZ-Dio1-b4I_9YhKPwyjWZFCOA4ObrVhtqA1wiDspccSljCDGJXa-E1tD4xuMT-wWODLN2hryXaGcZrUEnc_WJtmJ0jwJ-RcRGQAwc3McfdxMumg4pVyqD4sZ85-zVaspiOl1W-303GdSQBYBb1islocHPMPEteDUVVxsKAip8VSgXRlcWd6PehZQ_txc3bWDtkAaKQTDmHo1d_H55M_SMbGHA3aZpx7gAkNGUWfxOZW66IJ94LNc0wQRslvzoMLAsvzE5XVqwadyAkKxCzJg-FdCR-93wSP6l66Yj1mKFDrG4AM3XlAxdAHRT_IzL20GcWuZOtf88KK5GQoUQu5Y0FJqB-MOaGVoxv4N6z50purhqQkWsMaGByr_lgQo3t3e6FI2Cp5ik1f3wiJcC34t9DcKcSTFK9yN_QwQpvbWPFAbj8iysb-1TY7Ntxm3Ss1xQQxsOzSJwUuaGnX5K5vnxQ3Bi5D2OpVLmMKBYdMx--Hhj9ftj4K7nuWO0fUcUcAAnWEnWJvGV91wyrOlX8vCMdF3AdWMXQ5h1mbfEglB8SOYeDV9MBQ-NKhstHAUS5nH2GHB-3GF58ibcVfGew5-zHtPfEDYQI65-E6FbeY2W8mU64Jb8zre3nnbcyBSfcHvRy_6ztVSbu9yBQ0PDHHJf3LYeT5nYkhdXJRINvfat5XCEjYZ_4ei8WNXucsUM7Oxli6ah8FaFp4t6gLF4xixZUJBKFmPRiQkwSJegwPcyOnwuj79evrfCLJJmR4L5vq3RgiO13wN9bXL4un1a0RW6WsppNqG8itqP_qTPd5rCvFwpp1kbcaDJqEZ1OJHWh-bQfAXCABKgl1cy13ZXN0LTIwrAY.m3u8 HTTP/1.1 Host: video-weaver.atl01.hls.ttvnw.net User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Accept: */* referer: https://player.twitch.tv origin: https://player.twitch.tv connection: keep-alive accept-encoding: gzip 00:44:53 [DEBUG] (1) ureq::response: Chunked body in response 00:44:53 [DEBUG] (1) ureq::unit: response 200 to GET https://video-weaver.atl01.hls.ttvnw.net/v1/playlist/CoQFvcucgfVaDnN-iA9-3IXtuqC-iqmjozYc1dOrO1MfyZ-Dio1-b4I_9YhKPwyjWZFCOA4ObrVhtqA1wiDspccSljCDGJXa-E1tD4xuMT-wWODLN2hryXaGcZrUEnc_WJtmJ0jwJ-RcRGQAwc3McfdxMumg4pVyqD4sZ85-zVaspiOl1W-303GdSQBYBb1islocHPMPEteDUVVxsKAip8VSgXRlcWd6PehZQ_txc3bWDtkAaKQTDmHo1d_H55M_SMbGHA3aZpx7gAkNGUWfxOZW66IJ94LNc0wQRslvzoMLAsvzE5XVqwadyAkKxCzJg-FdCR-93wSP6l66Yj1mKFDrG4AM3XlAxdAHRT_IzL20GcWuZOtf88KK5GQoUQu5Y0FJqB-MOaGVoxv4N6z50purhqQkWsMaGByr_lgQo3t3e6FI2Cp5ik1f3wiJcC34t9DcKcSTFK9yN_QwQpvbWPFAbj8iysb-1TY7Ntxm3Ss1xQQxsOzSJwUuaGnX5K5vnxQ3Bi5D2OpVLmMKBYdMx--Hhj9ftj4K7nuWO0fUcUcAAnWEnWJvGV91wyrOlX8vCMdF3AdWMXQ5h1mbfEglB8SOYeDV9MBQ-NKhstHAUS5nH2GHB-3GF58ibcVfGew5-zHtPfEDYQI65-E6FbeY2W8mU64Jb8zre3nnbcyBSfcHvRy_6ztVSbu9yBQ0PDHHJf3LYeT5nYkhdXJRINvfat5XCEjYZ_4ei8WNXucsUM7Oxli6ah8FaFp4t6gLF4xixZUJBKFmPRiQkwSJegwPcyOnwuj79evrfCLJJmR4L5vq3RgiO13wN9bXL4un1a0RW6WsppNqG8itqP_qTPd5rCvFwpp1kbcaDJqEZ1OJHWh-bQfAXCABKgl1cy13ZXN0LTIwrAY.m3u8 00:44:53 [DEBUG] (1) ureq::pool: adding stream to pool: https|video-weaver.atl01.hls.ttvnw.net|443 -> Stream(RustlsStream) 00:44:53 [WARN] Encountered a discontinuity, stream may be broken 00:44:53 [DEBUG] (1) twitch_hls_client: Playlist reload took 46.8742ms 00:44:53 [DEBUG] (1) twitch_hls_client: Sequence: 3783 -> 3784 00:44:53 [DEBUG] (2) ureq::pool: pulling stream from pool: https|video-edge-1caf04.jfk06.abs.hls.ttvnw.net|443 -> Stream(RustlsStream) 00:44:53 [DEBUG] (2) ureq::unit: sending request (reused connection) GET https://video-edge-1caf04.jfk06.abs.hls.ttvnw.net/v1/segment/Cp0FHSHXI9OiBph0aeyd5u9njqTbzZVOxOsdGRB8nBZ9d-HfdGAX5dBkp-w9SCyGTce4GML6M7YqrKqjEXjAhOS4-r-3gnQsook_TwsE-GXZjxfz51bpuza1UfYWwxjb0py_gZvwwGODx1WQb_M5CU-VgPosPaY0zAYZGG1GII6TEmrVQlDbxfGxpCNOdZOTJnrVDHMtvE4I8JW7Gp3rvbZ0xqQufiChIV7kKndXmH-2NHftIL03FRDlsUWJUJqI158enna7rdo1XmZD43PUO7ntjZwBk2IeXTXlWjVspz8TQfXqjw_M21AmTU5f2mv7KljLghCvsr1pnvVnpXKQ5sCKs_vF0pC9xdBF4ylw1bGfuz3S4_OGDqTlwWDziGrORk2CKVQMzuqQnRXBogqsc2jSor1go329SIVgnxZ9HmNvMMBvTUozoFM47H-D8Ta1eUiqXvesBrnrPTeAJRBhxga-rDwcHvegZk1-l63N1xdTntaaU0dG7pxvkop-6yauZri8miFSpCBbqz_v5D3ReejKAWF5w7FaPx847XOcFNKnkv2uxGumhxkJfNaMAYdoEDJgQwtd2wDmHbL5eq-zETdPXUKw4v1d6CM5zuxORJDgTK1ys_fSdNrUQW8j-n6W3KiSwlagMtW55b6AxEmZLqRMpRjq0uCKLqDBdf38BDhmCfhujzu80SXNOrczkCYw3xvT9LbAsUpmMznXrGgPuSFLXBYmH65sQCM_nq_Ulpj6rxbwGHYpifB9VY2RBdP3Ywyg1T8MRiQNIGmPoTeiyLD9KW6twrF7W1t0D-vn7LHQTWJPjyaEWretRlwulQFC7D4r89F9ffzr9JQs0o3UtipO-6nu4yu1tNmksLxDe3R5JzBn0rSl7aSu86qLKYJ3GgxmzswoLq0zJxtOu0kgASoJdXMtd2VzdC0yMK0G.ts 00:44:53 [DEBUG] (2) ureq::unit: writing prelude: GET /v1/segment/Cp0FHSHXI9OiBph0aeyd5u9njqTbzZVOxOsdGRB8nBZ9d-HfdGAX5dBkp-w9SCyGTce4GML6M7YqrKqjEXjAhOS4-r-3gnQsook_TwsE-GXZjxfz51bpuza1UfYWwxjb0py_gZvwwGODx1WQb_M5CU-VgPosPaY0zAYZGG1GII6TEmrVQlDbxfGxpCNOdZOTJnrVDHMtvE4I8JW7Gp3rvbZ0xqQufiChIV7kKndXmH-2NHftIL03FRDlsUWJUJqI158enna7rdo1XmZD43PUO7ntjZwBk2IeXTXlWjVspz8TQfXqjw_M21AmTU5f2mv7KljLghCvsr1pnvVnpXKQ5sCKs_vF0pC9xdBF4ylw1bGfuz3S4_OGDqTlwWDziGrORk2CKVQMzuqQnRXBogqsc2jSor1go329SIVgnxZ9HmNvMMBvTUozoFM47H-D8Ta1eUiqXvesBrnrPTeAJRBhxga-rDwcHvegZk1-l63N1xdTntaaU0dG7pxvkop-6yauZri8miFSpCBbqz_v5D3ReejKAWF5w7FaPx847XOcFNKnkv2uxGumhxkJfNaMAYdoEDJgQwtd2wDmHbL5eq-zETdPXUKw4v1d6CM5zuxORJDgTK1ys_fSdNrUQW8j-n6W3KiSwlagMtW55b6AxEmZLqRMpRjq0uCKLqDBdf38BDhmCfhujzu80SXNOrczkCYw3xvT9LbAsUpmMznXrGgPuSFLXBYmH65sQCM_nq_Ulpj6rxbwGHYpifB9VY2RBdP3Ywyg1T8MRiQNIGmPoTeiyLD9KW6twrF7W1t0D-vn7LHQTWJPjyaEWretRlwulQFC7D4r89F9ffzr9JQs0o3UtipO-6nu4yu1tNmksLxDe3R5JzBn0rSl7aSu86qLKYJ3GgxmzswoLq0zJxtOu0kgASoJdXMtd2VzdC0yMK0G.ts HTTP/1.1 Host: video-edge-1caf04.jfk06.abs.hls.ttvnw.net User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Accept: */* content-type: application/octet-stream referer: https://player.twitch.tv origin: https://player.twitch.tv connection: keep-alive accept-encoding: gzip 00:44:53 [DEBUG] (2) ureq::response: Streaming body until content-length: 639952 00:44:53 [DEBUG] (2) ureq::unit: response 200 to GET https://video-edge-1caf04.jfk06.abs.hls.ttvnw.net/v1/segment/Cp0FHSHXI9OiBph0aeyd5u9njqTbzZVOxOsdGRB8nBZ9d-HfdGAX5dBkp-w9SCyGTce4GML6M7YqrKqjEXjAhOS4-r-3gnQsook_TwsE-GXZjxfz51bpuza1UfYWwxjb0py_gZvwwGODx1WQb_M5CU-VgPosPaY0zAYZGG1GII6TEmrVQlDbxfGxpCNOdZOTJnrVDHMtvE4I8JW7Gp3rvbZ0xqQufiChIV7kKndXmH-2NHftIL03FRDlsUWJUJqI158enna7rdo1XmZD43PUO7ntjZwBk2IeXTXlWjVspz8TQfXqjw_M21AmTU5f2mv7KljLghCvsr1pnvVnpXKQ5sCKs_vF0pC9xdBF4ylw1bGfuz3S4_OGDqTlwWDziGrORk2CKVQMzuqQnRXBogqsc2jSor1go329SIVgnxZ9HmNvMMBvTUozoFM47H-D8Ta1eUiqXvesBrnrPTeAJRBhxga-rDwcHvegZk1-l63N1xdTntaaU0dG7pxvkop-6yauZri8miFSpCBbqz_v5D3ReejKAWF5w7FaPx847XOcFNKnkv2uxGumhxkJfNaMAYdoEDJgQwtd2wDmHbL5eq-zETdPXUKw4v1d6CM5zuxORJDgTK1ys_fSdNrUQW8j-n6W3KiSwlagMtW55b6AxEmZLqRMpRjq0uCKLqDBdf38BDhmCfhujzu80SXNOrczkCYw3xvT9LbAsUpmMznXrGgPuSFLXBYmH65sQCM_nq_Ulpj6rxbwGHYpifB9VY2RBdP3Ywyg1T8MRiQNIGmPoTeiyLD9KW6twrF7W1t0D-vn7LHQTWJPjyaEWretRlwulQFC7D4r89F9ffzr9JQs0o3UtipO-6nu4yu1tNmksLxDe3R5JzBn0rSl7aSu86qLKYJ3GgxmzswoLq0zJxtOu0kgASoJdXMtd2VzdC0yMK0G.ts 00:44:53 [DEBUG] (2) ureq::pool: adding stream to pool: https|video-edge-1caf04.jfk06.abs.hls.ttvnw.net|443 -> Stream(RustlsStream) 00:44:55 [DEBUG] (1) ureq::pool: pulling stream from pool: https|video-weaver.atl01.hls.ttvnw.net|443 -> Stream(RustlsStream) 00:44:55 [DEBUG] (1) ureq::unit: sending request (reused connection) GET https://video-weaver.atl01.hls.ttvnw.net/v1/playlist/CoQFvcucgfVaDnN-iA9-3IXtuqC-iqmjozYc1dOrO1MfyZ-Dio1-b4I_9YhKPwyjWZFCOA4ObrVhtqA1wiDspccSljCDGJXa-E1tD4xuMT-wWODLN2hryXaGcZrUEnc_WJtmJ0jwJ-RcRGQAwc3McfdxMumg4pVyqD4sZ85-zVaspiOl1W-303GdSQBYBb1islocHPMPEteDUVVxsKAip8VSgXRlcWd6PehZQ_txc3bWDtkAaKQTDmHo1d_H55M_SMbGHA3aZpx7gAkNGUWfxOZW66IJ94LNc0wQRslvzoMLAsvzE5XVqwadyAkKxCzJg-FdCR-93wSP6l66Yj1mKFDrG4AM3XlAxdAHRT_IzL20GcWuZOtf88KK5GQoUQu5Y0FJqB-MOaGVoxv4N6z50purhqQkWsMaGByr_lgQo3t3e6FI2Cp5ik1f3wiJcC34t9DcKcSTFK9yN_QwQpvbWPFAbj8iysb-1TY7Ntxm3Ss1xQQxsOzSJwUuaGnX5K5vnxQ3Bi5D2OpVLmMKBYdMx--Hhj9ftj4K7nuWO0fUcUcAAnWEnWJvGV91wyrOlX8vCMdF3AdWMXQ5h1mbfEglB8SOYeDV9MBQ-NKhstHAUS5nH2GHB-3GF58ibcVfGew5-zHtPfEDYQI65-E6FbeY2W8mU64Jb8zre3nnbcyBSfcHvRy_6ztVSbu9yBQ0PDHHJf3LYeT5nYkhdXJRINvfat5XCEjYZ_4ei8WNXucsUM7Oxli6ah8FaFp4t6gLF4xixZUJBKFmPRiQkwSJegwPcyOnwuj79evrfCLJJmR4L5vq3RgiO13wN9bXL4un1a0RW6WsppNqG8itqP_qTPd5rCvFwpp1kbcaDJqEZ1OJHWh-bQfAXCABKgl1cy13ZXN0LTIwrAY.m3u8 00:44:55 [DEBUG] (1) ureq::unit: writing prelude: GET /v1/playlist/CoQFvcucgfVaDnN-iA9-3IXtuqC-iqmjozYc1dOrO1MfyZ-Dio1-b4I_9YhKPwyjWZFCOA4ObrVhtqA1wiDspccSljCDGJXa-E1tD4xuMT-wWODLN2hryXaGcZrUEnc_WJtmJ0jwJ-RcRGQAwc3McfdxMumg4pVyqD4sZ85-zVaspiOl1W-303GdSQBYBb1islocHPMPEteDUVVxsKAip8VSgXRlcWd6PehZQ_txc3bWDtkAaKQTDmHo1d_H55M_SMbGHA3aZpx7gAkNGUWfxOZW66IJ94LNc0wQRslvzoMLAsvzE5XVqwadyAkKxCzJg-FdCR-93wSP6l66Yj1mKFDrG4AM3XlAxdAHRT_IzL20GcWuZOtf88KK5GQoUQu5Y0FJqB-MOaGVoxv4N6z50purhqQkWsMaGByr_lgQo3t3e6FI2Cp5ik1f3wiJcC34t9DcKcSTFK9yN_QwQpvbWPFAbj8iysb-1TY7Ntxm3Ss1xQQxsOzSJwUuaGnX5K5vnxQ3Bi5D2OpVLmMKBYdMx--Hhj9ftj4K7nuWO0fUcUcAAnWEnWJvGV91wyrOlX8vCMdF3AdWMXQ5h1mbfEglB8SOYeDV9MBQ-NKhstHAUS5nH2GHB-3GF58ibcVfGew5-zHtPfEDYQI65-E6FbeY2W8mU64Jb8zre3nnbcyBSfcHvRy_6ztVSbu9yBQ0PDHHJf3LYeT5nYkhdXJRINvfat5XCEjYZ_4ei8WNXucsUM7Oxli6ah8FaFp4t6gLF4xixZUJBKFmPRiQkwSJegwPcyOnwuj79evrfCLJJmR4L5vq3RgiO13wN9bXL4un1a0RW6WsppNqG8itqP_qTPd5rCvFwpp1kbcaDJqEZ1OJHWh-bQfAXCABKgl1cy13ZXN0LTIwrAY.m3u8 HTTP/1.1 Host: video-weaver.atl01.hls.ttvnw.net User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Accept: */* referer: https://player.twitch.tv origin: https://player.twitch.tv connection: keep-alive accept-encoding: gzip 00:44:55 [DEBUG] (1) ureq::response: Chunked body in response 00:44:55 [DEBUG] (1) ureq::unit: response 200 to GET https://video-weaver.atl01.hls.ttvnw.net/v1/playlist/CoQFvcucgfVaDnN-iA9-3IXtuqC-iqmjozYc1dOrO1MfyZ-Dio1-b4I_9YhKPwyjWZFCOA4ObrVhtqA1wiDspccSljCDGJXa-E1tD4xuMT-wWODLN2hryXaGcZrUEnc_WJtmJ0jwJ-RcRGQAwc3McfdxMumg4pVyqD4sZ85-zVaspiOl1W-303GdSQBYBb1islocHPMPEteDUVVxsKAip8VSgXRlcWd6PehZQ_txc3bWDtkAaKQTDmHo1d_H55M_SMbGHA3aZpx7gAkNGUWfxOZW66IJ94LNc0wQRslvzoMLAsvzE5XVqwadyAkKxCzJg-FdCR-93wSP6l66Yj1mKFDrG4AM3XlAxdAHRT_IzL20GcWuZOtf88KK5GQoUQu5Y0FJqB-MOaGVoxv4N6z50purhqQkWsMaGByr_lgQo3t3e6FI2Cp5ik1f3wiJcC34t9DcKcSTFK9yN_QwQpvbWPFAbj8iysb-1TY7Ntxm3Ss1xQQxsOzSJwUuaGnX5K5vnxQ3Bi5D2OpVLmMKBYdMx--Hhj9ftj4K7nuWO0fUcUcAAnWEnWJvGV91wyrOlX8vCMdF3AdWMXQ5h1mbfEglB8SOYeDV9MBQ-NKhstHAUS5nH2GHB-3GF58ibcVfGew5-zHtPfEDYQI65-E6FbeY2W8mU64Jb8zre3nnbcyBSfcHvRy_6ztVSbu9yBQ0PDHHJf3LYeT5nYkhdXJRINvfat5XCEjYZ_4ei8WNXucsUM7Oxli6ah8FaFp4t6gLF4xixZUJBKFmPRiQkwSJegwPcyOnwuj79evrfCLJJmR4L5vq3RgiO13wN9bXL4un1a0RW6WsppNqG8itqP_qTPd5rCvFwpp1kbcaDJqEZ1OJHWh-bQfAXCABKgl1cy13ZXN0LTIwrAY.m3u8 00:44:55 [DEBUG] (1) ureq::pool: adding stream to pool: https|video-weaver.atl01.hls.ttvnw.net|443 -> Stream(RustlsStream) 00:44:55 [WARN] Encountered a discontinuity, stream may be broken 00:44:55 [DEBUG] (1) twitch_hls_client: Playlist reload took 52.8621ms 00:44:55 [DEBUG] (1) twitch_hls_client: Sequence: 3784 -> 3785 00:44:55 [DEBUG] (2) ureq::pool: pulling stream from pool: https|video-edge-1caf04.jfk06.abs.hls.ttvnw.net|443 -> Stream(RustlsStream) 00:44:55 [DEBUG] (2) ureq::unit: sending request (reused connection) GET https://video-edge-1caf04.jfk06.abs.hls.ttvnw.net/v1/segment/CskFt_iDTGP7JRgUWPDRyXMffdO2HklucDrJXBHYoA9ttJSdmvNSjOTOnAcO3rg9QL4UVa7pZHcTLlLE6yiiWZOY9KeASiSFCA3WGhoZP-a60DD52uZs6LJBzF3sTsI_zNU0Yt735yFlPk-RwF_VdhxkF54N8CIP38hm6KPtdZ1pCT9cAFpQ5-fhRYZQYFX2GmR_X8XlZYb8VJMy5U2H4_bav-yEbf-9V5OzXc7aSHzufOQRCNLpyeeYg1K7cUIsGKiVI5stHViydsHuG-YvY1_0E7l4xP-KApVnXONrcowcJ-MHCP8m8IUQV6_q1hMins7qTFvughMYNv1Juw8EJQlkYdk7KDH_wseE0L0djpxDPwWUHKy_vVJLk5CxIuiFxtbdkGnOq_XdF9-XAaODDlzWTPArpVYIPVDIHeMcBQAGvwfjYvir91cU1o10wcmhgOuLAFxPOBTUAKUZ6N8nl4I8daxLWOl30butk4_LtlyeWJV4xDCDcG6HrDD1FdgCa91yaMLbr7tjAPwlUSqvl4h1HdP7F7YaCs1asYcU_23FXphAk5Gcp9eCJ9eDiC26nXB7L-Imua3fpbcAOCVQmjE54Oo4_H9SVy7NcBa9vSHkWLAyX2eeDC1chh98W59ku9SW8difKgvCzRar1BnsEO0dbSbCkJLxb0C98g0UxDP_Aaxzhw4FDo8Z0_gNuz_3nDaRQj93Rvgis1E2mzWJlGEgTxJdrRdsTIrgdSXmcO2vdvzcexY7x9MKG4jtS7KdXjNyREgSb2RD9tWEhWG0ZIrZJaLOkHrMnSa4of4E0k3k5Ouwcug_1h0CKdwQAhSPtqudqb3T8a1kc26HK6FQFO0C5L-Jw8l_C8krqXXmfcwcOt_UgQEm9h-kRhAeGoi9t_2j4eIXPgQIIHEEXeTc2mV5UT9cof8zOjolHhkI10bS9HtQVlJeX0C-aVMaDEjpKBzfAILtEwwReiABKgl1cy13ZXN0LTIwrQY.ts 00:44:55 [DEBUG] (2) ureq::unit: writing prelude: GET /v1/segment/CskFt_iDTGP7JRgUWPDRyXMffdO2HklucDrJXBHYoA9ttJSdmvNSjOTOnAcO3rg9QL4UVa7pZHcTLlLE6yiiWZOY9KeASiSFCA3WGhoZP-a60DD52uZs6LJBzF3sTsI_zNU0Yt735yFlPk-RwF_VdhxkF54N8CIP38hm6KPtdZ1pCT9cAFpQ5-fhRYZQYFX2GmR_X8XlZYb8VJMy5U2H4_bav-yEbf-9V5OzXc7aSHzufOQRCNLpyeeYg1K7cUIsGKiVI5stHViydsHuG-YvY1_0E7l4xP-KApVnXONrcowcJ-MHCP8m8IUQV6_q1hMins7qTFvughMYNv1Juw8EJQlkYdk7KDH_wseE0L0djpxDPwWUHKy_vVJLk5CxIuiFxtbdkGnOq_XdF9-XAaODDlzWTPArpVYIPVDIHeMcBQAGvwfjYvir91cU1o10wcmhgOuLAFxPOBTUAKUZ6N8nl4I8daxLWOl30butk4_LtlyeWJV4xDCDcG6HrDD1FdgCa91yaMLbr7tjAPwlUSqvl4h1HdP7F7YaCs1asYcU_23FXphAk5Gcp9eCJ9eDiC26nXB7L-Imua3fpbcAOCVQmjE54Oo4_H9SVy7NcBa9vSHkWLAyX2eeDC1chh98W59ku9SW8difKgvCzRar1BnsEO0dbSbCkJLxb0C98g0UxDP_Aaxzhw4FDo8Z0_gNuz_3nDaRQj93Rvgis1E2mzWJlGEgTxJdrRdsTIrgdSXmcO2vdvzcexY7x9MKG4jtS7KdXjNyREgSb2RD9tWEhWG0ZIrZJaLOkHrMnSa4of4E0k3k5Ouwcug_1h0CKdwQAhSPtqudqb3T8a1kc26HK6FQFO0C5L-Jw8l_C8krqXXmfcwcOt_UgQEm9h-kRhAeGoi9t_2j4eIXPgQIIHEEXeTc2mV5UT9cof8zOjolHhkI10bS9HtQVlJeX0C-aVMaDEjpKBzfAILtEwwReiABKgl1cy13ZXN0LTIwrQY.ts HTTP/1.1 Host: video-edge-1caf04.jfk06.abs.hls.ttvnw.net User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Accept: */* content-type: application/octet-stream referer: https://player.twitch.tv origin: https://player.twitch.tv connection: keep-alive accept-encoding: gzip 00:44:55 [DEBUG] (2) ureq::response: Streaming body until content-length: 803888 00:44:55 [DEBUG] (2) ureq::unit: response 200 to GET https://video-edge-1caf04.jfk06.abs.hls.ttvnw.net/v1/segment/CskFt_iDTGP7JRgUWPDRyXMffdO2HklucDrJXBHYoA9ttJSdmvNSjOTOnAcO3rg9QL4UVa7pZHcTLlLE6yiiWZOY9KeASiSFCA3WGhoZP-a60DD52uZs6LJBzF3sTsI_zNU0Yt735yFlPk-RwF_VdhxkF54N8CIP38hm6KPtdZ1pCT9cAFpQ5-fhRYZQYFX2GmR_X8XlZYb8VJMy5U2H4_bav-yEbf-9V5OzXc7aSHzufOQRCNLpyeeYg1K7cUIsGKiVI5stHViydsHuG-YvY1_0E7l4xP-KApVnXONrcowcJ-MHCP8m8IUQV6_q1hMins7qTFvughMYNv1Juw8EJQlkYdk7KDH_wseE0L0djpxDPwWUHKy_vVJLk5CxIuiFxtbdkGnOq_XdF9-XAaODDlzWTPArpVYIPVDIHeMcBQAGvwfjYvir91cU1o10wcmhgOuLAFxPOBTUAKUZ6N8nl4I8daxLWOl30butk4_LtlyeWJV4xDCDcG6HrDD1FdgCa91yaMLbr7tjAPwlUSqvl4h1HdP7F7YaCs1asYcU_23FXphAk5Gcp9eCJ9eDiC26nXB7L-Imua3fpbcAOCVQmjE54Oo4_H9SVy7NcBa9vSHkWLAyX2eeDC1chh98W59ku9SW8difKgvCzRar1BnsEO0dbSbCkJLxb0C98g0UxDP_Aaxzhw4FDo8Z0_gNuz_3nDaRQj93Rvgis1E2mzWJlGEgTxJdrRdsTIrgdSXmcO2vdvzcexY7x9MKG4jtS7KdXjNyREgSb2RD9tWEhWG0ZIrZJaLOkHrMnSa4of4E0k3k5Ouwcug_1h0CKdwQAhSPtqudqb3T8a1kc26HK6FQFO0C5L-Jw8l_C8krqXXmfcwcOt_UgQEm9h-kRhAeGoi9t_2j4eIXPgQIIHEEXeTc2mV5UT9cof8zOjolHhkI10bS9HtQVlJeX0C-aVMaDEjpKBzfAILtEwwReiABKgl1cy13ZXN0LTIwrQY.ts 00:44:55 [DEBUG] (2) ureq::pool: adding stream to pool: https|video-edge-1caf04.jfk06.abs.hls.ttvnw.net|443 -> Stream(RustlsStream) 00:44:57 [DEBUG] (1) ureq::pool: pulling stream from pool: https|video-weaver.atl01.hls.ttvnw.net|443 -> Stream(RustlsStream) 00:44:57 [DEBUG] (1) ureq::unit: sending request (reused connection) GET https://video-weaver.atl01.hls.ttvnw.net/v1/playlist/CoQFvcucgfVaDnN-iA9-3IXtuqC-iqmjozYc1dOrO1MfyZ-Dio1-b4I_9YhKPwyjWZFCOA4ObrVhtqA1wiDspccSljCDGJXa-E1tD4xuMT-wWODLN2hryXaGcZrUEnc_WJtmJ0jwJ-RcRGQAwc3McfdxMumg4pVyqD4sZ85-zVaspiOl1W-303GdSQBYBb1islocHPMPEteDUVVxsKAip8VSgXRlcWd6PehZQ_txc3bWDtkAaKQTDmHo1d_H55M_SMbGHA3aZpx7gAkNGUWfxOZW66IJ94LNc0wQRslvzoMLAsvzE5XVqwadyAkKxCzJg-FdCR-93wSP6l66Yj1mKFDrG4AM3XlAxdAHRT_IzL20GcWuZOtf88KK5GQoUQu5Y0FJqB-MOaGVoxv4N6z50purhqQkWsMaGByr_lgQo3t3e6FI2Cp5ik1f3wiJcC34t9DcKcSTFK9yN_QwQpvbWPFAbj8iysb-1TY7Ntxm3Ss1xQQxsOzSJwUuaGnX5K5vnxQ3Bi5D2OpVLmMKBYdMx--Hhj9ftj4K7nuWO0fUcUcAAnWEnWJvGV91wyrOlX8vCMdF3AdWMXQ5h1mbfEglB8SOYeDV9MBQ-NKhstHAUS5nH2GHB-3GF58ibcVfGew5-zHtPfEDYQI65-E6FbeY2W8mU64Jb8zre3nnbcyBSfcHvRy_6ztVSbu9yBQ0PDHHJf3LYeT5nYkhdXJRINvfat5XCEjYZ_4ei8WNXucsUM7Oxli6ah8FaFp4t6gLF4xixZUJBKFmPRiQkwSJegwPcyOnwuj79evrfCLJJmR4L5vq3RgiO13wN9bXL4un1a0RW6WsppNqG8itqP_qTPd5rCvFwpp1kbcaDJqEZ1OJHWh-bQfAXCABKgl1cy13ZXN0LTIwrAY.m3u8 00:44:57 [DEBUG] (1) ureq::unit: writing prelude: GET /v1/playlist/CoQFvcucgfVaDnN-iA9-3IXtuqC-iqmjozYc1dOrO1MfyZ-Dio1-b4I_9YhKPwyjWZFCOA4ObrVhtqA1wiDspccSljCDGJXa-E1tD4xuMT-wWODLN2hryXaGcZrUEnc_WJtmJ0jwJ-RcRGQAwc3McfdxMumg4pVyqD4sZ85-zVaspiOl1W-303GdSQBYBb1islocHPMPEteDUVVxsKAip8VSgXRlcWd6PehZQ_txc3bWDtkAaKQTDmHo1d_H55M_SMbGHA3aZpx7gAkNGUWfxOZW66IJ94LNc0wQRslvzoMLAsvzE5XVqwadyAkKxCzJg-FdCR-93wSP6l66Yj1mKFDrG4AM3XlAxdAHRT_IzL20GcWuZOtf88KK5GQoUQu5Y0FJqB-MOaGVoxv4N6z50purhqQkWsMaGByr_lgQo3t3e6FI2Cp5ik1f3wiJcC34t9DcKcSTFK9yN_QwQpvbWPFAbj8iysb-1TY7Ntxm3Ss1xQQxsOzSJwUuaGnX5K5vnxQ3Bi5D2OpVLmMKBYdMx--Hhj9ftj4K7nuWO0fUcUcAAnWEnWJvGV91wyrOlX8vCMdF3AdWMXQ5h1mbfEglB8SOYeDV9MBQ-NKhstHAUS5nH2GHB-3GF58ibcVfGew5-zHtPfEDYQI65-E6FbeY2W8mU64Jb8zre3nnbcyBSfcHvRy_6ztVSbu9yBQ0PDHHJf3LYeT5nYkhdXJRINvfat5XCEjYZ_4ei8WNXucsUM7Oxli6ah8FaFp4t6gLF4xixZUJBKFmPRiQkwSJegwPcyOnwuj79evrfCLJJmR4L5vq3RgiO13wN9bXL4un1a0RW6WsppNqG8itqP_qTPd5rCvFwpp1kbcaDJqEZ1OJHWh-bQfAXCABKgl1cy13ZXN0LTIwrAY.m3u8 HTTP/1.1 Host: video-weaver.atl01.hls.ttvnw.net User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Accept: */* referer: https://player.twitch.tv origin: https://player.twitch.tv connection: keep-alive accept-encoding: gzip 00:44:57 [DEBUG] (1) ureq::response: Chunked body in response 00:44:57 [DEBUG] (1) ureq::unit: response 200 to GET https://video-weaver.atl01.hls.ttvnw.net/v1/playlist/CoQFvcucgfVaDnN-iA9-3IXtuqC-iqmjozYc1dOrO1MfyZ-Dio1-b4I_9YhKPwyjWZFCOA4ObrVhtqA1wiDspccSljCDGJXa-E1tD4xuMT-wWODLN2hryXaGcZrUEnc_WJtmJ0jwJ-RcRGQAwc3McfdxMumg4pVyqD4sZ85-zVaspiOl1W-303GdSQBYBb1islocHPMPEteDUVVxsKAip8VSgXRlcWd6PehZQ_txc3bWDtkAaKQTDmHo1d_H55M_SMbGHA3aZpx7gAkNGUWfxOZW66IJ94LNc0wQRslvzoMLAsvzE5XVqwadyAkKxCzJg-FdCR-93wSP6l66Yj1mKFDrG4AM3XlAxdAHRT_IzL20GcWuZOtf88KK5GQoUQu5Y0FJqB-MOaGVoxv4N6z50purhqQkWsMaGByr_lgQo3t3e6FI2Cp5ik1f3wiJcC34t9DcKcSTFK9yN_QwQpvbWPFAbj8iysb-1TY7Ntxm3Ss1xQQxsOzSJwUuaGnX5K5vnxQ3Bi5D2OpVLmMKBYdMx--Hhj9ftj4K7nuWO0fUcUcAAnWEnWJvGV91wyrOlX8vCMdF3AdWMXQ5h1mbfEglB8SOYeDV9MBQ-NKhstHAUS5nH2GHB-3GF58ibcVfGew5-zHtPfEDYQI65-E6FbeY2W8mU64Jb8zre3nnbcyBSfcHvRy_6ztVSbu9yBQ0PDHHJf3LYeT5nYkhdXJRINvfat5XCEjYZ_4ei8WNXucsUM7Oxli6ah8FaFp4t6gLF4xixZUJBKFmPRiQkwSJegwPcyOnwuj79evrfCLJJmR4L5vq3RgiO13wN9bXL4un1a0RW6WsppNqG8itqP_qTPd5rCvFwpp1kbcaDJqEZ1OJHWh-bQfAXCABKgl1cy13ZXN0LTIwrAY.m3u8 00:44:57 [DEBUG] (1) ureq::pool: adding stream to pool: https|video-weaver.atl01.hls.ttvnw.net|443 -> Stream(RustlsStream) 00:44:57 [WARN] Encountered a discontinuity, stream may be broken 00:44:57 [DEBUG] (1) twitch_hls_client: Playlist reload took 45.9068ms 00:44:57 [DEBUG] (1) twitch_hls_client: Sequence: 3785 -> 3786 00:44:57 [DEBUG] (2) ureq::pool: pulling stream from pool: https|video-edge-1caf04.jfk06.abs.hls.ttvnw.net|443 -> Stream(RustlsStream) 00:44:57 [DEBUG] (2) ureq::unit: sending request (reused connection) GET https://video-edge-1caf04.jfk06.abs.hls.ttvnw.net/v1/segment/Cp0FoomcZEW0lp9pSnscgoik-8RXsA24YpTw4zjTFx43ZwEEz2b5UFQQyx9hIkc-ur6tt8RhHH-auucl4PHRsZF1YZtKDW0AWhTwcGfKJqjz5W6lsRqpUZVf4Ri_xs9KcHCC8Z_vugO3YKNCDYZb9MH7HO-D_DHsSWwCFsnVxpsD0nqpKBUvRe5TYFlwYc8MqUWkryx04-YxbSMsT6-8TNaSVf7NDDx50cqMA7OXxmtzg-NGBIbdHPU1HtMWCeUG38SIQ4xjyvevgU9kmCoHJWSSrMfhtddP4Gkq5Wm_znSR81bVOiltdIiBTk_oK28oM1lUJ3X0bdO_syKHh3Yh811VpLLuolMmB79_mER-PvUwcN56HSWmlkNYVdlIGmi-oYGnnFrgXIbCCHFoegACnlB_u2YUBgaXXeLR40eM3Wz4EfLEnev7pg42p81qttDeSJIgq9VFDC-thQZdxoyQnqLOfnrm16EIDZPt5rO8aWrZ97RoA4Od3vsthEDA6C0o2UEsEdlYYA-RDBLeMvEULwajw7vu89Cn7kz1FTp508liKqqonAykiU5yD0wI4p5U7QgOvy2mhWcZ4n2QE6HEIrU8_vBVfXbxBFX0JIJ3qoKpwjCxRP7VHHZynEDvm3SAsN6SgOTmWIlxQbcpZVSjwiNZSYd7fjJXyNBxiXFQwlf8Ngtep0SWGpLhfW8TDf4nrsObr9m5QyKONx4cLbT3jRcihEX1XbY4132trOBaY3H7DyAEK1e6E7w6mCH-yrH9IYByojlSle9DgpjgmdeJZONmQEd-vz1KlwRs_WHiWPl17O0WViwAxsQFyX6bM2CfQE3VhbEkOy7CwVBysI_v9JIaKz_C00idqOGwFOP-0H56GLGzNnM7xWUfVfg_Ci6RGgy1zBF82WpOs69uEIsgASoJdXMtd2VzdC0yMK0G.ts 00:44:57 [DEBUG] (2) ureq::unit: writing prelude: GET /v1/segment/Cp0FoomcZEW0lp9pSnscgoik-8RXsA24YpTw4zjTFx43ZwEEz2b5UFQQyx9hIkc-ur6tt8RhHH-auucl4PHRsZF1YZtKDW0AWhTwcGfKJqjz5W6lsRqpUZVf4Ri_xs9KcHCC8Z_vugO3YKNCDYZb9MH7HO-D_DHsSWwCFsnVxpsD0nqpKBUvRe5TYFlwYc8MqUWkryx04-YxbSMsT6-8TNaSVf7NDDx50cqMA7OXxmtzg-NGBIbdHPU1HtMWCeUG38SIQ4xjyvevgU9kmCoHJWSSrMfhtddP4Gkq5Wm_znSR81bVOiltdIiBTk_oK28oM1lUJ3X0bdO_syKHh3Yh811VpLLuolMmB79_mER-PvUwcN56HSWmlkNYVdlIGmi-oYGnnFrgXIbCCHFoegACnlB_u2YUBgaXXeLR40eM3Wz4EfLEnev7pg42p81qttDeSJIgq9VFDC-thQZdxoyQnqLOfnrm16EIDZPt5rO8aWrZ97RoA4Od3vsthEDA6C0o2UEsEdlYYA-RDBLeMvEULwajw7vu89Cn7kz1FTp508liKqqonAykiU5yD0wI4p5U7QgOvy2mhWcZ4n2QE6HEIrU8_vBVfXbxBFX0JIJ3qoKpwjCxRP7VHHZynEDvm3SAsN6SgOTmWIlxQbcpZVSjwiNZSYd7fjJXyNBxiXFQwlf8Ngtep0SWGpLhfW8TDf4nrsObr9m5QyKONx4cLbT3jRcihEX1XbY4132trOBaY3H7DyAEK1e6E7w6mCH-yrH9IYByojlSle9DgpjgmdeJZONmQEd-vz1KlwRs_WHiWPl17O0WViwAxsQFyX6bM2CfQE3VhbEkOy7CwVBysI_v9JIaKz_C00idqOGwFOP-0H56GLGzNnM7xWUfVfg_Ci6RGgy1zBF82WpOs69uEIsgASoJdXMtd2VzdC0yMK0G.ts HTTP/1.1 Host: video-edge-1caf04.jfk06.abs.hls.ttvnw.net User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Accept: */* content-type: application/octet-stream referer: https://player.twitch.tv origin: https://player.twitch.tv connection: keep-alive accept-encoding: gzip 00:44:57 [DEBUG] (2) ureq::response: Streaming body until content-length: 961056 00:44:57 [DEBUG] (2) ureq::unit: response 200 to GET https://video-edge-1caf04.jfk06.abs.hls.ttvnw.net/v1/segment/Cp0FoomcZEW0lp9pSnscgoik-8RXsA24YpTw4zjTFx43ZwEEz2b5UFQQyx9hIkc-ur6tt8RhHH-auucl4PHRsZF1YZtKDW0AWhTwcGfKJqjz5W6lsRqpUZVf4Ri_xs9KcHCC8Z_vugO3YKNCDYZb9MH7HO-D_DHsSWwCFsnVxpsD0nqpKBUvRe5TYFlwYc8MqUWkryx04-YxbSMsT6-8TNaSVf7NDDx50cqMA7OXxmtzg-NGBIbdHPU1HtMWCeUG38SIQ4xjyvevgU9kmCoHJWSSrMfhtddP4Gkq5Wm_znSR81bVOiltdIiBTk_oK28oM1lUJ3X0bdO_syKHh3Yh811VpLLuolMmB79_mER-PvUwcN56HSWmlkNYVdlIGmi-oYGnnFrgXIbCCHFoegACnlB_u2YUBgaXXeLR40eM3Wz4EfLEnev7pg42p81qttDeSJIgq9VFDC-thQZdxoyQnqLOfnrm16EIDZPt5rO8aWrZ97RoA4Od3vsthEDA6C0o2UEsEdlYYA-RDBLeMvEULwajw7vu89Cn7kz1FTp508liKqqonAykiU5yD0wI4p5U7QgOvy2mhWcZ4n2QE6HEIrU8_vBVfXbxBFX0JIJ3qoKpwjCxRP7VHHZynEDvm3SAsN6SgOTmWIlxQbcpZVSjwiNZSYd7fjJXyNBxiXFQwlf8Ngtep0SWGpLhfW8TDf4nrsObr9m5QyKONx4cLbT3jRcihEX1XbY4132trOBaY3H7DyAEK1e6E7w6mCH-yrH9IYByojlSle9DgpjgmdeJZONmQEd-vz1KlwRs_WHiWPl17O0WViwAxsQFyX6bM2CfQE3VhbEkOy7CwVBysI_v9JIaKz_C00idqOGwFOP-0H56GLGzNnM7xWUfVfg_Ci6RGgy1zBF82WpOs69uEIsgASoJdXMtd2VzdC0yMK0G.ts 00:44:57 [DEBUG] (2) ureq::pool: adding stream to pool: https|video-edge-1caf04.jfk06.abs.hls.ttvnw.net|443 -> Stream(RustlsStream) ```

tbf, I think ttv-lol is prob at fault, but maybe some filtering like streamlink should be done so the bitstream pauses till the ad segment is over?

2bc4 commented 1 year ago

Thanks for the report.

This is hard to test because I rarely get ads. Right now it just looks for the string "Amazon" to separate ads from other discontinuities, streamlink apparently also looks for "stitched-ad" and "X-TV-TWITCH-AD". I'll add those and hope it helps.

maybe some filtering like streamlink should be done so the bitstream pauses till the ad segment is over

It's supposed to restart the stream (and the player) if an ad is encountered. If a playlist has ads it's only going to serve more in the future so might as well fetch a new playlist where that hopefully won't be the case.

brian6932 commented 1 year ago

This seems to be fixed