- <video id="video-container" class="video-js vjs-default-skin vjs-big-play-centered">
- </video>
-
-
- <script>
- function loadVideoInfos (videoId, callback) {
- var xhttp = new XMLHttpRequest()
- xhttp.onreadystatechange = function () {
- if (this.readyState === 4 && this.status === 200) {
- var json = JSON.parse(this.responseText)
- return callback(json)
- }
- }
-
- var url = window.location.origin + '/api/v1/videos/' + videoId
- xhttp.open('GET', url, true)
- xhttp.send()
- }
-
- function loadVideoTorrent (magnetUri) {
- console.log('Loading video ' + videoId)
- var client = new window.WebTorrent()
-
- console.log('Adding magnet ' + magnetUri)
- client.add(magnetUri, function (torrent) {
- var file = torrent.files[0]
-
- file.renderTo('video', { autoplay: true })
- })
- }
-
- var urlParts = window.location.href.split('/')
- var videoId = urlParts[urlParts.length - 1]
-
- loadVideoInfos(videoId, function (videoInfos) {
- var magnetUri = videoInfos.magnetUri
- // FIXME: use poster?
- // var videoContainer = document.getElementById('video-container')
- // var thumbnailUrl = 'http://' + videoInfos.podUrl + videoInfos.thumbnailPath
- // videoContainer.poster = thumbnailUrl
-
- videojs('video-container', { controls: true, autoplay: false }, function () {
- var player = this
-
- var Button = videojs.getComponent('Button')
- var peertubeLinkButton = videojs.extend(Button, {
- constructor: function () {
- Button.apply(this, arguments)
- },
-
- createEl: function () {
- var link = document.createElement('a')
- link.href = window.location.href.replace('embed', 'watch')
- link.innerHTML = 'PeerTube'
- link.title = 'Go to the video page'
- link.className = 'vjs-peertube-link'
-
- return link
- }
- })
- videojs.registerComponent('PeerTubeLinkButton', peertubeLinkButton)
-
- var controlBar = player.getChild('controlBar')
- var addedLink = controlBar.addChild('PeerTubeLinkButton', {})
- controlBar.el().insertBefore(addedLink.el(), controlBar.fullscreenToggle.el())
-
- player.dock({
- title: videoInfos.name
- })