diff --git a/server.py b/server.py index a90837dd0bab814d5acdff860b6db1e1881ef484..3bea935fbd33af301a4ad91ab07364f491925586 100644 --- a/server.py +++ b/server.py @@ -497,7 +497,7 @@ def lecture(id, course=None, courseid=None): flash(text+'. <a target="_blank" class="reloadonclose" href="'+url_for('start_l2pauth')+'">Hier authorisieren</a>.', category='player') else: flash(text+'.', category='player') - return render_template('embed.html' if request.endpoint == 'embed' else 'lecture.html', course=courses[0], lecture=lecture, videos=videos, chapters=chapters) + return render_template('embed.html' if request.endpoint == 'embed' else 'lecture.html', course=courses[0], lecture=lecture, videos=videos, chapters=chapters, seek=request.args.get('t')) @app.route('/search') diff --git a/templates/embed.html b/templates/embed.html index 3a4a680f2b585744c41b2179a519d30b732938c7..82075bf5dd79a2fcc3ff98a9747f370089929460 100644 --- a/templates/embed.html +++ b/templates/embed.html @@ -11,7 +11,7 @@ {% block content %} <div class="row"> <div class="col-xs-12" style="padding: 0px"> - {{ player(lecture, videos, get_flashed_messages(category_filter=['player','message'])) }} + {{ player(lecture, videos, get_flashed_messages(category_filter=['player','message']), seek=seek) }} </div> </div> diff --git a/templates/lecture.html b/templates/lecture.html index d703dc02470fd0881e10b78a788a8305837b4983..e9e9f79af3d5bf4e598b4b78851900088757cefd 100644 --- a/templates/lecture.html +++ b/templates/lecture.html @@ -34,7 +34,7 @@ </div> <div class="row"> <div class="col-xs-12" style="padding: 0px"> - {{ player(lecture, videos, get_flashed_messages(category_filter=['player'])) }} + {{ player(lecture, videos, get_flashed_messages(category_filter=['player']), seek=seek) }} </div> <div class="col-xs-12" style="padding-top: 20px"> <p>{{ moderator_editor(['lectures',lecture.id,'comment'], lecture.comment) }}</p> diff --git a/templates/macros.html b/templates/macros.html index bdaed3effee4e63bbd8a54fcb5c3bda5dd063393..1d5af1a1121576f04aded600e9f51cb467b661dc 100644 --- a/templates/macros.html +++ b/templates/macros.html @@ -48,10 +48,15 @@ {% endmacro %} -{% macro player(lecture, videos, msgs=[], autoplay=True) %} +{% macro player(lecture, videos, msgs=[], autoplay=True, seek=None) %} +{% if seek == None %} + {% set mfrag = "" %} +{% else %} + {% set mfrag = "#t="+seek %} +{% endif %} <video id="videoplayer" style="width: 100%" class="video-js vjs-default-skin vjs-big-play-centered" width="640" height="320" controls data-wasnotplayed="1" data-setup='{ "language":"de", "plugins" : {"hotkeys": {"seekStep": 15, "enableVolumeScroll": false, "alwaysCaptureHotkeys": true}, "videoJsResolutionSwitcher": { "ui": true, "default": "720p", "dynamicLabel": false } }, "customControlsOnMobile": true, "playbackRates": [0.5, 0.75, 1, 1.25, 1.5, 1.75, 2, 2.25, 2.5, 2.75, 3, 3.25, 3.5, 3.75, 4] }'> {% for v in videos|sort(attribute='formats.player_prio', reverse=True) %} - <source type="{{ v.formats.mimetype }}" src="{{ config.VIDEOPREFIX }}/{{ v.path }}" data-label="{{ v.formats.description }}" data-res="{{v.formats.resolution}}" data-aspect="{{v.formats.aspect}}" data-player_prio="{{v.formats.player_prio}}"/> + <source type="{{ v.formats.mimetype }}" src="{{ config.VIDEOPREFIX }}/{{ v.path }}{{mfrag}}" data-label="{{ v.formats.description }}" data-res="{{v.formats.resolution}}" data-aspect="{{v.formats.aspect}}" data-player_prio="{{v.formats.player_prio}}"/> {% endfor %} <track srclang="de" kind="chapters" src="{{ url_for('chapters',lectureid=lecture.id) }}" /> </video> @@ -60,7 +65,6 @@ $(function() { $('#videoplayer').addClass("vjs-fluid"); $('#videoplayer').css("width"); videojs("videoplayer").ready(function() { - //resume var progress_key = "progress_{{ lecture.id }}"; var seconds_played; @@ -69,7 +73,9 @@ $(function() { if (!seconds_played) { seconds_played = 0; } else { + {% if seek == None %} videojs('videoplayer').currentTime(seconds_played); + {% endif %} } } videojs("videoplayer").on("timeupdate", function() {