mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Add media file size to Playback Data (#439)
* Add media file size to Playback Data * change file units to base-2 and fix output will also remove any trailing zeros from decimal. * Fix file size unit * add i18n files and strings to dialog, fix conflict
This commit is contained in:
parent
2240edce26
commit
4f084bad1c
2 changed files with 49 additions and 18 deletions
|
@ -132,7 +132,7 @@ define(['events', 'globalize', 'playbackManager', 'connectionManager', 'playMeth
|
|||
if (videoCodec) {
|
||||
|
||||
sessionStats.push({
|
||||
label: 'Video codec:',
|
||||
label: globalize.translate("LabelVideoCodec"),
|
||||
value: session.TranscodingInfo.IsVideoDirect ? (videoCodec.toUpperCase() + ' (direct)') : videoCodec.toUpperCase()
|
||||
});
|
||||
}
|
||||
|
@ -140,7 +140,7 @@ define(['events', 'globalize', 'playbackManager', 'connectionManager', 'playMeth
|
|||
if (audioCodec) {
|
||||
|
||||
sessionStats.push({
|
||||
label: 'Audio codec:',
|
||||
label: globalize.translate("LabelAudioCodec"),
|
||||
value: session.TranscodingInfo.IsAudioDirect ? (audioCodec.toUpperCase() + ' (direct)') : audioCodec.toUpperCase()
|
||||
});
|
||||
}
|
||||
|
@ -157,28 +157,28 @@ define(['events', 'globalize', 'playbackManager', 'connectionManager', 'playMeth
|
|||
if (totalBitrate) {
|
||||
|
||||
sessionStats.push({
|
||||
label: 'Bitrate:',
|
||||
label: globalize.translate("LabelBitrate"),
|
||||
value: getDisplayBitrate(totalBitrate)
|
||||
});
|
||||
}
|
||||
if (session.TranscodingInfo.CompletionPercentage) {
|
||||
|
||||
sessionStats.push({
|
||||
label: 'Transcoding progress:',
|
||||
label: globalize.translate("LabelTranscodingProgress"),
|
||||
value: session.TranscodingInfo.CompletionPercentage.toFixed(1) + '%'
|
||||
});
|
||||
}
|
||||
if (session.TranscodingInfo.Framerate) {
|
||||
|
||||
sessionStats.push({
|
||||
label: 'Transcoding framerate:',
|
||||
label: globalize.translate("LabelTranscodingFramerate"),
|
||||
value: session.TranscodingInfo.Framerate + ' fps'
|
||||
});
|
||||
}
|
||||
if (session.TranscodingInfo.TranscodeReasons && session.TranscodingInfo.TranscodeReasons.length) {
|
||||
|
||||
sessionStats.push({
|
||||
label: 'Reason for transcoding:',
|
||||
label: globalize.translate("LabelReasonForTranscoding"),
|
||||
value: session.TranscodingInfo.TranscodeReasons.map(translateReason).join('<br/>')
|
||||
});
|
||||
}
|
||||
|
@ -196,24 +196,42 @@ define(['events', 'globalize', 'playbackManager', 'connectionManager', 'playMeth
|
|||
}
|
||||
}
|
||||
|
||||
function getReadableSize(size) {
|
||||
if (size >= 1073741824) {
|
||||
return parseFloat((size / 1073741824).toFixed(1)) + ' GiB';
|
||||
} else if (size >= 1048576) {
|
||||
return parseFloat((size / 1048576).toFixed(1)) + ' MiB';
|
||||
} else {
|
||||
return Math.floor(size / 1024) + ' KiB';
|
||||
}
|
||||
}
|
||||
|
||||
function getMediaSourceStats(session, player, displayPlayMethod) {
|
||||
|
||||
var sessionStats = [];
|
||||
|
||||
var mediaSource = playbackManager.currentMediaSource(player) || {};
|
||||
var totalBitrate = mediaSource.Bitrate;
|
||||
var mediaFileSize = mediaSource.Size;
|
||||
|
||||
if (mediaSource.Container) {
|
||||
sessionStats.push({
|
||||
label: 'Container:',
|
||||
label: globalize.translate("LabelProfileContainer"),
|
||||
value: mediaSource.Container
|
||||
});
|
||||
}
|
||||
|
||||
if (mediaFileSize) {
|
||||
sessionStats.push({
|
||||
label: globalize.translate("LabelSize"),
|
||||
value: getReadableSize(mediaFileSize)
|
||||
});
|
||||
}
|
||||
|
||||
if (totalBitrate) {
|
||||
|
||||
sessionStats.push({
|
||||
label: 'Bitrate:',
|
||||
label: globalize.translate("LabelBitrate"),
|
||||
value: getDisplayBitrate(totalBitrate)
|
||||
});
|
||||
}
|
||||
|
@ -249,14 +267,14 @@ define(['events', 'globalize', 'playbackManager', 'connectionManager', 'playMeth
|
|||
|
||||
if (videoInfos.length) {
|
||||
sessionStats.push({
|
||||
label: 'Video codec:',
|
||||
label: globalize.translate("LabelVideoCodec"),
|
||||
value: videoInfos.join(' ')
|
||||
});
|
||||
}
|
||||
|
||||
if (videoStream.BitRate) {
|
||||
sessionStats.push({
|
||||
label: 'Video bitrate:',
|
||||
label: globalize.translate("LabelVideoBitrate"),
|
||||
value: getDisplayBitrate(videoStream.BitRate)
|
||||
});
|
||||
}
|
||||
|
@ -273,35 +291,35 @@ define(['events', 'globalize', 'playbackManager', 'connectionManager', 'playMeth
|
|||
|
||||
if (audioInfos.length) {
|
||||
sessionStats.push({
|
||||
label: 'Audio codec:',
|
||||
label: globalize.translate("LabelAudioCodec"),
|
||||
value: audioInfos.join(' ')
|
||||
});
|
||||
}
|
||||
|
||||
if (audioStream.BitRate) {
|
||||
sessionStats.push({
|
||||
label: 'Audio bitrate:',
|
||||
label: globalize.translate("LabelAudioBitrate"),
|
||||
value: getDisplayBitrate(audioStream.BitRate)
|
||||
});
|
||||
}
|
||||
|
||||
if (audioChannels) {
|
||||
sessionStats.push({
|
||||
label: 'Audio channels:',
|
||||
label: globalize.translate("LabelAudioChannels"),
|
||||
value: audioChannels
|
||||
});
|
||||
}
|
||||
|
||||
if (audioStream.SampleRate) {
|
||||
sessionStats.push({
|
||||
label: 'Audio sample rate:',
|
||||
label: globalize.translate("LabelAudioSampleRate"),
|
||||
value: audioStream.SampleRate + ' Hz'
|
||||
});
|
||||
}
|
||||
|
||||
if (audioStream.BitDepth) {
|
||||
sessionStats.push({
|
||||
label: 'Audio bit depth:',
|
||||
label: globalize.translate("LabelAudioBitDepth"),
|
||||
value: audioStream.BitDepth
|
||||
});
|
||||
}
|
||||
|
@ -328,12 +346,12 @@ define(['events', 'globalize', 'playbackManager', 'connectionManager', 'playMeth
|
|||
};
|
||||
|
||||
baseCategory.stats.unshift({
|
||||
label: 'Play method:',
|
||||
label: globalize.translate("LabelPlayMethod"),
|
||||
value: displayPlayMethod
|
||||
});
|
||||
|
||||
baseCategory.stats.unshift({
|
||||
label: 'Player:',
|
||||
label: globalize.translate("LabelPlayer"),
|
||||
value: player.name
|
||||
});
|
||||
|
||||
|
@ -463,4 +481,4 @@ define(['events', 'globalize', 'playbackManager', 'connectionManager', 'playMeth
|
|||
};
|
||||
|
||||
return PlayerStats;
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue