@christianriedl/media 1.0.86 → 1.0.88

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.
@@ -58,7 +58,9 @@ export declare class MediaService {
58
58
  getExifInfo(folderId: string, mediaId: string): Promise<Dictionary<any>>;
59
59
  getSatIpProbe(channelName: string, urlOrFileName: string): Promise<IMediaInfo>;
60
60
  stopSatIpStream(channelName: string, media: string): Promise<boolean>;
61
+ getVideoQualities(): IValueText[];
61
62
  getAudioStreams(mediaInfo: IMediaInfo): IValueText[];
63
+ splitAudioStreams(streams: string): IValueText[];
62
64
  getTranscodeParams(width: number, height: number, screenWidth: number, quality: number): ITranscodeParams;
63
65
  ping(): Promise<boolean>;
64
66
  getImage(url: string): Promise<Blob>;
@@ -141,7 +141,6 @@ export class MediaService {
141
141
  video.title = video.Name;
142
142
  video.info = this.durationString(video.Duration);
143
143
  video.ThumbnailUrl = "";
144
- video.Url = this.getVideoUrl(video.Url);
145
144
  video.subTitle = video.Description;
146
145
  }
147
146
  return videos;
@@ -349,7 +348,6 @@ export class MediaService {
349
348
  video.title = video.Name;
350
349
  video.info = this.durationString(video.Duration);
351
350
  video.ThumbnailUrl = this.getAlbumArtUrl(video.ThumbnailUrl);
352
- video.Url = this.getVideoUrl(video.Url);
353
351
  video.subTitle = "";
354
352
  if (video.Year)
355
353
  video.subTitle = video.Year.toString();
@@ -461,12 +459,26 @@ export class MediaService {
461
459
  const res = this.rest.postData(url);
462
460
  return this.rest.toData(res);
463
461
  }
462
+ getVideoQualities() {
463
+ return [{ text: 'good', title: 'good', value: 0 },
464
+ { text: 'medium', title: 'medium', value: 1 },
465
+ { text: 'low', title: 'low', value: 2 },
466
+ { text: 'bad', title: 'bad', value: 3 }];
467
+ }
464
468
  getAudioStreams(mediaInfo) {
465
- var res = [];
469
+ const res = [];
466
470
  for (let i = 0; i < mediaInfo.audioStreams.length; i++) {
467
471
  const as = mediaInfo.audioStreams[i];
468
472
  const text = `${as.codec}-${as.language}-${as.numChannels}`;
469
- res.push({ value: 0, text: text, title: text });
473
+ res.push({ value: i, text: text, title: text });
474
+ }
475
+ return res;
476
+ }
477
+ splitAudioStreams(streams) {
478
+ const res = [];
479
+ const arr = streams.split(':');
480
+ for (let i = 0; i < arr.length; i++) {
481
+ res.push({ value: i, text: arr[i], title: arr[i] });
470
482
  }
471
483
  return res;
472
484
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mediaService.js","sourceRoot":"","sources":["../src/mediaService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mediaService.js","sourceRoot":"","sources":["../src/mediaService.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.86",
3
+ "version": "1.0.88",
4
4
  "description": "RIC media interfaces",
5
5
 
6
6
  "main": "dist/index.js",
@@ -24,7 +24,7 @@
24
24
  const listhead = ref<ComponentPublicInstance | null>(null);
25
25
  const audioStreams: IValueText[] = reactive([]);
26
26
  const audioStream = ref(0);
27
- const qualities = [{ title: 'good', value: 0 }, { title: 'medium', value: 1 }, { title: 'low', value: 2 }, { title: 'bad', value: 3}];
27
+ const qualities = mediaService.getVideoQualities();
28
28
  const quality = ref(0);
29
29
  let params: ITranscodeParams;
30
30
  const paramsText = ref('');
@@ -126,21 +126,20 @@
126
126
  <v-btn @click="listBack">
127
127
  <v-icon icon="$back" />
128
128
  </v-btn>
129
- <v-btn v-if="playVisible" @click.stop="play">
130
- <v-icon icon="$play" />
131
- </v-btn>
132
- <v-select v-if="mediaAppConfig.useSatIp" v-model="quality"
129
+ <v-select v-if="mediaAppConfig.useSatIp && playVisible" v-model="quality"
133
130
  :items="qualities"
134
131
  persistent-hint
135
132
  @update:modelValue="onQualityChange"
136
133
  hide-details single-line>
137
134
  </v-select>
138
- <v-select v-if="mediaAppConfig.useSatIp" v-model="audioStream"
135
+ <v-select v-if="mediaAppConfig.useSatIp && playVisible" v-model="audioStream"
139
136
  :items="audioStreams"
140
137
  persistent-hint
141
- @update:modelValue="onQualityChange"
142
138
  hide-details single-line>
143
139
  </v-select>
140
+ <v-btn v-if="playVisible" @click.stop="play">
141
+ <v-icon icon="$play" />
142
+ </v-btn>
144
143
  </v-card-actions>
145
144
  </v-card>
146
145
  <v-card :max-height="listHeight" class="overflow-y-auto bg-media">
@@ -2,11 +2,12 @@
2
2
  import { inject, ref, reactive, computed, onMounted, onUnmounted, nextTick, watch, StyleValue } from 'vue';
3
3
  import type { ComponentPublicInstance } from 'vue';
4
4
  import { useRouter } from 'vue-router';
5
- import { IAppState, EScope, appStateSymbol } from '@christianriedl/utils';
5
+ import { IAppState, EScope, appStateSymbol, appConfigSymbol, IValueText } from '@christianriedl/utils';
6
6
  import { DvbService, getDvbServiceSymbol } from '@christianriedl/epg';
7
- import { EItemType, IMediaFolder, IMediaItem, MediaService, getMediaSymbol } from '@christianriedl/media';
7
+ import { EItemType, IMediaFolder, IMediaItem, MediaService, getMediaSymbol, IMediaAppConfig, ITranscodeParams, IVideoFile } from '@christianriedl/media';
8
8
 
9
9
  const appState = inject(appStateSymbol)!;
10
+ const mediaAppConfig = inject(appConfigSymbol)! as unknown as IMediaAppConfig;
10
11
  const getMediaService = inject(getMediaSymbol)!;
11
12
  const mediaService = getMediaService();
12
13
  const getDvbService = inject(getDvbServiceSymbol)!;
@@ -19,6 +20,12 @@
19
20
  const selected = ref<IMediaItem>({ Name: 'Root', ItemType: EItemType.Root } as IMediaFolder);
20
21
  const listHeight = ref(0);
21
22
  const listhead = ref<ComponentPublicInstance|null>(null);
23
+ const audioStreams: IValueText[] = reactive([]);
24
+ const audioStream = ref(0);
25
+ const qualities = mediaService.getVideoQualities();
26
+ const quality = ref(0);
27
+ let params: ITranscodeParams;
28
+ const paramsText = ref('');
22
29
 
23
30
  const backVisible = computed(() => selected.value.ItemType != EItemType.VideoRoot);
24
31
  const playVisible = computed(() => selected.value.ItemType == EItemType.VideoItem || selected.value.ItemType == EItemType.VideoBroadcast);
@@ -44,15 +51,43 @@
44
51
  })
45
52
  }
46
53
  function play() {
47
- router.push({ path: 'video', query: { url: selected.value.Url } });
54
+ let url = mediaService.getVideoUrl(selected.value.Url);
55
+ if (mediaAppConfig.useSatIp) {
56
+ let parSet = false;
57
+ if (audioStream.value) {
58
+ url += `?audioStream=${audioStream.value}`;
59
+ parSet = true;
60
+ }
61
+ if (params && params.set) {
62
+ url += parSet ? '&' : '?';
63
+ url += `width=${params.width}&height=${params.height}&videoBitRate=${params.videoBitRate}&audioBitRate=${params.audioBitRate}`;
64
+ parSet = true;
65
+ }
66
+ router.push({ path: 'video', query: { url: url, media: parSet ? selected.value.Url : "" } });
67
+ }
68
+ else {
69
+ router.push({ path: 'video', query: { url: url} });
70
+ }
48
71
  }
49
72
  function listItem(item: IMediaItem) {
50
73
  if (item.ItemType == EItemType.VideoItem || item.ItemType == EItemType.VideoBroadcast) {
51
74
  selected.value = item;
52
75
  computeListHeight();
76
+ if (mediaAppConfig.useSatIp) {
77
+ const video = item as IVideoFile;
78
+ const as = mediaService.splitAudioStreams(video.AudioStreams);
79
+ audioStreams.splice(0, audioStreams.length, ...as);
80
+ params = mediaService.getTranscodeParams(video.Width, video.Height, window.innerWidth, quality.value);
81
+ paramsText.value = params.text;
82
+ }
53
83
  return;
54
84
  }
55
85
  }
86
+ function onQualityChange() {
87
+ const video = selected.value as IVideoFile;
88
+ params = mediaService.getTranscodeParams(video.Width, video.Height, window.innerWidth, quality.value);
89
+ paramsText.value = params.text;
90
+ }
56
91
  function listBack() {
57
92
  router.back();
58
93
  }
@@ -72,12 +107,24 @@
72
107
  <v-list-item-title>{{selected.title}}</v-list-item-title>
73
108
  <v-list-item-subtitle>{{selected.subTitle}}</v-list-item-subtitle>
74
109
  <v-list-item-subtitle>{{selected.info}}</v-list-item-subtitle>
110
+ <v-list-item-subtitle>{{paramsText}}</v-list-item-subtitle>
75
111
  </v-list-item-content>
76
112
  </v-list-item>
77
113
  <v-card-actions>
78
114
  <v-btn v-if="backVisible" @click="listBack">
79
115
  <v-icon icon="$back" />
80
116
  </v-btn>
117
+ <v-select v-if="mediaAppConfig.useSatIp && playVisible" v-model="quality"
118
+ :items="qualities"
119
+ persistent-hint
120
+ @update:modelValue="onQualityChange"
121
+ hide-details single-line>
122
+ </v-select>
123
+ <v-select v-if="mediaAppConfig.useSatIp && playVisible" v-model="audioStream"
124
+ :items="audioStreams"
125
+ persistent-hint
126
+ hide-details single-line>
127
+ </v-select>
81
128
  <v-btn v-if="playVisible" @click.stop="play">
82
129
  <v-icon icon="$play" />
83
130
  </v-btn>
@@ -12,20 +12,24 @@
12
12
  const height = ref(0);
13
13
  const width = ref(0);
14
14
  let landscape = true;
15
+ let channelName = "";
16
+ let media = "";
15
17
 
16
18
  mediaService.log.info('Video created');
17
19
 
18
20
  onMounted(() => {
19
21
  window.document.addEventListener('keydown', onKey);
20
22
  url.value = route.query.url!.toString();
23
+ if (route.query.channelName)
24
+ channelName = route.query.channelName.toString();
25
+ if (route.query.media)
26
+ media = route.query.media.toString();
21
27
  onResize();
22
28
  });
23
29
  onUnmounted(() => {
24
30
  window.document.removeEventListener('keydown', onKey);
25
- if (route.query.channelName)
26
- mediaService.stopSatIpStream(route.query.channelName.toString(), "");
27
- else if (route.query.media)
28
- mediaService.stopSatIpStream("", route.query.media.toString());
31
+ if (!!channelName || !!media)
32
+ mediaService.stopSatIpStream(channelName, media);
29
33
  });
30
34
 
31
35
  function onResize() {
@@ -1,13 +1,16 @@
1
1
  <script setup lang="ts">
2
2
  import { inject, ref, reactive, computed, onMounted, onUnmounted, nextTick, watch, StyleValue } from 'vue';
3
3
  import { useRouter } from 'vue-router';
4
- import { IAppState, EDevice, EScope, appStateSymbol } from '@christianriedl/utils';
4
+ import { IAppState, EDevice, EScope, appStateSymbol, appConfigSymbol, IValueText } from '@christianriedl/utils';
5
5
  import { Authorize, authorizeSymbol } from '@christianriedl/rest';
6
- import { EItemType, EMediaType, IMediaFolder, IMediaItem, IVideoFile, MediaService, PlayerService, getMediaSymbol, getPlayerSymbol } from '@christianriedl/media';
6
+ import { EItemType, EMediaType, IMediaFolder, IMediaItem, IVideoFile, MediaService, PlayerService,
7
+ getMediaSymbol, getPlayerSymbol, IMediaAppConfig, ITranscodeParams
8
+ } from '@christianriedl/media';
7
9
  import { ISensorsState, sensorsStateSymbol } from '@christianriedl/smarthome';
8
10
  import FileUpload from '../components/FileUpload.vue';
9
11
 
10
12
  const appState = inject(appStateSymbol)!;
13
+ const mediaAppConfig = inject(appConfigSymbol)! as unknown as IMediaAppConfig;
11
14
  const sensors = inject(sensorsStateSymbol)!;
12
15
  const authorize = inject(authorizeSymbol)!;
13
16
  const getMediaService = inject(getMediaSymbol)!;
@@ -31,6 +34,12 @@
31
34
  const dialog = ref(false);
32
35
  const showItem = ref<IVideoFile|null>(null);
33
36
  const uploadVisible = ref(false);
37
+ const audioStreams: IValueText[] = reactive([]);
38
+ const audioStream = ref(0);
39
+ const qualities = mediaService.getVideoQualities();
40
+ const quality = ref(0);
41
+ let params: ITranscodeParams;
42
+ const paramsText = ref('');
34
43
 
35
44
  const backVisible = computed (() => selected.value.ItemType != EItemType.VideoRoot);
36
45
  const recordedVisible = computed(() => selected.value.ItemType == EItemType.VideoRoot);
@@ -75,7 +84,23 @@
75
84
  })
76
85
  }
77
86
  function play() {
78
- router.push({ path: 'video', query: { url: selected.value.Url } });
87
+ let url = mediaService.getVideoUrl(selected.value.Url);
88
+ if (mediaAppConfig.useSatIp) {
89
+ let parSet = false;
90
+ if (audioStream.value) {
91
+ url += `?audioStream=${audioStream.value}`;
92
+ parSet = true;
93
+ }
94
+ if (params && params.set) {
95
+ url += parSet ? '&' : '?';
96
+ url += `width=${params.width}&height=${params.height}&videoBitRate=${params.videoBitRate}&audioBitRate=${params.audioBitRate}`;
97
+ parSet = true;
98
+ }
99
+ router.push({ path: 'video', query: { url: url, media: parSet ? selected.value.Url : "" } });
100
+ }
101
+ else {
102
+ router.push({ path: 'video', query: { url: url } });
103
+ }
79
104
  }
80
105
  async function playTV() {
81
106
  const request = {
@@ -98,6 +123,13 @@
98
123
  selected.value = item;
99
124
  getPlayer();
100
125
  computeListHeight();
126
+ if (mediaAppConfig.useSatIp) {
127
+ const video = item as IVideoFile;
128
+ const as = mediaService.splitAudioStreams(video.AudioStreams);
129
+ audioStreams.splice(0, audioStreams.length, ...as);
130
+ params = mediaService.getTranscodeParams(video.Width, video.Height, window.innerWidth, quality.value);
131
+ paramsText.value = params.text;
132
+ }
101
133
  return;
102
134
  }
103
135
  const folder = item as IMediaFolder;
@@ -111,6 +143,11 @@
111
143
  });
112
144
  }
113
145
  }
146
+ function onQualityChange() {
147
+ const video = selected.value as IVideoFile;
148
+ params = mediaService.getTranscodeParams(video.Width, video.Height, window.innerWidth, quality.value);
149
+ paramsText.value = params.text;
150
+ }
114
151
  function listBack() {
115
152
  const parent = mediaService.folders[selected.value.DLNAParentID];
116
153
  selected.value = parent;
@@ -182,12 +219,24 @@
182
219
  <v-list-item-title text-h6>{{selected.title}}</v-list-item-title>
183
220
  <v-list-item-subtitle>{{selected.subTitle}}</v-list-item-subtitle>
184
221
  <v-list-item-subtitle>{{selected.info}}</v-list-item-subtitle>
222
+ <v-list-item-subtitle>{{paramsText}}</v-list-item-subtitle>
185
223
  </v-list-item-content>
186
224
  </v-list-item>
187
225
  <v-card-actions>
188
226
  <v-btn v-if="backVisible" @click="listBack">
189
227
  <v-icon size="x-large" icon="$back" />
190
228
  </v-btn>
229
+ <v-select v-if="mediaAppConfig.useSatIp && playVisible" v-model="quality"
230
+ :items="qualities"
231
+ persistent-hint
232
+ @update:modelValue="onQualityChange"
233
+ hide-details single-line>
234
+ </v-select>
235
+ <v-select v-if="mediaAppConfig.useSatIp && playVisible" v-model="audioStream"
236
+ :items="audioStreams"
237
+ persistent-hint
238
+ hide-details single-line>
239
+ </v-select>
191
240
  <v-btn v-if="playVisible" @click.stop="play">
192
241
  <v-icon size="x-large" icon="$play" />
193
242
  </v-btn>