@christianriedl/media 1.0.220 → 1.0.222

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/iMedia.d.ts CHANGED
@@ -202,7 +202,6 @@ export interface IAudioInfo {
202
202
  codec: string;
203
203
  language: string;
204
204
  numChannels: number;
205
- sampleRate: number;
206
205
  bitRate: number;
207
206
  }
208
207
  export interface IVideoInfo {
@@ -1,11 +1,12 @@
1
1
  import { IValueText } from '@christianriedl/utils';
2
- import { EMediaType, EItemType, IMediaInfo, IMediaFolder, IPictureFile, IVideoFile, IMediaListEntry, ITranscodeParams } from "./iMedia";
2
+ import { EMediaType, EItemType, IMediaInfo, IMediaFolder, IPictureFile, IVideoFile, IMediaListEntry, ITranscodeParams, IAudioInfo } 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(useFfMpeg: boolean, videoFile: IVideoFile, screenWidth: number, quality: number): ITranscodeParams;
8
+ static splitAudioStream(stream: string): IAudioInfo;
9
+ static getTranscodeParams(useFfMpeg: boolean, videoFile: IVideoFile, screenWidth: number, quality: number, audioStream?: string): ITranscodeParams;
9
10
  static durationString(duration: number): string;
10
11
  static getPhotoDisplayName(folder: IMediaFolder, pictureFile: IPictureFile, pictureLocations?: IMediaListEntry, album?: IMediaFolder): string;
11
12
  }
@@ -32,15 +32,29 @@ export class MediaHelper {
32
32
  }
33
33
  return res;
34
34
  }
35
- static getTranscodeParams(useFfMpeg, videoFile, screenWidth, quality) {
35
+ static splitAudioStream(stream) {
36
+ const res = {};
37
+ const arr = stream.split('-');
38
+ res.codec = arr[0];
39
+ res.language = arr[1];
40
+ res.numChannels = Number(arr[2]);
41
+ if (arr.length > 3)
42
+ res.bitRate = Number(arr[3]);
43
+ return res;
44
+ }
45
+ static getTranscodeParams(useFfMpeg, videoFile, screenWidth, quality, audioStream) {
36
46
  let width = videoFile.width;
37
47
  let height = videoFile.height;
48
+ let audioInfo;
49
+ if (audioStream)
50
+ audioInfo = MediaHelper.splitAudioStream(audioStream);
38
51
  let videoBitRate = videoFile.bitRate / 1000;
39
52
  const par = { text: '', url: '', videoBitRate: Math.floor(videoBitRate / 2), scaleFactor: 1 };
40
53
  if (videoBitRate > 4096) {
41
54
  par.videoBitRate = 4096;
42
- par.audioBitRate = 192;
43
55
  }
56
+ if (!audioInfo || audioInfo.bitRate > 200)
57
+ par.audioBitRate = 192;
44
58
  let qual = 1;
45
59
  while (qual < quality) {
46
60
  par.scaleFactor = par.scaleFactor * 2;
@@ -1 +1 @@
1
- {"version":3,"file":"mediaHelper.js","sourceRoot":"","sources":["../src/mediaHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mediaHelper.js","sourceRoot":"","sources":["../src/mediaHelper.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@christianriedl/media",
3
- "version": "1.0.220",
3
+ "version": "1.0.222",
4
4
  "description": "RIC media interfaces",
5
5
 
6
6
  "main": "dist/index.js",
@@ -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, window.innerWidth, quality.value);
114
+ params = MediaHelper.getTranscodeParams(mediaAppConfig.useSatIp, video, window.innerWidth, quality.value, audioStreams[audioStream.value]);
115
115
  paramsText.value = params.text;
116
116
  }
117
117
  else {
@@ -27,6 +27,7 @@
27
27
  const quality = ref(0);
28
28
  let params: ITranscodeParams|null = null;
29
29
  const paramsText = ref('');
30
+ const cloudUrl = ref('');
30
31
 
31
32
  const backVisible = computed(() => selected.value.itemType != EItemType.VideoRoot);
32
33
  const playVisible = computed(() => selected.value.itemType == EItemType.VideoItem || selected.value.itemType == EItemType.VideoBroadcast);
@@ -55,16 +56,22 @@
55
56
  })
56
57
  }
57
58
  function play() {
58
- let url = mediaService.getVideoUrl(selected.value.url);
59
59
  let parSet = false;
60
- if (audioStream.value) {
61
- url += `?audioStream=${audioStream.value}`;
62
- parSet = true;
60
+ let url: string;
61
+ if (cloudUrl.value) {
62
+ url = cloudUrl.value;
63
63
  }
64
- if (params) {
65
- url += parSet ? '&' : '?';
66
- url += params.url;
67
- parSet = true;
64
+ else {
65
+ url = mediaService.getVideoUrl(selected.value.url);
66
+ if (audioStream.value) {
67
+ url += `?audioStream=${audioStream.value}`;
68
+ parSet = true;
69
+ }
70
+ if (params) {
71
+ url += parSet ? '&' : '?';
72
+ url += params.url;
73
+ parSet = true;
74
+ }
68
75
  }
69
76
  router.push({ path: 'video', query: { url: url, media: parSet ? selected.value.url : "" } });
70
77
  }
@@ -83,7 +90,7 @@
83
90
  function onQualityChange() {
84
91
  const video = selected.value as IVideoFile;
85
92
  if (quality.value > 0) {
86
- params = MediaHelper.getTranscodeParams(true, video, window.innerWidth, quality.value);
93
+ params = MediaHelper.getTranscodeParams(true, video, window.innerWidth, quality.value, audioStreams[audioStream.value]);
87
94
  paramsText.value = params.text;
88
95
  }
89
96
  else {
@@ -107,6 +114,16 @@
107
114
  await window.navigator.clipboard.writeText(url);
108
115
  window.alert(`Created and Pasted : ${url} !`);
109
116
  }
117
+ async function tryCloud() {
118
+ cloudUrl.value = await mediaService.getCloudUrl ("Recorded", selected.value.name);
119
+ if (cloudUrl.value) {
120
+ if (!paramsText.value.includes ("CLOUD"))
121
+ paramsText.value += " CLOUD";
122
+ }
123
+ else {
124
+ alert ("Not found in cloud (OneDrive)");
125
+ }
126
+ }
110
127
  </script>
111
128
 
112
129
  <template>
@@ -134,6 +151,9 @@
134
151
  persistent-hint
135
152
  hide-details single-line>
136
153
  </v-select>
154
+ <v-btn v-if="playVisible" @click.stop="tryCloud">
155
+ <v-icon size="x-large" icon="$weather" />
156
+ </v-btn>
137
157
  <v-btn v-if="playVisible" @click.stop="play">
138
158
  <v-icon icon="$play" />
139
159
  </v-btn>
@@ -142,7 +142,7 @@
142
142
  function onQualityChange() {
143
143
  const video = selected.value as IVideoFile;
144
144
  if (quality.value > 0) {
145
- params = MediaHelper.getTranscodeParams(true, video, window.innerWidth, quality.value);
145
+ params = MediaHelper.getTranscodeParams(true, video, window.innerWidth, quality.value, audioStreams[audioStream.value]);
146
146
  paramsText.value = params.text;
147
147
  }
148
148
  else {