Skip to content

Commit a926bf4

Browse files
jozefkopcakJozef Kopčák
andauthored
Showing bitrate in video details (#714)
* showing bitrate in video details implemented * showing bitrate in video details implemented Co-authored-by: Jozef Kopčák <[email protected]>
1 parent 9620390 commit a926bf4

File tree

4 files changed

+18
-3
lines changed

4 files changed

+18
-3
lines changed

interfaces/final-object.interface.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ export interface ImageElement {
3030
duration: number; // number of seconds - duration of film
3131
fileName: string; // full file name with extension - for opening the file
3232
fileSize: number; // file size in bytes
33+
bitrate: number; // bitrate of the displayed video file - (fileSize/duration)*1024
3334
fps: number; // base frame rate of the video in fps
3435
hash: string; // used for detecting changed files and as a screenshot identifier
3536
height: AllowedScreenshotHeight; // height of the video (px)
@@ -72,6 +73,7 @@ export function NewImageElement(): ImageElement {
7273
durationDisplay: '',
7374
fileName: '',
7475
fileSize: 0,
76+
bitrate: 0,
7577
fileSizeDisplay: '',
7678
fps: 0,
7779
hash: '',

node/main-support.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ function getFileSizeDisplay(sizeInBytes: number): string {
117117
* Generate duration formatted as X:XX:XX
118118
* @param numOfSec
119119
*/
120+
120121
function getDurationDisplay(numOfSec: number): string {
121122

122123
if (numOfSec === undefined || numOfSec === 0) {
@@ -302,18 +303,24 @@ function getBestStream(metadata) {
302303
*/
303304
function getFileDuration(metadata): number {
304305
if (metadata?.streams?.[0]?.duration) {
305-
306+
306307
return metadata.streams[0].duration;
307308

308309
} else if (metadata?.format?.duration) {
309310

310311
return metadata.format.duration;
311-
312312
} else {
313313
return 0;
314314
}
315315
}
316316

317+
//Calculation of video bitrate in mb/s
318+
319+
function getBitrate(fileSize,duration){
320+
var bitrate = ((fileSize/1000)/duration)/1000;
321+
return Math.round(bitrate*100)/100;
322+
}
323+
317324
/**
318325
* Return the average frame rate of files
319326
* ===========================================================================================
@@ -537,6 +544,7 @@ export function insertTemporaryFieldsSingle(element: ImageElement): ImageElement
537544
const resolution: ResolutionMeta = labelVideo(element.width, element.height);
538545
element.durationDisplay = getDurationDisplay(element.duration);
539546
element.fileSizeDisplay = getFileSizeDisplay(element.fileSize);
547+
element.bitrate = getBitrate(element.fileSize, element.duration);
540548
element.resBucket = resolution.bucket;
541549
element.resolution = resolution.label;
542550
return element;

package-lock.json

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/app/components/meta/meta.component.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,9 @@
3333
| {{ video.width }} x {{ video.height }}
3434

3535
| {{ video.fileSizeDisplay }}
36-
36+
37+
| {{ video.bitrate + ' mb/s' }}
38+
3739
{{ video.fps ? '| ' + video.fps + ' fps' : '' }}
3840

3941
| <input

0 commit comments

Comments
 (0)