hi all,
Yeah, i know i'm in for a ruckin',... (it's plebs at play here).
I have stream detector set up as per the instructions... tried running angelas itv script from within wks-keys folder,... using a cmd prompt.... and this was my outcome..
D:\YT_Rips\WKS-KEYS>bestitvx.py
Traceback (most recent call last):
File "D:\YT_Rips\WKS-KEYS\bestITVX.py", line 32, in <module>
import requests
ModuleNotFoundError: No module named 'requests'
So I wanted to know what would happen if i simply tried curl https://www.itv.com/watch/significant-other/10a1755/10a1755a0001 (i'm not after this program, its just random)
and this is what was returned...
(which to me, looks like the web page of the above)..
D:\YT_Rips\WKS-KEYS>curl https://www.itv.com/watch/significant-other/10a1755/10a1755a0001
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><script id="GTM-MXQXBVC" async="">
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:''; j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-MXQXBVC');
</script><script id="json-ld" type="application/ld+json">{"@context":"http://schema.org","@type":"WebPage","description":"ITVX is the streaming home for all of ITV and so much more! With exclusive new series launching every week, an ever-changing library of blockbuster movies, the nation's biggest live events, curated live streaming channels, thousands of box sets and the ability to access BritBox all in one place! Get ready for the UK's freshest streaming service. Stream for free or upgrade for more.","url":"https://www.itv.com/","publisher":{"@type":"Organization","name":"ITVX ","logo":"https://app.10ft.itv.com/itvstatic/assets/images/brands/itvx/itvx-logo-for-light-backgrounds.jpg?q=80&format=jpg&w=1366&h=769&bg=fa lse&blur=0"},"name":"ITVX","alternateName":"ITV Hub","sameAs":["https://en.wikipedia.org/wiki/ITVX"]}</script><meta name="next-head-count" content="4"/><meta name="google-site-verification" content="y8ofqZeKaLhUPlLVuPHRGcv17-F0ayz1mhk4y0_y0Xw"/><link rel="apple-touch-icon" href="https://app.10ft.itv.com/itvstatic/assets/images/brands/itvx/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="48x48" href="https://app.10ft.itv.com/itvstatic/assets/images/brands/itvx/favicon-48x48.png"/><link rel="shortcut icon" type="image/x-icon" href="https://app.10ft.itv.com/itvstatic/assets/images/brands/itvx/favicon.ico"/><meta property="fb:app_id" content="829452750420831"/><meta property="og:type" content="website"/><meta property="ogite_name" content="ITVX"/><meta name="twitter:card" content="summary"/><meta name="twitter
ite" content="@itvx"/><link rel="stylesheet" type="text/css" href="https://app.10ft.itv.com/itvstatic/assets/cookies-prompt/cassie-v2.css" data-testid="cassie-stylesheet"/><script src="https://cscript-cdn-irl.cassiecloud.com/loader.js" data-testid="cassie-loader"></script><script src="https://app.10ft.itv.com/itvstatic/assets/cookies-prompt/cassie-init-v2.js" type="text/javascript" data-testid="cassie-init-script" data-cassie-widget-profile-id="3" data-cassie-licence-id="9FA306B9-83BD-4F83-A061-52D3589ABADB" data-cassie-language-code="Default" data-cassie-region="irl" data-cassie-environment="production" data-cassie-excluded-paths="'/terms/articles/cookies'"></script><link rel="preload" href="/hades-assets/_next/static/css/fdd2e0559dd4c09a.css" as="style"/><link rel="stylesheet" href="/hades-assets/_next/static/css/fdd2e0559dd4c09a.css" data-n-g=""/><link rel="preload" href="/hades-assets/_next/static/css/fc8f6ac334de7421.css" as="style"/><link rel="stylesheet" href="/hades-assets/_next/static/css/fc8f6ac334de7421.css" data-n-p=""/><link rel="preload" href="/hades-assets/_next/static/css/1f3d7a29e9781aca.css" as="style"/><link rel="stylesheet" href="/hades-assets/_next/static/css/1f3d7a29e9781aca.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/hades-assets/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/hades-assets/_next/static/chunks/webpack-d180705eac591d3e.js" defer=""></script><script src="/hades-assets/_next/static/chunks/framework-57c79218954dfb32.js" defer=""></script><script src="/hades-assets/_next/static/chunks/main-f1084c18c118aa42.js" defer=""></script><script src="/hades-assets/_next/static/chunks/pages/_app-8d72693351faf0fb.js" defer=""></script><script src="/hades-assets/_next/static/chunks/73-302e637df8e6e0b4.js" defer=""></script><script src="/hades-assets/_next/static/chunks/144-623e2b817c7bb44c.js" defer=""></script><script src="/hades-assets/_next/static/chunks/682-966dbcad4eb859d0.js" defer=""></script><script src="/hades-assets/_next/static/chunks/406-d83e9564cfd30560.js" defer=""></script><script src="/hades-assets/_next/static/chunks/551-957a4f242c994ed5.js" defer=""></script><script src="/hades-assets/_next/static/chunks/148-21cd64b90aac86b8.js" defer=""></script><script src="/hades-assets/_next/static/chunks/pages/watch/%5BprogrammeSlug%5D/%5BprogrammeId%5D/%5BepisodeId%5D-8cfc7ae4fa87a9fd.js" defer=""></script><script src="/hades-assets/_next/static/sjBhvUOKsNp6SWLkTez-y/_buildManifest.js" defer=""></script><script src="/hades-assets/_next/static/sjBhvUOKsNp6SWLkTez-y/_ssgManifest.js" defer=""></script></head><body class="app_body"><div id="__next" data-reactroot=""><div class="cp_app-wrapper" data-cpt="https://cpt.itv.com/0.0.1/event" data-web-vitals="https://http-inputs-itv.splunkcloud.com/services/collector"><div data-testid="cck-wrapper"><div class="dialogs-container-wrapper"><div class="cp_grid cp_dialog cp_dialog--hide" role="dialog" aria-modal="true"><div data-testid="dialog-box" class="cp_grid__item cp_width--five-sixths cp_width--sponge--five-sixths cp_width--cream--one-half cp_dialog__box cp_dialog--centered" data-show="false"></div></div></div><header class="cp_navigation header" data-testid="header" style="top:0px"><nav class="cp_navigation__main cp_grid__wrapper"><div class="cp_navigation__main__wrapper cp_grid cp_grid--align-items-center cp_width--auto"><div class="cp_navigation__main__column cp_navigation__main__column__brand cp_navigation__main__column__brand--with-sponsor"><a class="cp_link cp_navigation__main__column__brand__logo__link" href="/" title="ITVX Homepage"><i class="cp_icon cp_icon__logo-itvx-mono cp_channel-logo cp_icon--custom-size cp_navigation__main__column__brand__logo" aria-hidden="false"><svg viewBox="0 0 300 101" xmlns="http://www.w3.org/2000/svg" aria-label="ITVX Homepage" role="img"><title>ITVX Homepage</title><path fill-rule="evenodd" clip-rule="evenodd" d="M13.303 26.39c8.224 0 13.304-5.833 13.304-13.2C26.607 5.833 21.527 0 13.304 0 5.08 0 0 5.833 0 13.2c0 7.357 5.08 13.19 13.303 13.19Zm285.48 63.894-28.502-39.209c-.613-.836-.624-1.651-.031-2.508l26.374-38.32c.772-1.09 1.291-1.937 1.291-3.546 0-1.398-.931-3.112-2.381-4.563C294.084.688 292.623 0 290.708 0c-1.08 0-2.032.445-3.091 1.25l-36.1 27.723c-.868.667-1.778.667-2.646 0l-36.09-27.724C211.733.445 210.77 0 209.691 0c-1.905 0-3.376.688-4.816 2.138-1.45 1.45-2.381 3.165-2.381 4.563 0 1.62.519 2.456 1.291 3.546l26.374 38.32c.582.846.572 1.661-.031 2.508l-28.502 39.21c-.762 1.047-1.227 1.99-1.227 3.239 0 1.799.783 3.292 2.233 4.731 1.45 1.45 3.027 2.266 4.762 2.266 1.238 0 2.18-.487 3.218-1.25l38.312-27.882a2.175 2.175 0 0 1 2.55 0l38.313 27.882c1.048.763 1.989 1.25 3.228 1.25 1.735 0 3.312-.816 4.762-2.266 1.44-1.44 2.223-2.932 2.223-4.731.01-1.25-.455-2.192-1.217-3.24ZM191.731 35.832c1.915.582 5.747 1.757 7.175 2.212 1.471.477 2.085 1.218 2.085 2.16 0 .931-.529 2.403-1.28 4.425-5.959 16.164-14.235 33.725-23.951 48.577-3.704 5.674-7.81 7.314-14.658 7.314-7.228 0-10.467-1.937-14.012-7.176-2.084-3.072-4.239-6.412-6.976-10.654l-1.343-2.081c-7.641 12.533-20.744 19.901-38.566 19.901-13.494 0-25.718-4.139-32.439-10.268-6.847 6.33-18.447 10.278-29.57 10.278-11.144 0-22.86-3.059-29.718-9.918C3.207 85.32.18 78.629.18 66.9V37.526c0-1.45.508-2.064 2.064-2.064h22.088c1.576 0 2.106.635 2.106 2.053v32.498c0 5.187 1.122 8.712 3.513 11.242 2.297 2.424 6.15 3.874 10.5 3.874 4.455 0 8.498-1.493 11.08-4.266 2.932-3.154 4.265-7.643 4.265-15.942v-49.9c0-2.445.635-4.129 2.011-5.378 2.022-1.852 6.117-2.752 11.113-2.752 4.921 0 9.102.91 11.123 2.752 1.376 1.25 2.011 2.933 2.011 5.378v20.43h20.775c1.567 0 2.117.635 2.117 2.054v12.49c0 1.42-.54 2.054-2.117 2.054H91.166c-3.64 0-6.657-.54-9.112-1.588v12.957c0 7.728 1.63 12.364 4.985 15.804 3.513 3.61 8.911 5.59 15.896 5.59 14.722 0 22.353-9.242 22.353-19.457 0-4.096-1.207-7.43-3.609-11.538-2.117-3.61-2.678-5.145-2.678-7.177 0-6.002 10.626-12.449 17.801-12.449 3.482 0 5.25 1.154 7.896 5.473 1.815 2.958 4.866 8.317 8.323 14.388 1.541 2.706 3.162 5.553 4.79 8.392 3.418 5.96 7.091 12.555 9.08 16.355 6.075-10.395 12.88-27.12 17.357-42.014.455-1.493 1.154-2.213 2.445-2.213.688 0 1.852.286 5.038 1.26Z" fill="currentColor"/></svg></i></a></div><div class="cp_sponsorship cp_grid cp_grid--align-items-bottom cp_navigation__main__column__sponsorship" data-testid="sponsorship"></div><div class="cp_navigation__main__column__primary cp_navigation__main__column cp_navigation__main__column__primary__menu--background" data-testid="navigation-primary-menu"><ul class="cp_navigation__main__column__primary__menu cp_grid cp_grid--align-items-center cp_grid--justify-center"><li class="cp_navigation-item__link--adult-link--hidden"><a class="cp_link cp_navigation-item__link" href="/watch">Live</a></li><li class="cp_navigation-item__link--adult-link--hidden"><a class="cp_link cp_navigation-item__link" href="/watch/collections/films/6D2ZDICRbTr3UnRebcr0D8">Films</a></li><li class="cp_navigation-item__link--adult-link--hidden"><a class="cp_link cp_navigation-item__link" href="/watch/categories">Categories</a></li><li class="cp_navigation-item__link--adult-link--hidden"><a class="cp_link cp_navigation-item__link" href="/news">News</a></li><li class="cp_navigation-item__link--child-link--hidden"><a class="cp_link cp_navigation-item__link" href="/watch/kids/a-z">Shows A-Z</a></li><li class="cp_navigation-item__link--adult-link--hidden"><a class="cp_link cp_navigation-item__link" href="/watch/user/mylist">My List</a></li></ul></div><div class="cp_navigation__main__column cp_navigation__main__column__secondary" data-testid="navigation-secondary-menu"><ul class="cp_navigation__main__column__secondary__men u cp_grid cp_grid--align-items-center cp_grid--justify-center"><li class="cp_navigation__main__premium--primary"><a class="cp_link cp_navigation-item__link cp_navigation-item__link__premium-primary cp_navigation-item__link--adult-link--hidden" href="/watch/itvx-premium" title="Upgrade to premium">Upgrade to <!-- --> <b class="cp_navigation__main__premium--bold">Premium</b></a></li></ul></div><div class="cp_navigation__main__column__icons"><div class="cp_navigation__main__column__icons__wrapper "><a class="cp_link cp_navigation__main__column__icons__wrapper__link" href="/watch/user/signin" title="Sign in" data-testid="navigation-user-link"><i class="cp_icon cp_icon__account cp_icon--large cp_icon--baseline" aria-hidden="true"><svg width="18" height="19" viewBox="0 0 18 19" fill="none" xmlns="http://www.w3.org/2000/svg" aria-label="Account icon" role="img"><title>Account icon</title><path fill-rule="evenodd" clip-rule="evenodd" d="M9.00024 0C6.79111 0 5.00024 1.79086 5.00024 4C5.00024 6.20914 6.79111 8 9.00024 8C11.2094 8 13.0002 6.20914 13.0002 4C13.0002 1.79086 11.2094 0 9.00024 0ZM7.00024 4C7.00024 2.89543 7.89567 2 9.00024 2C10.1048 2 11.0002 2.89543 11.0002 4C11.0002 5.10457 10.1048 6 9.00024 6C7.89567 6 7.00024 5.10457 7.00024 4Z" fill="currentColor"/><path d="M3.00026 10C2.55378 10 2.16139 10.296 2.03873 10.7253L0.0387335 17.7253C-0.112991 18.2563 0.194501 18.8098 0.725536 18.9615C1.25657 19.1132 1.81006 18.8058 1.96178 18.2747L3.75456 12H14.246L16.0387 18.2747C16.1905 18.8058 16.7439 19.1132 17.275 18.9615C17.806 18.8098 18.1135 18.2563 17.9618 17.7253L15.9618 10.7253C15.8391 10.296 15.4467 10 15.0003 10H3.00026Z" fill="currentColor"/></svg></i></a></div><div class="cp_navigation__main__column__icons__wrapper "><a class="cp_link cp_navigation__main__column__icons__wrapper__link" href="" id="search-btn" icon="[object Object]"><i class="cp_icon cp_icon__search cp_icon--medium" aria-hidden="true"><svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg" aria-label="Search icon" role="img"><title>Search icon</title><path fill-rule="evenodd" clip-rule="evenodd" d="M14 0.666672C6.63619 0.666672 0.666656 6.63621 0.666656 14C0.666656 21.3638 6.63619 27.3333 14 27.3333C17.2017 27.3333 20.1398 26.2048 22.4383 24.3239L25.0572 26.9428C25.5779 27.4635 26.4221 27.4635 26.9428 26.9428C27.4635 26.4221 27.4635 25.5779 26.9428 25.0572L24.3239 22.4383C26.2048 20.1398 27.3333 17.2017 27.3333 14C27.3333 6.63621 21.3638 0.666672 14 0.666672ZM3.33332 14C3.33332 8.10897 8.10895 3.33334 14 3.33334C19.891 3.33334 24.6667 8.10897 24.6667 14C24.6667 19.891 19.891 24.6667 14 24.6667C8.10895 24.6667 3.33332 19.891 3.33332 14Z" fill="currentColor"/></svg></i><span class="cp_navigation--is-off-page">open<!-- --> search bar</span></a></div><div class="cp_navigation__main__column__icons__wrapper cp_navigation__main__column__icons__wrapper--burger" data-testid="navigation-burger-button"><a class="cp_link cp_navigation__main__column__icons__wrapper__link" href=""><i class="cp_icon cp_icon__burger cp_icon--xxlarge" aria-hidden="true"><svg width="18" height="14" viewBox="0 0 18 14" fill="none" xmlns="http://www.w3.org/2000/svg" aria-label="Burger menu" role="img"><title>Burger menu</title><path fill-rule="evenodd" clip-rule="evenodd" d="M0 1C0 0.447715 0.447715 0 1 0H17C17.5523 0 18 0.447715 18 1C18 1.55228 17.5523 2 17 2H1C0.447715 2 0 1.55228 0 1Z" fill="currentColor"/><path fill-rule="evenodd" clip-rule="evenodd" d="M0 7C0 6.44772 0.447715 6 1 6H17C17.5523 6 18 6.44772 18 7C18 7.55228 17.5523 8 17 8H1C0.447715 8 0 7.55228 0 7Z" fill="currentColor"/><path fill-rule="evenodd" clip-rule="evenodd" d="M0 13C0 12.4477 0.447715 12 1 12H17C17.5523 12 18 12.4477 18 13C18 13.5523 17.5523 14 17 14H1C0.447715 14 0 13.5523 0 13Z" fill="currentColor"/></svg></i><span class="cp_navigation--is-off-page">open mobile menu</span></a></div></div></div></nav></header><main class="pageContentWrapper"><section class="spinner-wrapper"><i class="cp_icon cp_icon__spinner cp_icon--xxlarge" aria-hidden="false"> <style> .loading-spinner { -webkit-animation: loading-spinner 1s cubic-bezier(1, 0.8, 0.6, 0.3) infinite; animation: spin 1s cubic-bezier(1, 0.8, 0.6, 0.3) infinite; } @-webkit-keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @keyframes loading-spinner { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }</style><svg class="loading-spinner" width="50" height="50" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" aria-label="Loading spinner" role="img"><title>Loading spinner</title> <path d="M3.05022 3.05026 C 2.65969 3.44078 2.65969 4.07394 3.05022 4.46447 C 3.44074 4.85499 4.07391 4.85499 4.46443 4.46447 L 3.05022 3.05026Z M 4.46443 4.46447 C 5.16369 3.76521 6.05461 3.289 7.02451 3.09608 L 6.63433 1.13451 C 5.27647 1.4046 4.02918 2.07129 3.05022 3.05026 L 4.46443 4.46447Z M 7.02451 3.09608 C 7.99442 2.90315 8.99975 3.00217 9.91338 3.3806 L 10.6787 1.53285C9.39967 1.00303 7.9922 0.864409 6.63433 1.13451 L 7.02451 3.09608ZM9.91338 3.3806C10.827 3.75904 11.6079 4.39991 12.1573 5.22215L13.8203 4.11101C13.0511 2.95987 11.9578 2.06266 10.6787 1.53285L9.91338 3.3806ZM12.1573 5.22215C12.7067 6.0444 13 7.01109 13 8L15 8C15 6.61553 14.5894 5.26215 13.8203 4.11101L12.1573 5.22215Z" fill="url(#paint0_linear_11825_47664)" /> <path d="M3 8C3 7.44772 2.55228 7 2 7C1.44772 7 1 7.44772 1 8L3 8ZM1 8C1 8.91925 1.18106 9.82951 1.53284 10.6788L3.3806 9.91342C3.12933 9.30679 3 8.65661 3 8L1 8ZM1.53284 10.6788C1.88463 11.5281 2.40024 12.2997 3.05025 12.9497L4.46447 11.5355C4.00017 11.0712 3.63188 10.52 3.3806 9.91342L1.53284 10.6788ZM3.05025 12.9497C3.70026 13.5998 4.47194 14.1154 5.32122 14.4672L6.08658 12.6194C5.47996 12.3681 4.92876 11.9998 4.46447 11.5355L3.05025 12.9497ZM5.32122 14.4672C6.1705 14.8189 7.08075 15 8 15L8 13C7.34339 13 6.69321 12.8707 6.08658 12.6194L5.32122 14.4672ZM8 15C8.91925 15 9.82951 14.8189 10.6788 14.4672L9.91342 12.6194C9.30679 12.8707 8.65661 13 8 13L8 15ZM10.6788 14.4672C11.5281 14.1154 12.2997 13.5998 12.9497 12.9497L11.5355 11.5355C11.0712 11.9998 10.52 12.3681 9.91342 12.6194L10.6788 14.4672ZM12.9497 12.9497C13.5998 12.2997 14.1154 11.5281 14.4672 10.6788L12.6194 9.91342C12.3681 10.52 11.9998 11.0712 11.5355 11.5355L12.9497 12.9497ZM14.4672 10.6788C14.8189 9.8295 15 8.91925 15 8L13 8C13 8.65661 12.8707 9.30679 12.6194 9.91342L14.4672 10.6788Z" fill="url(#paint1_linear_11825_47664)" /> <defs> <linearGradient id="paint0_linear_11825_47664" x1="14" y1="8" x2="2" y2="8" gradientUnits="userSpaceOnUse" > <stop stop-color="currentColor" stop-opacity="0.5" /> <stop offset="1" stop-color="currentColor" stop-opacity="0" /> </linearGradient> <linearGradient id="paint1_linear_11825_47664" x1="2" y1="8" x2="14" y2="8" gradientUnits="userSpaceOnUse" > <stop stop-color="currentColor" /> <stop offset="1" stop-color="currentColor" stop-opacity="0.5" /> </linearGradient> </defs> </svg></i></section></main><footer class="cp_footer cp_grid__wrapper" data-testid="footer"><div class="cp_footer__sections cp_grid cp_grid--align-items-baseline"><section class="cp_footer__section cp_grid__item--align-top cp_width--one-half cp_width--sponge--one-third"><ul class="cp_footer__items"><li class="cp_footer__item"><a class="cp_link cp_footer__link" href="/itvprivacy">Privacy & Cookie Information</a></li></ul></section></div><div class="cp_footer__legal"><p class="cp_copyright">© ITV Consumer Limited <!-- -->2023</p></div><a class="cp_link cp_footer__logo__link" href="/" title="ITVX Homepage"><i class="cp_icon cp_icon__logo-itvx-mono cp_channel-logo cp_icon--custom-size cp_footer__logo" aria-hidden="false"><svg viewBox="0 0 300 101" xmlns="http://www.w3.org/2000/svg" aria-label="ITVX Homepage" role="img"><title>ITVX Homepage</title><path fill-rule="evenodd" clip-rule="evenodd" d="M13.303 26.39c8.224 0 13.304-5.833 13.304-13.2C26.607 5.833 21.527 0 13.304 0 5.08 0 0 5.833 0 13.2c0 7.357 5.08 13.19 13.303 13.19Zm285.48 63.894-28.502-39.209c-.613-.836-.624-1.651-.031-2.508l26.374-38.32c.772-1.09 1.291-1.937 1.291-3.546 0-1.398-.931-3.112-2.381-4.563C294.084.688 292.623 0 290.708 0c-1.08 0-2.032.445-3.091 1.25l-36.1 27.723c-.868.667-1.778.667-2.646 0l-36.09-27.724C211.733.445 210.77 0 209.691 0c-1.905 0-3.376.688-4.816 2.138-1.45 1.45-2.381 3.165-2.381 4.563 0 1.62.519 2.456 1.291 3.546l26.374 38.32c.582.846.572 1.661-.031 2.508l-28.502 39.21c-.762 1.047-1.227 1.99-1.227 3.239 0 1.799.783 3.292 2.233 4.731 1.45 1.45 3.027 2.266 4.762 2.266 1.238 0 2.18-.487 3.218-1.25l38.312-27.882a2.175 2.175 0 0 1 2.55 0l38.313 27.882c1.048.763 1.989 1.25 3.228 1.25 1.735 0 3.312-.816 4.762-2.266 1.44-1.44 2.223-2.932 2.223-4.731.01-1.25-.455-2.192-1.217-3.24ZM191.731 35.832c1.915.582 5.747 1.757 7.175 2.212 1.471.477 2.085 1.218 2.085 2.16 0 .931-.529 2.403-1.28 4.425-5.959 16.164-14.235 33.725-23.951 48.577-3.704 5.674-7.81 7.314-14.658 7.314-7.228 0-10.467-1.937-14.012-7.176-2.084-3.072-4.239-6.412-6.976-10.654l-1.343-2.081c-7.641 12.533-20.744 19.901-38.566 19.901-13.494 0-25.718-4.139-32.439-10.268-6.847 6.33-18.447 10.278-29.57 10.278-11.144 0-22.86-3.059-29.718-9.918C3.207 85.32.18 78.629.18 66.9V37.526c0-1.45.508-2.064 2.064-2.064h22.088c1.576 0 2.106.635 2.106 2.053v32.498c0 5.187 1.122 8.712 3.513 11.242 2.297 2.424 6.15 3.874 10.5 3.874 4.455 0 8.498-1.493 11.08-4.266 2.932-3.154 4.265-7.643 4.265-15.942v-49.9c0-2.445.635-4.129 2.011-5.378 2.022-1.852 6.117-2.752 11.113-2.752 4.921 0 9.102.91 11.123 2.752 1.376 1.25 2.011 2.933 2.011 5.378v20.43h20.775c1.567 0 2.117.635 2.117 2.054v12.49c0 1.42-.54 2.054-2.117 2.054H91.166c-3.64 0-6.657-.54-9.112-1.588v12.957c0 7.728 1.63 12.364 4.985 15.804 3.513 3.61 8.911 5.59 15.896 5.59 14.722 0 22.353-9.242 22.353-19.457 0-4.096-1.207-7.43-3.609-11.538-2.117-3.61-2.678-5.145-2.678-7.177 0-6.002 10.626-12.449 17.801-12.449 3.482 0 5.25 1.154 7.896 5.473 1.815 2.958 4.866 8.317 8.323 14.388 1.541 2.706 3.162 5.553 4.79 8.392 3.418 5.96 7.091 12.555 9.08 16.355 6.075-10.395 12.88-27.12 17.357-42.014.455-1.493 1.154-2.213 2.445-2.213.688 0 1.852.286 5.038 1.26Z" fill="currentColor"/></svg></i></a></footer></div></div><noscript>
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MXQXBVC" height="0" width="0" style="display:none;visibility:hidden"></iframe>
</noscript></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"title":{"brandAvaila bleEpisodeCount":6,"audioDescription":false,"avail ableUntil":"2028-02-09T23:59:00Z","broadcastDateTime":null,"categories ":{"queryable":["DRAMA_AND_SOAPS"],"formatted":["DRAMA \u0026 SOAPS"],"formattedCapitalised":["Drama \u0026 Soaps"]},"isChildrenCategory":false,"channel":"ITV","days Left":"","duration":"30m","legacyId":"10/1755/0001","brandLegacyId":"10/1755","episodeNumber":1,"episodeTitle":null,"guida nce":"With dark humour and adult themes, including suicide.","hasBrand":true,"headerTitle":"Significa nt Other - Series 1 - Episode 1","href":"/significant-other/10a1755/10a1755a0001","imageUrl":"https://ovp.itv.com/images/episode/whlmsxl/itv_hub/{class}/{aspect_ratio}?distributionPartner={distributionPa rtner}\u0026fallback={fallback}\u0026treatment={tr eatment}\u0026w={width}\u0026h={height}\u0026q={qu ality}\u0026blur={blur}\u0026bg={bg}","playlistUrl ":"https://magni.itv.com/playlist/itvonline/ITV/10_1755_0001.005","productionId":"10/1755/0001#005","productionIdEncoded":"10-1755-0001#005","programmeTitle":"Significant Other","regionalisation":true,"redirectUrl":"https ://www.stv.tv","seriesNumber":1,"showTitle":"Signific ant Other","showTitleSlug":"significant-other","subtitles":false,"synopsis":"Brand new comedy-drama. After both hitting rock bottom, the lives of two lonely neighbours are changed forever following an ill-fated first encounter.","titleType":"EPISODE","variants":[],"CTAText":"Series 1, Episode 1","longRunning":false,"description":{"description TextStrong":"Episode 1","descriptionTextNormal":"Brand new comedy-drama. After both hitting rock bottom, the lives of two lonely neighbours are changed forever following an ill-fated first encounter."},"accessibilityTags":["ad","s"],"contentInfo":["DRAMA \u0026 SOAPS","30m"],"contentOwner":null,"partnership":null,"tier":["FREE"],"numberedEpisodeTitle":"Episode 1","imagePresets":{"0":{"1x":"https://ovp.itv.com/images/programme/jh1wtjh/itv_hub/01_Hero_DesktopCTV/16x9?distributionPartner=\u0026fallback=standard\u 0026treatment=\u0026w=767\u0026q=65\u0026blur=0\u0 026bg=false","2x":"https://ovp.itv.com/images/programme/jh1wtjh/itv_hub/01_Hero_DesktopCTV/16x9?distributionPartner=\u0026fallback=standard\u 0026treatment=\u0026w=1074\u0026q=65\u0026blur=0\u 0026bg=false"},"768":{"1x":"https://ovp.itv.com/images/programme/jh1wtjh/itv_hub/01_Hero_DesktopCTV/16x9?distributionPartner=\u0026fallback=standard\u 0026treatment=\u0026w=1279\u0026q=80\u0026blur=0\u 0026bg=false","2x":"https://ovp.itv.com/images/programme/jh1wtjh/itv_hub/01_Hero_DesktopCTV/16x9?distributionPartner=\u0026fallback=standard\u 0026treatment=\u0026w=1791\u0026q=80\u0026blur=0\u 0026bg=false"},"1280":{"1x":"https://ovp.itv.com/images/programme/jh1wtjh/itv_hub/01_Hero_DesktopCTV/16x9?distributionPartner=\u0026fallback=standard\u 0026treatment=\u0026w=1597\u0026q=80\u0026blur=0\u 0026bg=false","2x":"https://ovp.itv.com/images/programme/jh1wtjh/itv_hub/01_Hero_DesktopCTV/16x9?distributionPartner=\u0026fallback=standard\u 0026treatment=\u0026w=2236\u0026q=80\u0026blur=0\u 0026bg=false"},"1920":{"1x":"https://ovp.itv.com/images/programme/jh1wtjh/itv_hub/01_Hero_DesktopCTV/16x9?distributionPartner=\u0026fallback=standard\u 0026treatment=\u0026w=1597\u0026q=80\u0026blur=0\u 0026bg=false","2x":"https://ovp.itv.com/images/programme/jh1wtjh/itv_hub/01_Hero_DesktopCTV/16x9?distributionPartner=\u0026fallback=standard\u 0026treatment=\u0026w=2236\u0026q=80\u0026blur=0\u 0026bg=false"}},"brand":{"imagePresets":{},"legacy Id":"10/1755","tier":["FREE"],"title":"Significant Other","imageUrl":"https://ovp.itv.com/images/programme/jh1wtjh/itv_hub/{class}/{aspect_ratio}?distributionPartner={distributionPa rtner}\u0026fallback={fallback}\u0026treatment={tr eatment}\u0026w={width}\u0026h={height}\u0026q={qu ality}\u0026blur={blur}\u0026bg={bg}","synopses":{ "ninety":"An anti-romantic love story - don’t miss ITVX’s brand new comedy-drama"},"series":[{"title":"Series 1","seriesNumber":1,"seriesAvailableEpisodeCount": 6,"fullSeries":false,"longRunning":false,"legacyId ":"10/1755-01","episodes":[{"audioDescription":false,"availableUntil":"202 8-02-09T23:59:00Z","broadcastDateTime":null,"categories ":{"queryable":["DRAMA_AND_SOAPS"],"formatted":["DRAMA \u0026 SOAPS"],"formattedCapitalised":["Drama \u0026 Soaps"]},"isChildrenCategory":false,"channel":"ITV","days Left":"","duration":"30m","legacyId":"10/1755/0001","brandLegacyId":"10/1755","episodeNumber":1,"episodeTitle":null,"guida nce":"With dark humour and adult themes, including suicide.","hasBrand":true,"headerTitle":"Significa nt Other - Series 1 - Episode 1","href":"/significant-other/10a1755/10a1755a0001","imageUrl":"https://ovp.itv.com/images/episode/whlmsxl/itv_hub/{class}/{aspect_ratio}?distributionPartner={distributionPa rtner}\u0026fallback={fallback}\u0026treatment={tr eatment}\u0026w={width}\u0026h={height}\u0026q={qu ality}\u0026blur={blur}\u0026bg={bg}","playlistUrl ":"https://magni.itv.com/playlist/itvonline/ITV/10_1755_0001.005","productionId":"10/1755/0001#005","productionIdEncoded":"10-1755-0001#005","programmeTitle":"Significant Other","regionalisation":true,"redirectUrl":"https ://www.stv.tv","seriesNumber":1,"showTitle":"Signific ant Other","showTitleSlug":"significant-other","subtitles":false,"synopsis":"Brand new comedy-drama. After both hitting rock bottom, the lives of two lonely neighbours are changed forever following an ill-fated first encounter.","titleType":"EPISODE","variants":[],"CTAText":"Series 1, Episode 1","longRunning":false,"description":{"description TextStrong":"Episode 1","descriptionTextNormal":"Brand new comedy-drama. After both hitting rock bottom, the lives of two lonely neighbours are changed forever following an ill-fated first encounter."},"accessibilityTags":["ad","s"],"contentInfo":["DRAMA \u0026 SOAPS","30m"],"contentOwner":null,"partnership":null,"tier":["FREE"],"numberedEpisodeTitle":"Episode 1"},{"audioDescription":false,"availableUntil":"20 28-02-09T23:59:00Z","broadcastDateTime":null,"categories ":{"queryable":["DRAMA_AND_SOAPS"],"formatted":["DRAMA \u0026 SOAPS"],"formattedCapitalised":["Drama \u0026 Soaps"]},"isChildrenCategory":false,"channel":"ITV","days Left":"","duration":"30m","legacyId":"10/1755/0002","brandLegacyId":"10/1755","episodeNumber":2,"episodeTitle":null,"guida nce":"With strong language and adult humour.","hasBrand":true,"headerTitle":"Significan t Other - Series 1 - Episode 2","href":"/significant-other/10a1755/10a1755a0002","imageUrl":"https://ovp.itv.com/images/episode/1l3p3rv/itv_hub/{class}/{aspect_ratio}?distributionPartner={distributionPa rtner}\u0026fallback={fallback}\u0026treatment={tr eatment}\u0026w={width}\u0026h={height}\u0026q={qu ality}\u0026blur={blur}\u0026bg={bg}","playlistUrl ":"https://magni.itv.com/playlist/itvonline/ITV/10_1755_0002.005","productionId":"10/1755/0002#005","productionIdEncoded":"10-1755-0002#005","programmeTitle":"Significant Other","regionalisation":true,"redirectUrl":"https ://www.stv.tv","seriesNumber":1,"showTitle":"Signific ant Other","showTitleSlug":"significant-other","subtitles":false,"synopsis":"Anna decides to grab life by the horns after a stark wake-up call from her doctor, and Sam's striving to win back his wife has some unexpected results.","titleType":"EPISODE","variants":[],"CTAText":"Series 1, Episode 2","longRunning":false,"description":{"description TextStrong":"Episode 2","descriptionTextNormal":"Anna decides to grab life by the horns after a stark wake-up call from her doctor, and Sam's striving to win back his wife has some unexpected results."},"accessibilityTags":["ad","s"],"contentInfo":["DRAMA \u0026 SOAPS","30m"],"contentOwner":null,"partnership":null,"tier":["FREE"],"numberedEpisodeTitle":"Episode 2"},{"audioDescription":false,"availableUntil":"20 28-02-09T23:59:00Z","broadcastDateTime":null,"categories ":{"queryable":["DRAMA_AND_SOAPS"],"formatted":["DRAMA \u0026 SOAPS"],"formattedCapitalised":["Drama \u0026 Soaps"]},"isChildrenCategory":false,"channel":"ITV","days Left":"","duration":"30m","legacyId":"10/1755/0003","brandLegacyId":"10/1755","episodeNumber":3,"episodeTitle":null,"guida nce":"With strong language and adult humour.","hasBrand":true,"headerTitle":"Significan t Other - Series 1 - Episode 3","href":"/significant-other/10a1755/10a1755a0003","imageUrl":"https://ovp.itv.com/images/episode/nyq1pv2/itv_hub/{class}/{aspect_ratio}?distributionPartner={distributionPa rtner}\u0026fallback={fallback}\u0026treatment={tr eatment}\u0026w={width}\u0026h={height}\u0026q={qu ality}\u0026blur={blur}\u0026bg={bg}","playlistUrl ":"https://magni.itv.com/playlist/itvonline/ITV/10_1755_0003.005","productionId":"10/1755/0003#005","productionIdEncoded":"10-1755-0003#005","programmeTitle":"Significant Other","regionalisation":true,"redirectUrl":"https ://www.stv.tv","seriesNumber":1,"showTitle":"Signific ant Other","showTitleSlug":"significant-other","subtitles":false,"synopsis":"After a humiliating run-in with Sam, Anna decides to step outside her comfort zone and embrace the world of online dating... how will it go?","titleType":"EPISODE","variants":[],"CTAText":"Series 1, Episode 3","longRunning":false,"description":{"description TextStrong":"Episode 3","descriptionTextNormal":"After a humiliating run-in with Sam, Anna decides to step outside her comfort zone and embrace the world of online dating... how will it go?"},"accessibilityTags":["ad","s"],"contentInfo":["DRAMA \u0026 SOAPS","30m"],"contentOwner":null,"partnership":null,"tier":["FREE"],"numberedEpisodeTitle":"Episode 3"},{"audioDescription":false,"availableUntil":"20 28-02-09T23:59:00Z","broadcastDateTime":null,"categories ":{"queryable":["DRAMA_AND_SOAPS"],"formatted":["DRAMA \u0026 SOAPS"],"formattedCapitalised":["Drama \u0026 Soaps"]},"isChildrenCategory":false,"channel":"ITV","days Left":"","duration":"30m","legacyId":"10/1755/0004","brandLegacyId":"10/1755","episodeNumber":4,"episodeTitle":null,"guida nce":"With strong language and adult humour.","hasBrand":true,"headerTitle":"Significan t Other - Series 1 - Episode 4","href":"/significant-other/10a1755/10a1755a0004","imageUrl":"https://ovp.itv.com/images/episode/lyd2lhh/itv_hub/{class}/{aspect_ratio}?distributionPartner={distributionPa rtner}\u0026fallback={fallback}\u0026treatment={tr eatment}\u0026w={width}\u0026h={height}\u0026q={qu ality}\u0026blur={blur}\u0026bg={bg}","playlistUrl ":"https://magni.itv.com/playlist/itvonline/ITV/10_1755_0004.005","productionId":"10/1755/0004#005","productionIdEncoded":"10-1755-0004#005","programmeTitle":"Significant Other","regionalisation":true,"redirectUrl":"https ://www.stv.tv","seriesNumber":1,"showTitle":"Signific ant Other","showTitleSlug":"significant-other","subtitles":false,"synopsis":"Anna is surprised by a blast from her past and some tough love forces Sam into action, but his return to the family home does not go as planned...","titleType":"EPISODE","variants":[],"CTAText":"Series 1, Episode 4","longRunning":false,"description":{"description TextStrong":"Episode 4","descriptionTextNormal":"Anna is surprised by a blast from her past and some tough love forces Sam into action, but his return to the family home does not go as planned..."},"accessibilityTags":["ad","s"],"contentInfo":["DRAMA \u0026 SOAPS","30m"],"contentOwner":null,"partnership":null,"tier":["FREE"],"numberedEpisodeTitle":"Episode 4"},{"audioDescription":false,"availableUntil":"20 28-02-09T23:59:00Z","broadcastDateTime":null,"categories ":{"queryable":["DRAMA_AND_SOAPS"],"formatted":["DRAMA \u0026 SOAPS"],"formattedCapitalised":["Drama \u0026 Soaps"]},"isChildrenCategory":false,"channel":"ITV","days Left":"","duration":"30m","legacyId":"10/1755/0005","brandLegacyId":"10/1755","episodeNumber":5,"episodeTitle":null,"guida nce":"With strong language and adult humour.","hasBrand":true,"headerTitle":"Significan t Other - Series 1 - Episode 5","href":"/significant-other/10a1755/10a1755a0005","imageUrl":"https://ovp.itv.com/images/episode/l57dphx/itv_hub/{class}/{aspect_ratio}?distributionPartner={distributionPa rtner}\u0026fallback={fallback}\u0026treatment={tr eatment}\u0026w={width}\u0026h={height}\u0026q={qu ality}\u0026blur={blur}\u0026bg={bg}","playlistUrl ":"https://magni.itv.com/playlist/itvonline/ITV/10_1755_0005.001","productionId":"10/1755/0005#001","productionIdEncoded":"10-1755-0005#001","programmeTitle":"Significant Other","regionalisation":true,"redirectUrl":"https ://www.stv.tv","seriesNumber":1,"showTitle":"Signific ant Other","showTitleSlug":"significant-other","subtitles":false,"synopsis":"When Anna is caught in the crossfire as Sam receives a surprise visit and a devastating blow from Shelley, she and Sam enter unchartered territory.","titleType":"EPISODE","variants":[],"CTAText":"Series 1, Episode 5","longRunning":false,"description":{"description TextStrong":"Episode 5","descriptionTextNormal":"When Anna is caught in the crossfire as Sam receives a surprise visit and a devastating blow from Shelley, she and Sam enter unchartered territory."},"accessibilityTags":["ad","s"],"contentInfo":["DRAMA \u0026 SOAPS","30m"],"contentOwner":null,"partnership":null,"tier":["FREE"],"numberedEpisodeTitle":"Episode 5"},{"audioDescription":false,"availableUntil":"20 28-02-09T23:59:00Z","broadcastDateTime":null,"categories ":{"queryable":["DRAMA_AND_SOAPS"],"formatted":["DRAMA \u0026 SOAPS"],"formattedCapitalised":["Drama \u0026 Soaps"]},"isChildrenCategory":false,"channel":"ITV","days Left":"","duration":"30m","legacyId":"10/1755/0006","brandLegacyId":"10/1755","episodeNumber":6,"episodeTitle":null,"guida nce":"With strong language and adult humour.","hasBrand":true,"headerTitle":"Significan t Other - Series 1 - Episode 6","href":"/significant-other/10a1755/10a1755a0006","imageUrl":"https://ovp.itv.com/images/episode/jv08cd6/itv_hub/{class}/{aspect_ratio}?distributionPartner={distributionPa rtner}\u0026fallback={fallback}\u0026treatment={tr eatment}\u0026w={width}\u0026h={height}\u0026q={qu ality}\u0026blur={blur}\u0026bg={bg}","playlistUrl ":"https://magni.itv.com/playlist/itvonline/ITV/10_1755_0006.001","productionId":"10/1755/0006#001","productionIdEncoded":"10-1755-0006#001","programmeTitle":"Significant Other","regionalisation":true,"redirectUrl":"https ://www.stv.tv","seriesNumber":1,"showTitle":"Signific ant Other","showTitleSlug":"significant-other","subtitles":false,"synopsis":"A surprise phone call changes everything for Anna and Sam, finally forcing them to confront what they really mean to each other.","titleType":"EPISODE","variants":[],"CTAText":"Series 1, Episode 6","longRunning":false,"description":{"description TextStrong":"Episode 6","descriptionTextNormal":"A surprise phone call changes everything for Anna and Sam, finally forcing them to confront what they really mean to each other."},"accessibilityTags":["ad","s"],"contentInfo":["DRAMA \u0026 SOAPS","30m"],"contentOwner":null,"partnership":null,"tier":["FREE"],"numberedEpisodeTitle":"Episode 6"}]}],"guidance":"With strong language and adult humour.","channel":"ITV","categories":{"queryable" :["DRAMA_AND_SOAPS"],"formatted":["DRAMA \u0026 SOAPS"],"formattedCapitalised":["Drama \u0026 Soaps"]},"latestEpisode":null,"contentOwner":null,"partne rship":null,"availableEpisodeCount":6,"href":"/significant-other/10a1755"}},"forceRefresh":true,"subnav":null,"epis odeHeroWrapperProps":{"heroProps":{"imagePresets": {"0":{"1x":"https://ovp.itv.com/images/programme/jh1wtjh/itv_hub/01_Hero_DesktopCTV/16x9?distributionPartner=\u0026fallback=standard\u 0026treatment=\u0026w=767\u0026q=65\u0026blur=0\u0 026bg=false","2x":"https://ovp.itv.com/images/programme/jh1wtjh/itv_hub/01_Hero_DesktopCTV/16x9?distributionPartner=\u0026fallback=standard\u 0026treatment=\u0026w=1074\u0026q=65\u0026blur=0\u 0026bg=false"},"768":{"1x":"https://ovp.itv.com/images/programme/jh1wtjh/itv_hub/01_Hero_DesktopCTV/16x9?distributionPartner=\u0026fallback=standard\u 0026treatment=\u0026w=1279\u0026q=80\u0026blur=0\u 0026bg=false","2x":"https://ovp.itv.com/images/programme/jh1wtjh/itv_hub/01_Hero_DesktopCTV/16x9?distributionPartner=\u0026fallback=standard\u 0026treatment=\u0026w=1791\u0026q=80\u0026blur=0\u 0026bg=false"},"1280":{"1x":"https://ovp.itv.com/images/programme/jh1wtjh/itv_hub/01_Hero_DesktopCTV/16x9?distributionPartner=\u0026fallback=standard\u 0026treatment=\u0026w=1597\u0026q=80\u0026blur=0\u 0026bg=false","2x":"https://ovp.itv.com/images/programme/jh1wtjh/itv_hub/01_Hero_DesktopCTV/16x9?distributionPartner=\u0026fallback=standard\u 0026treatment=\u0026w=2236\u0026q=80\u0026blur=0\u 0026bg=false"},"1920":{"1x":"https://ovp.itv.com/images/programme/jh1wtjh/itv_hub/01_Hero_DesktopCTV/16x9?distributionPartner=\u0026fallback=standard\u 0026treatment=\u0026w=1597\u0026q=80\u0026blur=0\u 0026bg=false","2x":"https://ovp.itv.com/images/programme/jh1wtjh/itv_hub/01_Hero_DesktopCTV/16x9?distributionPartner=\u0026fallback=standard\u 0026treatment=\u0026w=2236\u0026q=80\u0026blur=0\u 0026bg=false"}},"titleText":"Significant Other","description":{"descriptionTextStrong":"Epi sode 1","descriptionTextNormal":"Brand new comedy-drama. After both hitting rock bottom, the lives of two lonely neighbours are changed forever following an ill-fated first encounter."},"guidance":{"guidanceText":"With dark humour and adult themes, including suicide.","link":{}},"CTAText":"Series 1, Episode 1","accessibilityTags":["ad","s"],"contentInfo":["DRAMA \u0026 SOAPS","30m"],"contentOwner":null,"partnership":null,"episodeId ":"10/1755/0001","programmeIdUnderscore":"10_1755"},"modalPro ps":{"programmeTitle":"Significant Other","episodeCount":6,"synopsis":"Brand new comedy-drama. After both hitting rock bottom, the lives of two lonely neighbours are changed forever following an ill-fated first encounter.","contentOwner":null,"partnership":null ,"programmeCategory":"DRAMA \u0026 SOAPS","series":1,"episode":1,"productionId":"10/1755/0001#005"},"playerProps":{"tier":["FREE"],"episodeNumber":1,"seriesNumber":1,"CTAText":"Ser ies 1, Episode 1","isChildrenCategory":false,"playlistUrl":"https ://magni.itv.com/playlist/itvonline/ITV/10_1755_0001.005","productionId":"10/1755/0001#005","productionIdEncoded":"10-1755-0001#005","categories":{"queryable":["DRAMA_AND_SOAPS"],"formatted":["DRAMA \u0026 SOAPS"],"formattedCapitalised":["Drama \u0026 Soaps"]},"guidance":"With dark humour and adult themes, including suicide.","regionalisation":true,"programmeId":"10/1755","programmeTitle":"Significant Other","imageUrl":"https://ovp.itv.com/images/episode/whlmsxl/itv_hub/{class}/{aspect_ratio}?distributionPartner={distributionPa rtner}\u0026fallback={fallback}\u0026treatment={tr eatment}\u0026w={width}\u0026h={height}\u0026q={qu ality}\u0026blur={blur}\u0026bg={bg}","channel":"i tv","episodeId":"10/1755/0001","episodeInfo":"Episode 1","redirectUrl":"https://www.stv.tv"}},"newsVideos":null,"navAdServerParams ":{"programmeTitle":"Significant Other","area":"video","episodeId":"10/1755/0001","category":["DRAMA_AND_SOAPS"],"channel":"ITV"},"isAccessibleByKids":false},"con fig":{"baseUrl":"","canonicalUrl":"https://www.itv.com","imagesUrl":"https://static.10ft.itv.com/images","playerBaseUrl":"https://player.prd.mp.itv.com/1.10.2/","playerFilename":{"desktop":"main.html5-desktop.min.js","mobile":"main.html5-mobile.min.js"},"services":{"promoted":"https://promoted.hubsvc.itv.com","discovery":"https://discovery.hubsvc.itv.com","contentInventory":"http s://content-inventory.prd.oasvc.itv.com","thalia":"https://thalia.prd.fe.itv.com"},"features":{"amplitude":tr ue,"userServices":true,"conductrics":false,"fullSe ries":true,"customisableSlider":false,"itvPlus":tr ue,"itvPlusPayments":true,"britbox":false,"targete dContainerSliders":true,"myList":true,"myListPage" :true,"continueWatching":true,"becauseYouWatched": true,"newsShortForm":true,"newsShortFormAutoplay": false,"newsCategoryPage":true,"sportShortForm":fal se,"inlinePlayerOnwardJourney":true,"euPortability ":false,"communicationSettings":true,"homepageSpon sorship":true,"recommendedForYou":true,"blockDupli cateCards":true,"regionalisation":true,"cassieCook iesManagement":true,"isCuratedImages":true,"itvPre miumDiscounts":true,"playerUpsellButton":true,"mos tPopular":true,"emailVerification":true,"nowNextPo llingInterval":"900000","playerStartAgain":true,"p layerRewind":true,"simCastEnabled":true,"vodCastEn abled":true,"convivaTrackingEnabled":true,"svodExp erience":true,"profilesManagement":true,"cckEnable d":true,"switchProfilesManagement":true},"analytic s":{"gtm":"GTM-MXQXBVC","cpt":{"url":"https://cpt.itv.com/0.0.1/event"},"webVitals":{"url":"https://http-inputs-itv.splunkcloud.com/services/collector"}},"amplitudeDeployKey":"client-YKVVRsZUOnAPVh7Dr53rQokD5B7d0ko5","stripe":{"publi cKey":"pk_live_vbaeHtOKe3k0UNTPfpkiHhZv"},"cassieE xcludedPaths":"'/terms/articles/cookies'"},"__N_SSP":true},"page":"/watch/[programmeSlug]/[programmeId]/[episodeId]","query":{"programmeSlug":"significant-other","programmeId":"10a1755","episodeId":"10a175 5a0001"},"buildId":"sjBhvUOKsNp6SWLkTez-y","assetPrefix":"/hades-assets","isFallback":false,"gssp":true,"customServ er":true,"appGip":true,"scriptLoader":[]}</script><script type="text/javascript" nonce="db9f6013c342cccad70e768af9d11457" src="/lvXD3n0mF8/HVDuEjzS/Lu/5chcXGw60m9Q/GjcXUEtfBg/clAeFX/QHLwEB"></script></body></html>
Anyone throw any light on what I'm doing wrong please...
+ Reply to Thread
Results 1 to 25 of 25
-
-
python uses Modules - small scripts that help your main script.
Standard python only comes with so many modules and extra ones need to be added to the library.
You do it with;
pip install requests
there most likely will be others needed because all these modules are imported and I have no idea what you have or haven't got already installed.
eg
pip install --pre ttconv
pip install termcolor
pip install httpx
pip install pyperclip
pip install selectolax
bestITVX.py says to also install tt for subtitle conversion so its in the mix above. How to run python is available on the web. It is always a good idea to pop your error 'No module found' into a search engine. Mention python as it was that that gave you the error. In this way you can help yourself. You've grown dependent for some reason. -
I have the most up to date version of python installed.... but none of the pip install items were installed (they are now)
seems i may have had "pip install requests" missing as well...
I suppose this is better,... at least I'm kind of getting somewhere...
D:\YT_Rips\WKS-KEYS>bestitvx.py
Traceback (most recent call last):
File "D:\YT_Rips\WKS-KEYS\bestITVX.py", line 42, in <module>
from pywidevine.L3.decrypt.wvdecryptcustom import WvDecrypt
File "D:\YT_Rips\WKS-KEYS\pywidevine\L3\decrypt\wvdecryptcustom.py", line 6, in <module>
from pywidevine.L3.cdm import cdm, deviceconfig
File "D:\YT_Rips\WKS-KEYS\pywidevine\L3\cdm\cdm.py", line 7, in <module>
from google.protobuf.message import DecodeError
ModuleNotFoundError: No module named 'google'
from selectolax.lexbor import LexborHTMLParser
import os
import pyperclip as PC
from pywidevine.L3.cdm import deviceconfig
from pywidevine.L3.decrypt.wvdecryptcustom import WvDecrypt ----------- is this the part that's failing??
import pyfiglet as PF
from termcolor import colored
import jsonLast edited by LastResort; 16th Jul 2023 at 12:54. Reason: edit...
-
Thanks lomero, I've now installed these,...
This probably sounds stupid but after logging into i t v, do i need to copy the .mpd from stream detector....
I have stream detector setup exactly as shown in bestitvdownloader thread....
this is my outcome after doing the last 2 pip installs...
D:\YT_Rips\WKS-KEYS>bestitvx.py
Traceback (most recent call last):
File "D:\YT_Rips\WKS-KEYS\bestITVX.py", line 42, in <module>
from pywidevine.L3.decrypt.wvdecryptcustom import WvDecrypt
File "D:\YT_Rips\WKS-KEYS\pywidevine\L3\decrypt\wvdecryptcustom.py", line 6, in <module>
from pywidevine.L3.cdm import cdm, deviceconfig
File "D:\YT_Rips\WKS-KEYS\pywidevine\L3\cdm\cdm.py", line 10, in <module>
from pywidevine.L3.cdm.formats import wv_proto2_pb2 as wv_proto2
File "D:\YT_Rips\WKS-KEYS\pywidevine\L3\cdm\formats\wv_proto2_pb2.py", line 33, in <module>
_descriptor.EnumValueDescriptor(
File "C:\Users\Westhamboy\AppData\Local\Programs\Python \Python311\Lib\site-packages\google\protobuf\descriptor.py", line 796, in __new__
_message.Message._CheckCalledFromGeneratedFile()
TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
1. Downgrade the protobuf package to 3.20.x or lower.
2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).
More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates -
-
thanks angela, so its not "remove" but uninstall.... remove is no good on a p.c.
installed protobuf 3.20.3
installed pycryptodomex as well...
So sorry for this but WTH is pyfiglet ??? as i'm getting a modulenotfound error. When one installs python, as in a "full install" does it not install these other requirements at the same time.
okay so i get it, pyfiglet converts ASCII text into ASCII art.
Right i'm going on guesswork now,.... pip install pyfiglet....
A_n_g_e_l_a, within your best i t v script, is the information pulled from stream detector, i only ask because mpd detector see's the stream but stream detector says No URLs available.
Copy stream URL as user-defined command 1
[Attachment 72453 - Click to enlarge]
where I'm at...
[Attachment 72454 - Click to enlarge] -
I decided to copy the detected video from mpd detector into the clipboard just to see what would happen when i press enter.... this is what i got back:
The URL list has 1 video(s)
Traceback (most recent call last):
File "D:\YT_Rips\WKS-KEYS\bestITVX.py", line 274, in <module>
main()
File "D:\YT_Rips\WKS-KEYS\bestITVX.py", line 268, in main
myITV.download(url)
File "D:\YT_Rips\WKS-KEYS\bestITVX.py", line 104, in download
title, data = self.get_data(url)
^^^^^^^^^^^^^^^^^^
File "D:\YT_Rips\WKS-KEYS\bestITVX.py", line 190, in get_data
jsondata = tree.root.css_first('#__NEXT_DATA__').text()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'text'
------------------- forget about that ------------- I've got it working.... well sort of...
my error is this now...
it looks even worse...
Press enter with PAGE urls in clipboard
The URL list has 1 video(s)
Traceback (most recent call last):
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\site-packages\httpx\_transports\default.py", line 60, in map_httpcore_exceptions
yield
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\site-packages\httpx\_transports\default.py", line 218, in handle_request
resp = self._pool.handle_request(req)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\site-packages\httpcore\_sync\connection_pool.py", line 214, in handle_request
raise UnsupportedProtocol(
httpcore.UnsupportedProtocol: Request URL is missing an 'http://' or 'https://' protocol.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "D:\YT_Rips\WKS-KEYS\bestITVX.py", line 274, in <module>
main()
File "D:\YT_Rips\WKS-KEYS\bestITVX.py", line 268, in main
myITV.download(url)
File "D:\YT_Rips\WKS-KEYS\bestITVX.py", line 104, in download
title, data = self.get_data(url)
^^^^^^^^^^^^^^^^^^
File "D:\YT_Rips\WKS-KEYS\bestITVX.py", line 188, in get_data
r = self.client.get(url)
^^^^^^^^^^^^^^^^^^^^
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\site-packages\httpx\_client.py", line 1041, in get
return self.request(
^^^^^^^^^^^^^
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\site-packages\httpx\_client.py", line 814, in request
return self.send(request, auth=auth, follow_redirects=follow_redirects)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\site-packages\httpx\_client.py", line 901, in send
response = self._send_handling_auth(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\site-packages\httpx\_client.py", line 929, in _send_handling_auth
response = self._send_handling_redirects(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\xxxxxxxxxxx\AppData\Local\Programs\Pytho n\Python311\Lib\site-packages\httpx\_client.py", line 966, in _send_handling_redirects
response = self._send_single_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\site-packages\httpx\_client.py", line 1002, in _send_single_request
response = transport.handle_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\site-packages\httpx\_transports\default.py", line 217, in handle_request
with map_httpcore_exceptions():
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\contextlib.py", line 155, in __exit__
self.gen.throw(typ, value, traceback)
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\site-packages\httpx\_transports\default.py", line 77, in map_httpcore_exceptions
raise mapped_exc(message) from exc
httpx.UnsupportedProtocol: Request URL is missing an 'http://' or 'https://' protocol. -
After reading some more posts and rechecking what was'nt in the same folder (n_m3u8dl-re.exe and mkvmerge)
I now get the following message,.... i've tried looking through the code, and used google but its has all been in vain...
I have also changed Local cdm to this REMOTE = False
D:\YT_Rips\WKS-KEYS>python bestitvx.py
←[32m ____ ______ _ __ _ __
/ _/ /_ __/ | | / / | |/_/
_/ / / / | |/ / _> <
/___/ /_/ |___/ /_/|_|
←[0m
Press enter with PAGE urls in clipboard
The URL list has 1 video(s)
Traceback (most recent call last):
File "D:\YT_Rips\WKS-KEYS\bestitvx.py", line 274, in <module>
main()
File "D:\YT_Rips\WKS-KEYS\bestitvx.py", line 268, in main
myITV.download(url)
File "D:\YT_Rips\WKS-KEYS\bestitvx.py", line 104, in download
title, data = self.get_data(url)
^^^^^^^^^^^^^^^^^^
File "D:\YT_Rips\WKS-KEYS\bestitvx.py", line 192, in get_data
title = myjson["props"]["pageProps"]["title"]["headerTitle"]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
KeyError: 'title' -
Your error output suggests your webpage input was not as expected.
I've just checked everything to make sure ITVX haven't changed anything and get this.
[Attachment 72461 - Click to enlarge]
I suggest you use the remote cdm as it is known working - yours and your setup are still not proven. but that isn't the issue above. why it shouldn't find 'ttile when its already found other parts of the the path are a mystery.Last edited by A_n_g_e_l_a; 17th Jul 2023 at 03:50.
-
@LastResort Could it be because it is saved as bestITVX (caps) but your input is bestitvx (lower) ? Just a guess on my part not sure if it makes a difference?
-
Thanks ringy9, but i looked at A_n_g_e_l_a's and it's both upper and lower,... i doubt it would make much difference.
Good news about the remote..... But I'm getting this: cdrm-project.com unexpectedly closed the connection. that's a first for me.
A_n_g_e_l_a, I see on your prompt it shows "The URL list has 1 video" same here
But what I don't get is the title of the program,... I did think for a moment could i.t.v have changed something, but obviously not.
From a freshly booted p.c. cmd running from wks-keys folder
I now get this....
Press enter with PAGE urls in clipboard
The URL list has 1 video(s)
Traceback (most recent call last):
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\site-packages\httpx\_transports\default.py", line 60, in map_httpcore_exceptions
yield
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\site-packages\httpx\_transports\default.py", line 218, in handle_request
resp = self._pool.handle_request(req)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\site-packages\httpcore\_sync\connection_pool.py", line 214, in handle_request
raise UnsupportedProtocol(
httpcore.UnsupportedProtocol: Request URL is missing an 'http://' or 'https://' protocol.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "D:\YT_Rips\WKS-KEYS\bestITVX.py", line 274, in <module>
main()
File "D:\YT_Rips\WKS-KEYS\bestITVX.py", line 268, in main
myITV.download(url)
File "D:\YT_Rips\WKS-KEYS\bestITVX.py", line 104, in download
title, data = self.get_data(url)
^^^^^^^^^^^^^^^^^^
File "D:\YT_Rips\WKS-KEYS\bestITVX.py", line 188, in get_data
r = self.client.get(url)
^^^^^^^^^^^^^^^^^^^^
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\site-packages\httpx\_client.py", line 1041, in get
return self.request(
^^^^^^^^^^^^^
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\site-packages\httpx\_client.py", line 814, in request
return self.send(request, auth=auth, follow_redirects=follow_redirects)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\site-packages\httpx\_client.py", line 901, in send
response = self._send_handling_auth(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\site-packages\httpx\_client.py", line 929, in _send_handling_auth
response = self._send_handling_redirects(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\site-packages\httpx\_client.py", line 966, in _send_handling_redirects
response = self._send_single_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\site-packages\httpx\_client.py", line 1002, in _send_single_request
response = transport.handle_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\site-packages\httpx\_transports\default.py", line 217, in handle_request
with map_httpcore_exceptions():
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\contextlib.py", line 155, in __exit__
self.gen.throw(typ, value, traceback)
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\site-packages\httpx\_transports\default.py", line 77, in map_httpcore_exceptions
raise mapped_exc(message) from exc
httpx.UnsupportedProtocol: Request URL is missing an 'http://' or 'https://' protocol.
(could it be the version of python that is running)??? Has anyone else got this running on a p.c.?? -
Copy here what you have in your clipboard before starting the python script.
-
I tried it with remote = True
I got this in return:
D:\YT_Rips\WKS-KEYS>bestitvx.py
←[32m ____ ______ _ __ _ __
/ _/ /_ __/ | | / / | |/_/
_/ / / / | |/ / _> <
/___/ /_/ |___/ /_/|_|
←[0m
Press enter with PAGE urls in clipboard
The URL list has 1 video(s)
Traceback (most recent call last):
File "D:\YT_Rips\WKS-KEYS\bestITVX.py", line 274, in <module>
main()
File "D:\YT_Rips\WKS-KEYS\bestITVX.py", line 268, in main
myITV.download(url)
File "D:\YT_Rips\WKS-KEYS\bestITVX.py", line 104, in download
title, data = self.get_data(url)
^^^^^^^^^^^^^^^^^^
File "D:\YT_Rips\WKS-KEYS\bestITVX.py", line 190, in get_data
jsondata = tree.root.css_first('#__NEXT_DATA__').text()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'text' -
"Current Session"
"Copy all visible URL's
[Attachment 72475 - Click to enlarge]
[Attachment 72476 - Click to enlarge]
This makes no sense.... my paste from "copy all visible URL's" https://www.itv.com
angry is the word i'm thinking of right now.... -
I've gone back and rechecked your script page and went back to the images posted.... I will try "Current Tab"
Copy all visible URL's using "current tab" (same as your image posted)
this is what i get... to be honest i was expecting the mpd.... but all i got was what's below..... again.
https://www.itv.com -
It should be:-
https://www.itv.com/watch/significant-other/10a1755/10a1755a0001
so copy that and try the script again -
Why on earth is'nt it picking up
[Attachment 72477 - Click to enlarge]
my output is almost there.....
D:\YT_Rips\WKS-KEYS>bestitvx.py
←[32m ____ ______ _ __ _ __
/ _/ /_ __/ | | / / | |/_/
_/ / / / | |/ / _> <
/___/ /_/ |___/ /_/|_|
←[0m
Press enter with PAGE urls in clipboard
The URL list has 1 video(s)
Significant_Other_S01E01
The system cannot find the path specified.
Using a remote CDM
Keys found 9d45e765392b49758f1246684220f57c:42b89810c4370d2b5 798f47638726377
17:47:42.917 INFO : N_m3u8DL-RE (Beta version) 20230628
17:47:42.939 ERROR: ffmpeg not found, please download at: https://ffmpeg.org/download.html
Error: The file '01_Significant_Other_S01E01.mp4' could not be opened for reading: open file error.
Traceback (most recent call last):
File "D:\YT_Rips\WKS-KEYS\bestITVX.py", line 274, in <module>
main()
File "D:\YT_Rips\WKS-KEYS\bestITVX.py", line 268, in main
myITV.download(url)
File "D:\YT_Rips\WKS-KEYS\bestITVX.py", line 182, in download
subprocess.run(["mv", f"{myvideoname}.mkv", f"{OUT_PATH}"])
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\subprocess.py", line 548, in run
with Popen(*popenargs, **kwargs) as process:
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\subprocess.py", line 1026, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\subprocess.py", line 1538, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [WinError 2] The system cannot find the file specified
D:\YT_Rips\WKS-KEYS>
I have copied over ffmpeg.exe and will try again:
Each time I run it i'm finding more items that are missing.... mp4decrypt.exe which I use but was in another folder... copied that over.
I have tried one thing slightly different... (although i doubt it makes any difference... these attempts are being dome through admin powershell, them "cmd" through that.
It worked....
one small caveat right at the end...
Error: The file 'Significant_Other_S01E01.subs.srt' could not be opened for reading: open file error.
Traceback (most recent call last):
File "D:\YT_Rips\WKS-KEYS\bestITVX.py", line 274, in <module>
main()
File "D:\YT_Rips\WKS-KEYS\bestITVX.py", line 268, in main
myITV.download(url)
File "D:\YT_Rips\WKS-KEYS\bestITVX.py", line 182, in download
subprocess.run(["mv", f"{myvideoname}.mkv", f"{OUT_PATH}"])
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\subprocess.py", line 548, in run
with Popen(*popenargs, **kwargs) as process:
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\subprocess.py", line 1026, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\subprocess.py", line 1538, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [WinError 2] The system cannot find the file specified
Could you possibly explain what the error code is at the end please... is it just for the subtitles?
Grateful is beyond words right now.... all that time using stream detector... I can see the mpd listed but its not going into the clipboard.
I suppose for ease it would be good to enclose the subs... but i usually run all my .vtt or other unusual subs through "subtitle edit" it doesn't mess with colour or anything else and the saved .srt's are perfect. -
have you done this?
pip install --pre ttconv
And create a folder called output in the WKS-KEYS folder to contain all the downloaded videosLast edited by A_n_g_e_l_a; 17th Jul 2023 at 12:50.
-
[Attachment 72482 - Click to enlarge]
output folder is empty?
I left this alone (## pip install --pre ttconv) within the script (didn't want to create another problem).
See the image and let me know what you think please... -
I ran pip install --pre ttconv
D:\YT_Rips\WKS-KEYS>pip install --pre ttconv
Requirement already satisfied: ttconv in c:\users\westhamboy\appdata\local\programs\python\ python311\lib\site-packages (1.0.6) -
Ok it is installed
find this line
os.system(f"tt convert -i {videoname}.subs.vtt -o {videoname}.subs.srt > /dev/null 2>&1")
it is line 132; change it to
os.system(f"tt convert -i {videoname}.subs.vtt -o {videoname}.subs.srt > $null") -
Edited that line, checked and re-checked.... still able to download, no problems there,... but i have this at the beginning:
D:\YT_Rips\WKS-KEYS>bestitvx_subedit.py
←[32m ____ ______ _ __ _ __
/ _/ /_ __/ | | / / | |/_/
_/ / / / | |/ / _> <
/___/ /_/ |___/ /_/|_|
←[0m
Press enter with PAGE urls in clipboard
The URL list has 1 video(s)
George_and_Mildred_S01E01
Input file is George_and_Mildred_S01E01.subs.vtt
Output file is George_and_Mildred_S01E01.subs.srt
The first line of the file does not start with WEBVTT
Bad alignment setting value: middle
Reading: |--------------------------------------------------| 0% CompleteTraceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Scripts\tt.exe\__main__.py", line 7, in <module>
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\site-packages\ttconv\tt.py", line 438, in main
args.func(args)
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\site-packages\ttconv\tt.py", line 347, in convert
model = vtt_reader.to_model(f, None, progress_callback_read)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\site-packages\ttconv\vtt\reader.py", line 527, in to_model
subtitle_text = subtitle_text.strip('\r\n').replace(r"\n\r", "\n")
^^^^^^^^^^^^^
UnboundLocalError: cannot access local variable 'subtitle_text' where it is not associated with a value
where it states "The first line of the file does not start with WEBVTT" this is not right.... opening the .vtt subs shows this:
WEBVTT
00:00:00.000 --> 00:00:02.160 align:middle line:-2
.
00:00:05.000 --> 00:00:07.160 align:middle line:-2
.
00:00:30.000 --> 00:00:32.160 align:middle line:-2
.
00:00:39.960 --> 00:00:43.800 align:middle line:-2
# Underneath the arches
00:00:43.800 --> 00:00:45.960 align:middle line:-2
# I dream my dreams #
(I didn't create the spaces, that's how it looks.)
---------------------------------------------
and this still appears at the end
Error: The file 'George_and_Mildred_S01E01.subs.srt' could not be opened for reading: open file error.
Traceback (most recent call last):
File "D:\YT_Rips\WKS-KEYS\bestITVX_subedit.py", line 274, in <module>
main()
File "D:\YT_Rips\WKS-KEYS\bestITVX_subedit.py", line 268, in main
myITV.download(url)
File "D:\YT_Rips\WKS-KEYS\bestITVX_subedit.py", line 182, in download
subprocess.run(["mv", f"{myvideoname}.mkv", f"{OUT_PATH}"])
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\subprocess.py", line 548, in run
with Popen(*popenargs, **kwargs) as process:
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\subprocess.py", line 1026, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Users\xxxxxxxxxx\AppData\Local\Programs\Python \Python311\Lib\subprocess.py", line 1538, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [WinError 2] The system cannot find the file specifiedLast edited by LastResort; 17th Jul 2023 at 16:13. Reason: forgot to add..
-
line 46 add import shutil
line 133 os.system(f"tt convert -i {videoname}.subs.vtt -o {videoname}.subs.srt > /dev/null 2>&1") comment-out by adding # at the start
line 178 edit f"{videoname}.subs.srt" to f"{videoname}.subs.vtt"
line 184 replace subprocess.run(["mv", f"{myvideoname}.mkv", f"{OUT_PATH}"])
with
shutil.move(f"{myvideoname}.mkv", f"{OUT_PATH}")
line 185 delete the line os.system(f"rm {myvideoname}.mp4 {videoname}.subs.vtt {videoname}.subs.srt")
and
replace with
os.remove(f".\{myvideoname}.mp4")
os.remove(f".\{videoname}.subs.vtt" )
I hate Windows. I still have no idea why you are getting crazy characters around ITVX heading. But this works on windows 11 but without subtitle conversion.
ttconv just will not run so I have left the subs as VTT - it was that giving the file not found error at the start.
I have installed Windows 11 as a virtual machine to test this and it runs fine with these changes; so no more help.
https://anonfiles.com/D0u5Od21za/bestITVX_py Belt and bracesLast edited by A_n_g_e_l_a; 18th Jul 2023 at 15:28.
-
Sorry for the late reply A_n_g_e_l_a....
Script works a treat..... subs are merged into video file, but as .vtt files. but do go into the output folder. As you say, it's a windows problem. Really appreciate all your help with this.
Similar Threads
-
any script or comment to download playlist
By ahmedani in forum Video Streaming DownloadingReplies: 0Last Post: 5th Jul 2022, 07:20 -
How to youtube-dl download login required youtube video?
By abrogard in forum Video Streaming DownloadingReplies: 14Last Post: 6th Jun 2022, 19:51 -
Found an awesome script to download widevine content (mpd) and decrypt it
By royjeon215 in forum Latest Video NewsReplies: 8Last Post: 11th Nov 2021, 15:26 -
youtube-dl FFmpeg script drag drop paste url download convert
By vaype_naysh in forum Newbie / General discussionsReplies: 0Last Post: 20th Sep 2021, 14:12 -
In VSDC FREE, How to pop up random words in random screen locations?
By EricBalir in forum Newbie / General discussionsReplies: 0Last Post: 27th Aug 2021, 10:10