@christianriedl/media 1.0.210 → 1.0.211
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/mediaHelper.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { IValueText } from '@christianriedl/utils';
|
|
2
|
-
import { EMediaType, EItemType, IMediaInfo, IMediaFolder, IPictureFile, IMediaListEntry, ITranscodeParams } from "./iMedia";
|
|
2
|
+
import { EMediaType, EItemType, IMediaInfo, IMediaFolder, IPictureFile, IVideoFile, IMediaListEntry, ITranscodeParams } from "./iMedia";
|
|
3
3
|
export declare class MediaHelper {
|
|
4
4
|
static toItemType(mediaType: EMediaType): EItemType;
|
|
5
5
|
static getVideoQualities(): IValueText[];
|
|
6
6
|
static getAudioStreams(mediaInfo: IMediaInfo): IValueText[];
|
|
7
7
|
static splitAudioStreams(streams: string): IValueText[];
|
|
8
|
-
static getTranscodeParams(
|
|
8
|
+
static getTranscodeParams(useFfMpeg: boolean, videoFile: IVideoFile, screenWidth: number, quality: number): ITranscodeParams;
|
|
9
9
|
static durationString(duration: number): string;
|
|
10
10
|
static getPhotoDisplayName(folder: IMediaFolder, pictureFile: IPictureFile, pictureLocations?: IMediaListEntry, album?: IMediaFolder): string;
|
|
11
11
|
}
|
package/dist/mediaHelper.js
CHANGED
|
@@ -32,18 +32,31 @@ export class MediaHelper {
|
|
|
32
32
|
}
|
|
33
33
|
return res;
|
|
34
34
|
}
|
|
35
|
-
static getTranscodeParams(
|
|
36
|
-
|
|
35
|
+
static getTranscodeParams(useFfMpeg, videoFile, screenWidth, quality) {
|
|
36
|
+
let width = videoFile.width;
|
|
37
|
+
let height = videoFile.width;
|
|
38
|
+
let videoBitRate = videoFile.bitRate / 1000;
|
|
39
|
+
const par = { text: '', scaleFactor: 1 };
|
|
40
|
+
if (videoBitRate > 4096) {
|
|
41
|
+
par.videoBitRate = 4096;
|
|
42
|
+
par.audioBitRate = 192;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
par.videoBitRate = Math.floor(videoBitRate / 2);
|
|
46
|
+
}
|
|
37
47
|
let qual = 1;
|
|
38
|
-
while (screenWidth <
|
|
48
|
+
while (screenWidth < width || qual < quality) {
|
|
39
49
|
par.scaleFactor = par.scaleFactor * 2;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
50
|
+
if (screenWidth < width) {
|
|
51
|
+
par.width = width = width / 2;
|
|
52
|
+
par.height = height = height / 2;
|
|
53
|
+
}
|
|
54
|
+
par.videoBitRate = Math.floor(videoBitRate / 2);
|
|
55
|
+
if (par.audioBitRate)
|
|
56
|
+
par.audioBitRate = Math.floor(par.audioBitRate * 0.75);
|
|
44
57
|
qual++;
|
|
45
58
|
}
|
|
46
|
-
if (
|
|
59
|
+
if (useFfMpeg)
|
|
47
60
|
par.text = `${par.width}x${par.height} vb:${par.videoBitRate}k ab:${par.audioBitRate}`;
|
|
48
61
|
else
|
|
49
62
|
par.text = `${par.width}x${par.height} vb:${par.videoBitRate}k sf:${par.scaleFactor}`;
|
package/dist/mediaHelper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mediaHelper.js","sourceRoot":"","sources":["../src/mediaHelper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"mediaHelper.js","sourceRoot":"","sources":["../src/mediaHelper.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
function onQualityChange() {
|
|
112
112
|
const video = selected.value as IVideoFile;
|
|
113
113
|
if (quality.value > 0 || !mediaAppConfig.useSatIp) {
|
|
114
|
-
params = MediaHelper.getTranscodeParams(mediaAppConfig.useSatIp, video
|
|
114
|
+
params = MediaHelper.getTranscodeParams(mediaAppConfig.useSatIp, video, window.innerWidth, quality.value);
|
|
115
115
|
paramsText.value = params.text;
|
|
116
116
|
}
|
|
117
117
|
else {
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
function onQualityChange() {
|
|
84
84
|
const video = selected.value as IVideoFile;
|
|
85
85
|
if (quality.value > 0) {
|
|
86
|
-
params = MediaHelper.getTranscodeParams(true, video
|
|
86
|
+
params = MediaHelper.getTranscodeParams(true, video, window.innerWidth, quality.value);
|
|
87
87
|
paramsText.value = params.text;
|
|
88
88
|
}
|
|
89
89
|
else {
|
package/src/views/VideosPage.vue
CHANGED
|
@@ -131,7 +131,7 @@
|
|
|
131
131
|
function onQualityChange() {
|
|
132
132
|
const video = selected.value as IVideoFile;
|
|
133
133
|
if (quality.value > 0) {
|
|
134
|
-
params = MediaHelper.getTranscodeParams(true, video
|
|
134
|
+
params = MediaHelper.getTranscodeParams(true, video, window.innerWidth, quality.value);
|
|
135
135
|
paramsText.value = params.text;
|
|
136
136
|
}
|
|
137
137
|
else {
|