StreamCloud Enhancer

Prepares video for playback and enables download.

  1. // ==UserScript==
  2. // @name StreamCloud Enhancer
  3. // @namespace schwarztee
  4. // @description Prepares video for playback and enables download.
  5. // @include *streamcloud.eu/*
  6. // @copyright 2015, schwarztee
  7. // @license MIT
  8. // @version 0.1.1
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12.  
  13. // jQuery ist auf streamcloud.eu verfügbar und kann genutzt werden
  14. (function($){
  15. // Warteseite?
  16. if ( document.getElementById( 'login' ) )
  17. {
  18. var submitForm = function submitForm()
  19. {
  20. // Event-Handler entfernen, der Absenden des Formulars verhindert
  21. $(document).off( 'submit', 'form.proform' );
  22. // Formular absenden
  23. $( 'form.proform' ).submit();
  24. };
  25. // 11 Sekunden warten (unvermeidbar, wird serverseitig kontrolliert)
  26. setTimeout( submitForm, 11000 );
  27. }
  28. // Videoseite?
  29. if ( typeof jwplayer != 'undefined' )
  30. {
  31. // Referenz auf Player zurechtlegen
  32. var player = jwplayer( 'mediaplayer' );
  33. // Button-Reihe in Titelleiste anvisieren
  34. var buttonList = $( '#page .header ul' );
  35. // neuen Download-Link erzeugen
  36. var link = $( '<a>' )
  37. .attr( 'href', player.config.file )
  38. .html( "Download" )
  39. .attr( 'title', "Direktlink zum Video" );
  40. // Link in Listenelement einpacken
  41. var element = $( '<li>' )
  42. .html( link )
  43. .addClass( 'active' );
  44. // falschen Download-Button entfernen und neuen Button hinzufügen
  45. buttonList.find( 'li:last-child' ).remove();
  46. buttonList.append( element );
  47. // erstmaliges Anhalten?
  48. var initialPause = true;
  49. // Wiedergabe anhalten, sobald bereit zum Abspielen
  50. player.onPlay( function pauseOnce()
  51. {
  52. // pausieren
  53. initialPause && player.pause(true);
  54. // fertig
  55. initialPause = false;
  56. });
  57. // Laden des Videos starten
  58. player.play();
  59. }
  60.  
  61. })(jQuery);