Save.TV Plugin-Defekt: "Hosterproblem"

Top-Downloadmanager mit voller Save.TV Integration! (automatische Archivübernahme u.v.a.m.)
Fredel
Beiträge: 927
Registriert: So 21. Feb 2016, 20:45
bevorzugter Onlinevideorecorder: Save.TV

Save.TV Plugin-Defekt: "Hosterproblem"

Beitrag von Fredel »

Folgendes Problem habe ich im offiziellen JDownloader Forum soeben gemeldet:

JDownloader Community - Appwork GmbH > Deutscher Support > Hoster-Plugin Probleme > Save.TV Plugin-Defekt: "Hosterproblem"
Hallo JDownloader Team,
alle Downloadaufträge mit Save.TV Plugin melden "Hosterproblem?". Vermutlich wieder eine Änderung der Website, denn beim Download mit wget oder per Browser gibt es kein Problem. Alle Updates sind durchgeführt (Plugin Rev 33993), vor jedem Log-File habe ich den JDL neu gestartet, die Downloadliste und der Crawler war leer.

Unter Accountverwaltung lässt sich der Premium Account problemlos deaktivieren und aktivieren, lädt auch Zusatzinfos.

Im folgenden Log habe ich einen gültigen Download Link (der ja auch im Browser oder per wget geht) im JDL eingefügt
http://csm19.save.tv/307241_12551044_****_1/?m=dl

05.07.16 16.17.17 <--> 05.07.16 16.25.42 jdlog://4157135891641/

Im folgenden Log habe ich den Telecast-ID Link eingefügt
https://www.save.tv/STV/M/obj/archive/VideoArchiveDetails.cfm?TelecastId=12551044

05.07.16 16.28.48 <--> 05.07.16 16.29.46 jdlog://6157135891641/

Das Problem besteht auf einem XP und einem w7 Rechner seit heute 05.06.2016 12:30 durchgehend.
jDownloader & Save.TV: 1. Schritte - automatischer Download <--> Save.TV Manager Version 3 Update: Favoriten retten

Link:
BBcode:
HTML:
Hide post links
Show post links
telgos
Beiträge: 10
Registriert: So 8. Mai 2016, 17:24

Re: Save.TV Plugin-Defekt: "Hosterproblem"

Beitrag von telgos »

Das ist ein globales Thema und betrifft nicht nur das im Betreff genannte Plugin.

Mein Pythonscript meldet Error 410.

Beim manuellen Aufruf der URL wird es unverschämt, denn ich bekomme folgenden Text von save.tv angezeigt:

"The page you requested was removed. Grüßt's mir den JDownloader recht herzlich. *wink*"


Das ist ja schon Verspottung der save.tv-Kunden, die über alternative Wege Downloaden (z.B.: JDownloader; scripte), weil die Save.TV-Applikation nicht das her gibt was die Kunden benötigen.

Sollen wir uns dazu zusammen tun und mal einen kräftigen Brief der Geschäftsführung schreiben?

Hab jetzt erstmal dem Support geschrieben und bin auf die Antwort gespannt. Ggf. klärt sich das ja auf.

Link:
BBcode:
HTML:
Hide post links
Show post links
thomasfl
STV MANAGER
STV MANAGER
Beiträge: 431
Registriert: Fr 4. Mär 2016, 11:54

Re: Save.TV Plugin-Defekt: "Hosterproblem"

Beitrag von thomasfl »

telgos hat geschrieben:Mein Pythonscript meldet Error 410.
Wenn Du einen dauerhaft stabilen Zugriff willst, musst Du wohl auf die API v3 umsteigen. Python ist auch relativ einfach, da gibt es aus dem Kodi-Plugin schon funktionierenden Code.
Bild STV MANAGER - Tool zur Verwaltung von Save.TV --- Neuigkeiten & Downloads --- Fragen & Support

Link:
BBcode:
HTML:
Hide post links
Show post links
Fredel
Beiträge: 927
Registriert: So 21. Feb 2016, 20:45
bevorzugter Onlinevideorecorder: Save.TV

Re: Save.TV Plugin-Defekt: "Hosterproblem"

Beitrag von Fredel »

Save.TV hat wohl ein neues Feindbild, seine Kunden.

Bin gespannt ob dem JDL Team (mit seinen x Hostern) schon mal so etwas untergekommen ist.

Vorläufig versorge ich den JDownloader einfach indirekt. Ein Puffer von 1TB Daten war dank Bandbreite in weniger als 3h aufgebaut, trotz Prime Time. Das reicht für den JDL mit seinen 1,5MB/s sicher einige Tage.
jDownloader & Save.TV: 1. Schritte - automatischer Download <--> Save.TV Manager Version 3 Update: Favoriten retten

Link:
BBcode:
HTML:
Hide post links
Show post links
Benutzeravatar
Fox   
Administrator
Beiträge: 1036
Registriert: Do 3. Mär 2016, 13:29
bevorzugter Onlinevideorecorder: (Eigenbau)
Kontaktdaten:

Re: Save.TV Plugin-Defekt: "Hosterproblem"

Beitrag von Fox    »

Ich habe vollstes vertrauen, dass pspzockerscene das wieder fixed. Im übrigen bekomme ich die kleine Mitteilung ohne Zeichenspinat.

GET https://www.save.tv/STV/M/obj/cRecordOr ... oadUrl.cfm
410 Gone

The page you requested was removed. Grüßt's mir den JDownloader recht herzlich.
Wie dem geneigten Webseitenbenutzer vielleicht schon aufgefallen ist, ist das Streaming über die Webseite überarbeitet worden. Und nein, nicht einfach nur so, sondern mit mehr Funktionalität für die Webseite und auch später in den Apps.
Ich glaube zwar auch ein wenig, dass SaveTV seinen Spaß daran hat, schließlich hat man die Möglichkeit über die APIv2 auch unterbunden. Die Informationsmeldung gibt allerdings ein wenig Transparenz in das geschehen. Offenbar war die Herstellung einer Inkompatibilität mit dem JD-Plug-in unvermeidbar bei der Weiterentwicklung von SaveTV. Ich finde es eigentlich wider sehr freundlich, dass man auf diese Weise (irgendwie verdeckt, aber nun öffentlich) versucht mit dem JD-Team zu kommunizieren. Ebenso wurde der HTTP-Status-Code 410 "Die angeforderte Ressource wird nicht länger bereitgestellt und wurde dauerhaft entfernt." genutzt. Für gewöhnlich ist man nicht so freundlich und gepflegt bei der Nutzung der Status-Codes und spuckt einfach einen 404 "Nicht gefunden" aus. ;)
Erkennen - Verstehen - Nutzen
Es gibt immer schlechte Beispiele - aber sollte man nicht versuchen, besser zu sein?

Link:
BBcode:
HTML:
Hide post links
Show post links
Fredel
Beiträge: 927
Registriert: So 21. Feb 2016, 20:45
bevorzugter Onlinevideorecorder: Save.TV

Re: Save.TV Plugin-Defekt: "Hosterproblem"

Beitrag von Fredel »

Also echt. Man pflegt lieber in den Programmcode der Website einen Hinweis für das JDL Team ein, bereitet x Usern einen Ausfall und Kopfzerbrechen, als dass man sich anschickt einfach mal kurz eine formlose Email an das JDL Team zu senden.

Wobei ich Dir Recht gebe, vielleicht fand hier ein Programmierer oder Webverantwortlicher die offensichtlich absolut ablehnende Haltung der Geschäfts-/Produktleitung (bzgl. nicht monetären Kooperationen) falsch und hat sich hier innerhalb seines eigenen Verantwortungsbereichs positiv gegeben.

Gerade "Und nein, nicht einfach nur so" deutet schwer darauf hin, denn Plug-In Ausfälle in der Vergangenheit, wurden teilweise in der Form beurteilt. BTW nicht alle, denn psp hat bereits mehrfach Überarbeitung und verbesserte Leistungsfähigkeit der Website erwähnt, soweit ich mich erinnere.
jDownloader & Save.TV: 1. Schritte - automatischer Download <--> Save.TV Manager Version 3 Update: Favoriten retten

Link:
BBcode:
HTML:
Hide post links
Show post links
Benutzeravatar
Fox   
Administrator
Beiträge: 1036
Registriert: Do 3. Mär 2016, 13:29
bevorzugter Onlinevideorecorder: (Eigenbau)
Kontaktdaten:

Re: Save.TV Plugin-Defekt: "Hosterproblem"

Beitrag von Fox    »

Ich glaube es ist so, wie du sagst Fredel. Die Änderung scheint Trivial zu sein.

Aus save.tv/STV/M/obj/cRecordOrder/croGetDownloadUrl.cfm?TelecastId=12651021&iFormat=1&bAdFree=false kann man ganz schnell den Request umbauen um die neue Streaming-URL-HTML-Seite zu erhalten.
  • Zunächst wird nun save.tv/STV/M/obj/archive/VideoArchiveStreaming.cfm aufgerufen.
  • Aus iFormat wird (bspw.) recordFormatId.
  • bAdFree wird in AdFree umbenannt. Statt eines Boolean wird nun ein Integer angegeben.
Heraus kommt der neue Link: save.tv/STV/M/obj/archive/VideoArchiveStreaming.cfm?telecastId=12651021&recordFormatId=5&AdFree=1

Zurückgegeben wird anschließend eine HTML-Seite

Code: Alles auswählen

		

		<!DOCTYPE html>
		<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
		<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
		<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
		<!--[if lt IE 9]> <html class="lt-ie9"> <![endif]-->
		<!--[if gte IE 9]><!-->
		<html class="no-js"> <!--<![endif]-->
			<head>
				<meta charset="utf-8" />
				<title>Save.TV - Ihr Online-Videorecorder in der Cloud</title>

				<meta name="viewport" content="width=device-width">
				<meta http-equiv="X-UA-Compatible" content="IE=edge">
				
				
		   			<meta name="keywords" content="online-videorecorder, filme aufnehmen, serien aufnehmen, fernsehen online" />
     			
				
				
				<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css'>
				<link href='https://fonts.googleapis.com/css?family=Handlee' rel='stylesheet' type='text/css' />
		
		        <link rel="stylesheet" href="/STV/IMG/global/skin/tvcloud/css/font-awesome.min.css">
		        <link rel="shortcut icon" href="/favicon.ico" type="icon/x-icon">
		        <!--[if IE 7]>
				<link rel="stylesheet" href="css/font-awesome-ie7.min.css">
				<![endif]-->
				
				

				<link rel="stylesheet" href="/STV/IMG/global/skin/v4/css/vendor/font-awesome.min.css?2016070522">
                <link rel="stylesheet" href="/stv/img/global/skin/v4/css/vendor/bootstrap/bootstrap.min.css">
				<link rel="stylesheet" type="text/css" href="/STV/IMG/global/skin/tvcloud/css/style.css?1004" media="all" />
				<link rel="stylesheet" type="text/css" href="/STV/IMG/global/skin/tvcloud/css/legacyStyle.css" media="all" />
				

				<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-21238495-7', 'auto');
  ga('set', 'anonymizeIp', true);
  ga('send', 'pageview');

</script> 
    	</head>
    
    	<body id="body">
    

    	 <div class="band header member">
    	 	<div class="band-innen">
    	 		<a href="/STV/M/obj/home/memberHome.cfm">
    	 			
    	 				<img src="/STV/IMG/global/skin/tvcloud/img/save-tv.png" alt="Save.tv - Ihr Videorecorder in der Cloud" class="header-logo" />
    	 			
    	 			
    	 		</a>
    	 		<ul id="nav" class="member-nav ">
					<li class="member-nav-li member-nav-programm ">
						
							<a aria-haspopup="true" href="/STV/M/obj/TVProgCtr/tvctShow.cfm" class="member-nav-a member-nav-programm ">TV Programm</a>
							<ul class="header-subnav">
								<li class="header-subnav-h"><a class="header-subnav-a" href="/STV/M/obj/home/memberHome.cfm">Startseite</a></li>
								<li class="header-subnav-h"><a class="header-subnav-a" href="/STV/M/obj/TVProgCtr/stations.cfm">Programmübersicht</a></li>
								<li class="header-subnav-h"><a class="header-subnav-a" href="/STV/M/obj/TVProgCtr/tvctShow.cfm">Highlights</a></li>
								<li class="header-subnav-h"><a class="header-subnav-a" href="/STV/M/obj/TVProgCtr/TvProgrammJetzt.cfm">Jetzt</a></li>
								<li class="header-subnav-h"><a class="header-subnav-a" href="/STV/M/obj/TVProgCtr/TvProgrammGleich.cfm">Gleich</a></li>
								<li class="header-subnav-h"><a class="header-subnav-a" href="/STV/M/obj/TVProgCtr/TvProgramm2015.cfm">20:15 Uhr</a></li>
								<li class="header-subnav-h"><a class="header-subnav-a" href="/STV/M/obj/TVProgCtr/TvProgramm2215.cfm">22:15 Uhr</a></li>
							</ul>
						
					</li><li class="member-nav-li member-nav-stardb ">
						
							<a href="/STV/M/obj/starletCTR/starDb.cfm" class="member-nav-a member-nav-stardb">Star-Datenbank</a>
						
					</li><li class="member-nav-li member-nav-channels ">
						
							<a href="/STV/M/obj/channels/MeineChannels.cfm" class="member-nav-a member-nav-channels">Meine Channels</a>
						
					</li><li class="member-nav-li member-nav-archiv member-nav-hier">
						
									<a href="/STV/M/obj/archive/VideoArchive.cfm" class="member-nav-a member-nav-archiv">Mein Videoarchiv</a>
								
						
						
					</li><li class="member-nav-li member-nav-account ">
						
								<a href="/STV/M/obj/user/config/AccountEinstellungen.cfm" class="member-nav-a member-nav-account">Mein Account </a>
							
							<ul class="header-subnav">
								<li class="header-subnav-h">[HIER stünde der Name des STV-Acc-Inhabers]</li>
								<li>
									<b style="font-size:12px">893 Sendungen im Archiv</b>
									<br/>
									
	                                    <b style="font-size:12px">unbegrenzte Aufnahmekapazität</b>
	                                
	                            </li>
	                            <li><hr style="border-top:1px dashed #5d616a;margin:5px 0px"></li>
	                    
	                            <li style="text-align:left; margin-top:3px"  class="header-subnav-h"><a class="header-subnav-a" href="/STV/M/obj/user/config/AccountEinstellungen.cfm?iActiveMenu=0"><div>Aufnahme-Optionen</div></a></li>
	                        
	                            <li style="text-align:left;margin-top:3px"  class="header-subnav-h"><a class="header-subnav-a" href="/STV/M/obj/user/config/AccountEinstellungen.cfm?iActiveMenu=1"><div>Account-Daten</div></a></li>
	                        
	                            <li style="text-align:left;margin-top:3px"  class="header-subnav-h"><a class="header-subnav-a" href="/STV/M/obj/user/config/AccountEinstellungen.cfm?iActiveMenu=2"><div>Login-Einstellungen</div></a></li>
	                            
	                            <li style="text-align:left;margin-top:3px"  class="header-subnav-h"><a class="header-subnav-a" href="/STV/M/obj/user/config/AccountEinstellungen.cfm?iActiveMenu=4"><div>Korrespondenz</div></a></li>
	                         
	                         	<li style="text-align:left;margin-top:3px"  class="header-subnav-h"><a class="header-subnav-a" href="/STV/M/obj/user/config/AccountEinstellungen.cfm?iActiveMenu=5"><div>Rechnungen</div></a></li>
	                     	
								<li><hr style="border-top:1px dashed #5d616a;margin:5px 0px"></li>
						
								<li style="text-align:center" id="stv-logout-click" class="header-subnav-h"><a class="header-subnav-a" href="/STV/M/obj/user/usLogout.cfm"><div>Logout</div></a></li>

							</ul>
						
					</li>
				</ul>
			</div>
		</div>

    

    <div class="band inhalt">
 	    <div class="band-innen">
 	    	<h1>Streaming - Coco, der neugierige Affe</h1>
 	    	<p>
 	    		<img style="vertical-align: bottom" alt="" src="//cdn.save.tv/images/tvstations/40x21/26.png" />
 	    		| Sonntag, 03.07.2016
 	    		| 06:00 - 06:20 
					| Die Feuerwehrprüfung / Toots und die Keimetten 
 	    	</p>

 	    	<div id="spinner-target"></div>

			
 	    </div>
 	    
	 	    <div style="margin: auto; width: 1024px; min-heigth: 576px">
				<div id="SaveTVVideo"></div>
		   	    <script type="text/javascript">

	            </script>
			</div>
		
    </div>

	
    	
				<footer class="footerNew" style="">
                    <div class="container">
                        <div class="row ">
                        
                            <article class="col-lg-3 col-md-3 col-sm-6 col-xs-12 col-md-offset-1">
                                <h4>Serien-Highlights</h4>
                                <div class="stv-footer-links">
                                    
            <a href="/stv/M/obj/TC/SendungsDetails.cfm?TelecastId=12655826" title="Diagnose: Mord">Diagnose: Mord</a>
        
            <a href="/stv/M/obj/TC/SendungsDetails.cfm?TelecastId=12646533" title="Immer wieder Jim">Immer wieder Jim</a>
        
            <a href="/stv/M/obj/TC/SendungsDetails.cfm?TelecastId=12616215" title="Rules of Engagement">Rules of Engagement</a>
        
            <a href="/stv/M/obj/TC/SendungsDetails.cfm?TelecastId=12636498" title="Tatort">Tatort</a>
        
            <a href="/stv/M/obj/TC/SendungsDetails.cfm?TelecastId=12665626" title="Familie Heinz Becker">Familie Heinz Becker</a>
        
            <a href="/stv/M/obj/TC/SendungsDetails.cfm?TelecastId=12668635" title="Coupling - Wer mit wem">Coupling - Wer mit wem</a>
        
            <a href="/stv/M/obj/TC/SendungsDetails.cfm?TelecastId=12655167" title="Napoleon">Napoleon</a>
        
            <a href="/stv/M/obj/TC/SendungsDetails.cfm?TelecastId=12662473" title="Storage Wars - Die Geschäftemacher">Storage Wars - Die Geschäftemacher</a>
        
            <a href="/stv/M/obj/TC/SendungsDetails.cfm?TelecastId=12657262" title="Supergirl">Supergirl</a>
        
            <a href="/stv/M/obj/TC/SendungsDetails.cfm?TelecastId=12657751" title="Without A Trace - Spurlos verschwunden">Without A Trace - Spurlos versc...</a>
        
                                </div>
                            </article>
                            <article class="col-lg-3 col-md-3 col-sm-6 col-xs-12">
                                <h4>Film-Highlights</h4>
                                <div class="stv-footer-links">
                                    
            <a href="/stv/M/obj/TC/SendungsDetails.cfm?TelecastId=12648365" title="Deadlock">Deadlock</a>
        
            <a href="/stv/M/obj/TC/SendungsDetails.cfm?TelecastId=12806899" title="Nichts zu verzollen">Nichts zu verzollen</a>
        
            <a href="/stv/M/obj/TC/SendungsDetails.cfm?TelecastId=12731459" title="Hostage - Entführt">Hostage - Entführt</a>
        
            <a href="/stv/M/obj/TC/SendungsDetails.cfm?TelecastId=12654927" title="Vier Hochzeiten und ein Todesfall">Vier Hochzeiten und ein Todesfall</a>
        
            <a href="/stv/M/obj/TC/SendungsDetails.cfm?TelecastId=12633212" title="Marnie">Marnie</a>
        
            <a href="/stv/M/obj/TC/SendungsDetails.cfm?TelecastId=12638279" title="Ein Sommer voller Türen">Ein Sommer voller Türen</a>
        
            <a href="/stv/M/obj/TC/SendungsDetails.cfm?TelecastId=12637808" title="Die Brücke am Ibar">Die Brücke am Ibar</a>
        
            <a href="/stv/M/obj/TC/SendungsDetails.cfm?TelecastId=12652761" title="Last Hitman">Last Hitman</a>
        
            <a href="/stv/M/obj/TC/SendungsDetails.cfm?TelecastId=12656989" title="Mankells Wallander - Der Scharfschütze">Mankells Wallander - Der Scharf...</a>
        
            <a href="/stv/M/obj/TC/SendungsDetails.cfm?TelecastId=12648366" title="Supermarkt">Supermarkt</a>
        
                                </div>
                            </article>
                        
                            <article class="col-lg-4 col-md-4 col-sm-6 col-xs-12 ">
                                <h4>Save.TV</h4>
                                <div class="stv-footer-links stv-inline stv-margin-right">
                                    <a href="/stv/s/misc/about.cfm">Über Save.TV</a>
                                    <a href="/stv/s/misc/testwinner.cfm">Testsieger</a>
                                    <a href="/stv/m/misc/support/miscSupportFormHelp.cfm">Support/Kontakt</a>
                                    <a href="/stv/s/misc/support/miscSupport.cfm">FAQ</a>
                                    <a href="/stv/s/misc/Apps.cfm">Apps</a>
                                    <a href="/stv/s/misc/chromecast.cfm">Chromecast</a>
                                    <a href="/stv/s/misc/tutorial.cfm">Tutorials</a>
                                </div>
                                
                          
                            	
                            	<div class="stv-footer-links stv-inline ">		
                                    <a href="/stv/s/misc/miscshowaffiliate.cfm/">Partnerprogramm</a>
                                    <a href="/stv/s/misc/support/miscContactPress.cfm">Presse</a>
                                    <a href="/stv/s/misc/terms.cfm">AGB</a>
                                    <a href="/stv/s/misc/youthprotection.cfm">Jugendschutz</a>
                                    <a href="/stv/s/misc/policy.cfm">Datenschutz</a>
                                    <a href="/stv/s/misc/impressum.cfm">Impressum</a>
                                </div>
                            
                                <div class="stv-follow">
                                    <h4>FOLGE UNS AUF</h4>
                                    <a href="https://www.facebook.com/savetv" class="fa-stack fa-lg">
                                      <i class="fa fa-circle text-primary fa-stack-2x"></i>
                                      <i class="fa fa-facebook fa-stack-1x fa-inverse"></i>
                                    </a>
                                    <a href="https://twitter.com/savetv" class="fa-stack fa-lg">
                                      <i class="fa fa-circle text-info fa-stack-2x"></i>
                                      <i class="fa fa-twitter fa-stack-1x fa-inverse"></i>
                                    </a>
                                    <a href="https://www.youtube.com/channel/UCYrZXBen93QYojiBSsCLMJg" class="fa-stack fa-lg">
                                      <i class="fa fa-circle text-info fa-stack-2x" style="color: red"></i>
                                      <i class="fa fa-youtube fa-stack-1x fa-inverse"></i>
                                    </a>
                                </div>
                            
                            </article>                
                        </div>
                    </div>
                    <div class="stv-bottom-footer">
                        <div class="container">
                        	<div class="row">
                        		<div class="col-lg-3 col-md-3 col-sm-6 col-xs-12 col-md-offset-1">
		                            <p class="text-muted">© Copyright 2016 Save.TV</p>
		                        </div>
                           </div>
                        </div>
                    </div>					
                </footer>
      
			<script src="/stv/img/global/skin/v4/js/dest/member-epg.min.js?2016070522"></script>
			<script type="text/javascript">
			$(document).ready(function() {

				$('#stv-logout-click').click(function(){
					ga('send', 'event', 'Logout', 'Logout', '');
				});

				$('#stv-ma-series-highlights-click').click(function(){
					ga('send', 'event', 'MA_Account', 'Serienhighlights', 'TelecastID 11522757');
				});
			});
			</script>

			
			<script type="text/javascript" src="/STV/IMG/global/skin/v4/js/vendor/jquery.scoped.js?2016070522"></script>
			<script src="/STV/IMG/global/skin/tvcloud/js/spin.min.js?20140206"></script>
			<script type="text/javascript" src="//cdn.save.tv/apps/jwplayer/7.4.4/jwplayer.js" ></script>
			<script type="text/javascript">jwplayer.key="46EfkdA/XFj8GTI1Gn3gH5Ztma4nXRSxTAfzzA==";</script>
			<script type="text/javascript" src="/STV/M/obj/archive/knockout/VideoArchiveStreaming.js?2016070522"></script>

			<script type="text/javascript">
				SaveTvPlayerModule.width = 1024;
				SaveTvPlayerModule.height = 576;

				SaveTvPlayerModule.loadVideo(12651021, 5, 1);
			</script>
		
			<script type="text/javascript">
					$(document).ready(function() {
					    $('#nav li:has(ul)' ).doubleTapToGo();
					    $('#epgNav li:has(ul)').doubleTapToGo();
					    $('.sendung a').doubleTapToGo();
					});
				</script>

		    
	<script type="text/javascript">
	/* <![CDATA[ */
	var google_conversion_id = 1015465541;
	var google_conversion_label = "phxICJub1wQQxYyb5AM";
	var google_custom_params = window.google_tag_params;
	var google_remarketing_only = true;
	/* ]]> */
	</script>

	<script type="text/javascript" src="https://www.googleadservices.com/pagead/conversion.js"></script>
	<noscript>
		<div style="display:inline;">
			<img height="1" width="1" style="border-style:none;" alt="" src="https://googleads.g.doubleclick.net/pagead/viewthroughconversion/1015465541/?value=0&label=phxICJub1wQQxYyb5AM&guid=ON&script=0"/>
		</div>
	</noscript>

		</body>
		</html>
    


Wichtig ist darin nur eine Zeile: <script type="text/javascript" src="/STV/M/obj/archive/knockout/VideoArchiveStreaming.js?2016070522"></script>

Diese JavaScript-Datei bringt dann die neuen Features mit sich und sieht dann wie folgt aus:

Code: Alles auswählen

SaveTvPlayerModule = {
	spinner : new Spinner(
			{
	    lines: 17, // The number of lines to draw
	    length: 20, // The length of each line
	    width: 10, // The line thickness
	    radius: 60, // The radius of the inner circle
	    corners: 1, // Corner roundness (0..1)
	    rotate: 16, // The rotation offset
	    direction: 1, // 1: clockwise, -1: counterclockwise
	    color: '##000', // ##rgb or ##rrggbb or array of colors
	    speed: 0.5, // Rounds per second
	    trail: 100, // Afterglow percentage
	    shadow: false, // Whether to render a shadow
	    hwaccel: true, // Whether to use hardware acceleration
	    className: 'spinner', // The CSS class to assign to the spinner
	    zIndex: 2e9, // The z-index (defaults to 2000000000)
	    top: 'auto', // Top position relative to parent in px
	    left: 'auto' // Left position relative to parent in px
	}),
	telecastId : 0,
	adFree : false,
	resumePosition : 0,
	width: 0,
	height: 0,
	isFirstStart : true,
	videoPlayer : null,
	loadVideo : function(telecastId, recordFormat, adFree) {
		$('#spinner-target').append(this.spinner.el);
		this.telecastId = telecastId;
		this.adFree = adFree;

		$.ajax({
	            url : "/STV/M/obj/cRecordOrder/croGetDownloadUrl2.cfm?TelecastId=" + telecastId + "&iFormat="+ recordFormat + "&bAdFree=" + adFree,
	            datatype : "json"
	        }).done(function(rawData) {
	        	var result = jQuery.parseJSON(rawData);

                if(result.SUCCESS)
                {
                    var url = result.STREAMINGURL;
                    SaveTvPlayerModule.resumePosition = result.RESUMEPOSITION;

	        		SaveTvPlayerModule.loadJwPlayer(url);
	        	}
	        	else {
			    	alert(result.ERROR)
				}
				SaveTvPlayerModule.spinner.stop()
	        }).fail(function(){
            	$("#SaveTVVideo").html("Fehler beim Laden des Streams");
                SaveTvPlayerModule.spinner.stop();
        });;
	},
	loadJwPlayer : function(url) {
	    jwplayer("SaveTVVideo").setup({
	    	file : url,
	    	type : "mp4",
	        width : SaveTvPlayerModule.width,
	        height : SaveTvPlayerModule.height,
			logo: {
				file: "/STV/IMG/global/jwplayer-v6.12/logo-stv-chromecast-player.png",
				hide: true
			},
			primary : "html5",
			visualplaylist : false,
			preload : "none",
			analytics: {
				cookies: false,
				enabled : false
			},
			cast:{
				appid: "B8F1BD72",
				logo: "/STV/IMG/global/jwplayer-v6.12/logo-stv-chromecast-player.png"
			}
	    });

	    SaveTvPlayerModule.videoPlayer = jwplayer("SaveTVVideo");
		SaveTvPlayerModule.videoPlayer.on('beforePlay', SaveTvPlayerModule.onBeforePlay);
		SaveTvPlayerModule.videoPlayer.on('complete', SaveTvPlayerModule.onComplete);
		SaveTvPlayerModule.videoPlayer.on('pause', SaveTvPlayerModule.onPause);
		SaveTvPlayerModule.videoPlayer.on('seek', SaveTvPlayerModule.onSeek);
		SaveTvPlayerModule.videoPlayer.on('time', SaveTvPlayerModule.onTime);

		window.addEventListener('beforeunload', SaveTvPlayerModule.onBeforeUnload);
	},
	onBeforeUnload : function() {
		SaveTvPlayerModule.setResumePosition({ async : false});
	},
	onBeforePlay : function() {
		if (SaveTvPlayerModule.isFirstStart) {
			SaveTvPlayerModule.videoPlayer.seek(SaveTvPlayerModule.resumePosition);
			SaveTvPlayerModule.isFirstStart = false;
		}
	},
	onComplete : function() {
		SaveTvPlayerModule.clearResumePosition();
	},
	onPause : function() {
		SaveTvPlayerModule.setResumePosition();
	},
	onSeek : function(args) {
		if (SaveTvPlayerModule.isFirstStart) {
			return;
		}
		
		SaveTvPlayerModule.setResumePosition({ position : args.offset });
	},
	onTime : function(args) {
		var position = Math.floor(args.position);

		if (position % 120 != 0) {
			return;
		}

		SaveTvPlayerModule.setResumePosition({ position : position });
	},
	clearResumePosition : function() {
		SaveTvPlayerModule.setResumePosition({ position : 0 });
	},
	setResumePosition : function(options){
		options = options || {};
		var position = Math.floor(options.position || SaveTvPlayerModule.videoPlayer.getPosition());
		var duration = Math.floor(SaveTvPlayerModule.videoPlayer.getDuration());

		if (typeof position == 'undefined' || typeof duration == 'undefined' || isNaN(position) || isNaN(duration)) {
			return;
		}

		if (position == SaveTvPlayerModule.resumePosition){
			return
		}

		if (position > 0 && position < duration) {
			SaveTvPlayerModule.resumePosition = position;

			$.ajax({
				url : "/STV/M/obj/cRecordOrder/croSetResumePosition.cfm?telecastId=" + SaveTvPlayerModule.telecastId + "&adFree=" + SaveTvPlayerModule.adFree + "&position=" + position,
				method : "POST",
				async : options.async !== false
			});
		} else {
			SaveTvPlayerModule.resumePosition = 0;

			$.ajax({
				url : "/STV/M/obj/cRecordOrder/croDeleteResumePosition.cfm?telecastId=" + SaveTvPlayerModule.telecastId+ "&adFree=" + SaveTvPlayerModule.adFree + "&position=" + position,
				method : "POST",
				async : options.async !== false
			});
		}
	}
}


Darin findet sich eine verräterische Zeile: url : "/STV/M/obj/cRecordOrder/croGetDownloadUrl2.cfm?TelecastId=" + telecastId + "&iFormat="+ recordFormat + "&bAdFree=" + adFree
Diese klärt uns darüber auf, dass wird die ganzen neuen Parameter einfach mal in andere GET-Variablen stecken müssen. Also pressen wir alles wieder in die alten Variablen (wohlgemerkt haben sich aber Datentypen geändert im Vergleich zur alten Version!)

Wir erhalten: /STV/M/obj/cRecordOrder/croGetDownloadUrl2.cfm?TelecastId=12651021&iFormat=5&bAdFree=1

Die Magie endet hier:

Code: Alles auswählen

{"DOWNLOADURL":"http:\/\/csa04.save.tv\/458615_12651021_22896fc725e7c75c4360007e0e0b07c2_1\/?m=dl","SUCCESS":true,"STREAMINGURL":"http:\/\/csa04.save.tv\/458615_12651021_22896fc725e7c75c4360007e0e0b07c2_1\/?m=view","RESUMEPOSITION":480.0,"TELECASTID":1.2651021E7}


Abrakadabra Simsalabim wir haben unsere Download-URL.

=====================================================================

Zusammenfassung

Statt /STV/M/obj/cRecordOrder/croGetDownloadUrl.cfm heißt es nun /STV/M/obj/cRecordOrder/croGetDownloadUrl2.cfm
Der Parameter iFormat erhält andere Werte und bAdFree wird zu einem Integer.

Specs

GET save.tv/STV/M/obj/cRecordOrder/croGetDownloadUrl2.cfm?TelecastId=[TELECASTID]&iFormat=[FORMAT]&bAdFree=[AD]
Cookie: SNUUID=***[LOGIN-COOKIE]***

[TELECASTID]: Integer - die TelecastID der Sendung
[FORMAT]: Integer [4 => Mobile, 5 => HQ, 6 => HD]
[AD]: Integer [0 => mit Werbung, 1 => ohne Werbung]
Erkennen - Verstehen - Nutzen
Es gibt immer schlechte Beispiele - aber sollte man nicht versuchen, besser zu sein?

Link:
BBcode:
HTML:
Hide post links
Show post links
telgos
Beiträge: 10
Registriert: So 8. Mai 2016, 17:24

Re: Save.TV Plugin-Defekt: "Hosterproblem"

Beitrag von telgos »

Habe den Download auf API v3 umgestellt ... funktioniert.

Danke für den Tipp!

Muss bei Gelegenheit auch den Rest auf die API v3 umstellen.

Dennoch war die Aktion nicht besonders kundenfreundlich. Hätte man noch ein offizielles Forum, hätte man so was auch mit Vorlauf ankündigen können.

Link:
BBcode:
HTML:
Hide post links
Show post links
thomasfl
STV MANAGER
STV MANAGER
Beiträge: 431
Registriert: Fr 4. Mär 2016, 11:54

Re: Save.TV Plugin-Defekt: "Hosterproblem"

Beitrag von thomasfl »

Das kannst Du vergessen. Eigene Apps / Skripte werden allerhöchstens toleriert, aber keinesfalls unterstützt.
Bild STV MANAGER - Tool zur Verwaltung von Save.TV --- Neuigkeiten & Downloads --- Fragen & Support

Link:
BBcode:
HTML:
Hide post links
Show post links
Benutzeravatar
jdownloader_pspzockerscene
Beiträge: 91
Registriert: Mo 28. Mär 2016, 18:28
bevorzugter Onlinevideorecorder: Keinen
Kontaktdaten:

Re: Save.TV Plugin-Defekt: "Hosterproblem"

Beitrag von jdownloader_pspzockerscene »

Hallo Leute
Ich bin zurzeit in der Klausurphase.
Dass die APIV2 abgeschaltet- und gleichzeitig etwas an der Webseite geändert wurde ist natürlich der Super-GAU - denn das macht das Plugin nicht bzw nur eingeschränkt (Download ging nicht) nutzbar!

Ich habe es gerade fixed!
Sobald ich Zeit finde werde ich die APIV3 einbauen, damit es beim nächsten Ausfall wieder einen Funktionierenden Workaround für euch gibt, der ohne Codeänderungen von uns funktioniert.
Bis dahin werde ich die Plugin Einstellung "API verwenden" deaktivieren, da diese aktuell nur für einen Totalausfall des Plugins sorgen würde.

Statt den Aufruf einfach zu ändern hätte Stv uns auch vorher darauf hinweisen können und den alten- und den neuen Aufruf einige Zeit gleichzeitig laufen lassen können.
Sehr professionell ist das nicht - an dieser Stelle Grüße zurück von mir und meldet euch doch einfach mal bei uns wir beißen nicht!

Hier nochmal den HTML Code, der beim "alten" Aufruf kommt:

Code: Alles auswählen

----------------Response------------------------
HTTP/1.1 410 Gone
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Content-Type: text/html
Content-Language: de-DE
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Server: Microsoft-IIS/7.5
x-delivery-by: 10.51.2.24
X-Powered-By: ASP.NET
Date: Wed, 06 Jul 2016 11:46:09 GMT
Connection: close
X-Frame-Options: SAMEORIGIN
------------------------------------------------


121|save.tv_jd.plugins.hoster.SaveTv 06.07.16 13:45:54 - FINEST [ jd.http.Browser(loadConnection) ] -> 
The page you requested was removed.
    Grüßt's mir den JDownloader recht herzlich.
	<br />
	Wie dem geneigten Webseitenbenutzer vielleicht schon aufgefallen ist, ist das Streaming über die Webseite überarbeitet worden.
	Und nein, nicht einfach nur so, sondern mit mehr Funktionalität für die Webseite und auch später in den Apps.

Wer die Meldung selbst sehen will kann auch einfach folgenden Link ohne Parameter aufrufen:
https://www.save.tv/STV/M/obj/cRecordOr ... oadUrl.cfm

Grüße, pspzockerscene - Offizieller JDownloader Support
Offizielle JDownloader Webseite:
https://jdownloader.org/
Offizielles JDownloader Supportforum:
https://board.jdownloader.org/

Link:
BBcode:
HTML:
Hide post links
Show post links
Antworten