1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

dashboard video tweaks

This commit is contained in:
Luke Pulverenti 2013-04-30 18:34:10 -04:00
parent 600718546d
commit 2d457fa05a
5 changed files with 31 additions and 29 deletions

View file

@ -40,7 +40,10 @@
font-weight: normal; font-weight: normal;
text-align: left; text-align: left;
vertical-align: top; vertical-align: top;
white-space: nowrap; }
.detailTable tr:hover {
background: #444;
} }
.detailTable .imgUserItemRating { .detailTable .imgUserItemRating {

View file

@ -181,12 +181,14 @@
var mp4VideoUrl = ApiClient.getUrl('Videos/' + item.Id + '/stream.mp4', $.extend({}, baseParams, { var mp4VideoUrl = ApiClient.getUrl('Videos/' + item.Id + '/stream.mp4', $.extend({}, baseParams, {
videoCodec: 'h264', videoCodec: 'h264',
audioCodec: 'aac' audioCodec: 'aac',
profile: 'high'
})); }));
var tsVideoUrl = ApiClient.getUrl('Videos/' + item.Id + '/stream.ts', $.extend({}, baseParams, { var tsVideoUrl = ApiClient.getUrl('Videos/' + item.Id + '/stream.ts', $.extend({}, baseParams, {
videoCodec: 'h264', videoCodec: 'h264',
audioCodec: 'aac' audioCodec: 'aac',
profile: 'high'
})); }));
var webmVideoUrl = ApiClient.getUrl('Videos/' + item.Id + '/stream.webm', $.extend({}, baseParams, { var webmVideoUrl = ApiClient.getUrl('Videos/' + item.Id + '/stream.webm', $.extend({}, baseParams, {
@ -207,14 +209,8 @@
// HLS must be at the top for safari // HLS must be at the top for safari
// Webm must be ahead of mp4 due to the issue of mp4 playing too fast in chrome // Webm must be ahead of mp4 due to the issue of mp4 playing too fast in chrome
var mkvVideoUrl = ApiClient.getUrl('Videos/' + item.Id + '/stream.mkv', $.extend({}, baseParams, {
videoCodec: 'h264',
audioCodec: 'aac'
}));
(this).src([ (this).src([
{ type: "application/x-mpegURL", src: hlsVideoUrl }, { type: "application/x-mpegURL", src: hlsVideoUrl },
{ type: "video/x-matroska", src: mkvVideoUrl },
{ type: "video/webm", src: webmVideoUrl }, { type: "video/webm", src: webmVideoUrl },
{ type: "video/mp4", src: mp4VideoUrl }, { type: "video/mp4", src: mp4VideoUrl },
{ type: "video/mp2t; codecs='h264, aac'", src: tsVideoUrl }, { type: "video/mp2t; codecs='h264, aac'", src: tsVideoUrl },

View file

@ -1,6 +1,6 @@
(function ($, document) { (function ($, document) {
var view = "Backdrop"; var view = "Poster";
// The base query options // The base query options
var query = { var query = {

View file

@ -1,6 +1,6 @@
(function ($, document) { (function ($, document) {
var view = "Backdrop"; var view = "Poster";
// The base query options // The base query options
var query = { var query = {

View file

@ -306,7 +306,7 @@ _V_.ResolutionMenuItem = _V_.MenuItem.extend({
resolutions['medium'] = new Array(750000, 128000, 1280, 720); resolutions['medium'] = new Array(750000, 128000, 1280, 720);
resolutions['low'] = new Array(200000, 128000, 720, 480); resolutions['low'] = new Array(200000, 128000, 720, 480);
var current_time = this.player.currentTime(); var currentTime = this.player.currentTime();
// Set the button text to the newly chosen quality // Set the button text to the newly chosen quality
jQuery(this.player.controlBar.el).find('.vjs-quality-text').html(this.options.label); jQuery(this.player.controlBar.el).find('.vjs-quality-text').html(this.options.label);
@ -321,11 +321,11 @@ _V_.ResolutionMenuItem = _V_.MenuItem.extend({
if (this.player.duration() == "Infinity") { if (this.player.duration() == "Infinity") {
if (currentSrc.indexOf("StartTimeTicks") >= 0) { if (currentSrc.indexOf("StartTimeTicks") >= 0) {
var startTimeTicks = currentSrc.match(new RegExp("StartTimeTicks=[0-9]+", "g")); var startTimeTicks = currentSrc.match(new RegExp("StartTimeTicks=[0-9]+", "g"));
var start_time = startTimeTicks[0].replace("StartTimeTicks=", ""); var startTime = startTimeTicks[0].replace("StartTimeTicks=", "");
newSrc += "&StartTimeTicks=" + Math.floor(parseInt(start_time) + (10000000 * current_time)); newSrc += "&StartTimeTicks=" + Math.floor(parseInt(startTime) + (10000000 * currentTime));
} else { } else {
newSrc += "&StartTimeTicks=" + Math.floor(10000000 * current_time); newSrc += "&StartTimeTicks=" + Math.floor(10000000 * currentTime);
} }
this.player.src(newSrc).one('loadedmetadata', function () { this.player.src(newSrc).one('loadedmetadata', function () {
@ -334,7 +334,7 @@ _V_.ResolutionMenuItem = _V_.MenuItem.extend({
} else { } else {
newSrc += "&StartTimeTicks=0"; newSrc += "&StartTimeTicks=0";
this.player.src(newSrc).one('loadedmetadata', function () { this.player.src(newSrc).one('loadedmetadata', function () {
this.currentTime(current_time); this.currentTime(currentTime);
this.play(); this.play();
}); });
} }
@ -444,13 +444,13 @@ _V_.ChapterSelector = _V_.Button.extend({
//find the current chapter and mark it active in the list //find the current chapter and mark it active in the list
//need to determine current position plus the start point of the file to know where we are. //need to determine current position plus the start point of the file to know where we are.
var current_time = this.player.currentTime(); var currentTime = this.player.currentTime();
var startTimeTicks = this.player.tag.src.match(new RegExp("StartTimeTicks=[0-9]+", "g")); var startTimeTicks = this.player.tag.src.match(new RegExp("StartTimeTicks=[0-9]+", "g"));
var now_ticks = Math.floor(parseInt(startTimeTicks[0].replace("StartTimeTicks=","")) + (10000000 * current_time)); var nowTicks = Math.floor(parseInt(startTimeTicks[0].replace("StartTimeTicks=","")) + (10000000 * currentTime));
var activeChapter; var activeChapter;
this.each(this.Chapters, function (chapter) { this.each(this.Chapters, function (chapter) {
if (now_ticks > chapter[0].StartPositionTicks) { if (nowTicks > chapter[0].StartPositionTicks) {
activeChapter = chapter[0]; activeChapter = chapter[0];
} }
}); });
@ -510,13 +510,16 @@ _V_.ChapterMenuItem = _V_.MenuItem.extend({
// Set the button text to the newly chosen chapter // Set the button text to the newly chosen chapter
//jQuery( this.player.controlBar.el ).find( '.vjs-chapter-text' ).html( this.options.label ); //jQuery( this.player.controlBar.el ).find( '.vjs-chapter-text' ).html( this.options.label );
if (this.player.duration() == "Infinity") { if (this.player.duration() == "Infinity") {
var currentSrc = this.player.tag.src; var currentSrc = this.player.tag.src;
var newSrc;
if (currentSrc.indexOf("StartTimeTicks") >= 0) { if (currentSrc.indexOf("StartTimeTicks") >= 0) {
var newSrc = currentSrc.replace(new RegExp("StartTimeTicks=[0-9]+", "g"), "StartTimeTicks=" + this.options.src[0].StartPositionTicks); newSrc = currentSrc.replace(new RegExp("StartTimeTicks=[0-9]+", "g"), "StartTimeTicks=" + this.options.src[0].StartPositionTicks);
} else { } else {
var newSrc = currentSrc += "&StartTimeTicks=" + this.options.src[0].StartPositionTicks; newSrc = currentSrc += "&StartTimeTicks=" + this.options.src[0].StartPositionTicks;
} }
this.player.src(newSrc).one('loadedmetadata', function () { this.player.src(newSrc).one('loadedmetadata', function () {
@ -712,7 +715,7 @@ _V_.SubtitleMenuItem = _V_.MenuItem.extend({
if (this.options.label === this.player.options.currentSubtitle) if (this.options.label === this.player.options.currentSubtitle)
return; return;
var current_time = this.player.currentTime(); var currentTime = this.player.currentTime();
// Set the button text to the newly chosen subtitle // Set the button text to the newly chosen subtitle
jQuery(this.player.controlBar.el).find('.vjs-quality-text').html(this.options.label); jQuery(this.player.controlBar.el).find('.vjs-quality-text').html(this.options.label);
@ -731,9 +734,9 @@ _V_.SubtitleMenuItem = _V_.MenuItem.extend({
var startTimeTicks = currentSrc.match(new RegExp("StartTimeTicks=[0-9]+", "g")); var startTimeTicks = currentSrc.match(new RegExp("StartTimeTicks=[0-9]+", "g"));
var start_time = startTimeTicks[0].replace("StartTimeTicks=", ""); var start_time = startTimeTicks[0].replace("StartTimeTicks=", "");
newSrc += "&StartTimeTicks=" + Math.floor(parseInt(start_time) + (10000000 * current_time)); newSrc += "&StartTimeTicks=" + Math.floor(parseInt(start_time) + (10000000 * currentTime));
} else { } else {
newSrc += "&StartTimeTicks=" + Math.floor(10000000 * current_time); newSrc += "&StartTimeTicks=" + Math.floor(10000000 * currentTime);
} }
this.player.src(newSrc).one('loadedmetadata', function () { this.player.src(newSrc).one('loadedmetadata', function () {
@ -742,7 +745,7 @@ _V_.SubtitleMenuItem = _V_.MenuItem.extend({
} else { } else {
newSrc += "&StartTimeTicks=0"; newSrc += "&StartTimeTicks=0";
this.player.src(newSrc).one('loadedmetadata', function () { this.player.src(newSrc).one('loadedmetadata', function () {
this.currentTime(current_time); this.currentTime(currentTime);
this.play(); this.play();
}); });
} }
@ -773,7 +776,7 @@ _V_.SubtitleMenuItem = _V_.MenuItem.extend({
*/ */
_V_.LanguageSelector = _V_.Button.extend({ _V_.LanguageSelector = _V_.Button.extend({
kind: "language", kind: "Audio",
className: "vjs-language-button", className: "vjs-language-button",
init: function (player, options) { init: function (player, options) {
@ -914,9 +917,9 @@ _V_.LanguageMenuItem = _V_.MenuItem.extend({
if (this.player.duration() == "Infinity") { if (this.player.duration() == "Infinity") {
if (currentSrc.indexOf("StartTimeTicks") >= 0) { if (currentSrc.indexOf("StartTimeTicks") >= 0) {
var startTimeTicks = currentSrc.match(new RegExp("StartTimeTicks=[0-9]+", "g")); var startTimeTicks = currentSrc.match(new RegExp("StartTimeTicks=[0-9]+", "g"));
var start_time = startTimeTicks[0].replace("StartTimeTicks=", ""); var startTime = startTimeTicks[0].replace("StartTimeTicks=", "");
newSrc += "&StartTimeTicks=" + Math.floor(parseInt(start_time) + (10000000 * current_time)); newSrc += "&StartTimeTicks=" + Math.floor(parseInt(startTime) + (10000000 * current_time));
} else { } else {
newSrc += "&StartTimeTicks=" + Math.floor(10000000 * current_time); newSrc += "&StartTimeTicks=" + Math.floor(10000000 * current_time);
} }