2.5.3 • Published 12 months ago

xgplayer-helper-codec v2.5.3

Weekly downloads
332
License
ISC
Repository
-
Last release
12 months ago

xgplayer-helper-codec

Utils for h264、h265、aac、utf-8 data parsing and converting

h264 Utils

Usage of NalunitUtil

import { avc } from 'xgplayer-helper-codec';
const NalunitUtil = avc.Nalunit;

interface NalUnit { 
  header: ArrayBuffer;
  body: Uint8Array;
}

interface AnalyzedNalUnit extends NalUnit {
  idr?: boolean;
  ndr?: boolean;
  sei: {
    code: number;
  } | {
    code: 5;
    content: string;
  };
  sps: object;
  pps: Uint8Array;
}

// parse nalunits from h264 stream
const nalunits = NalunitUtil.getNalunits(xgDataView);

// param "unit" is a NalUnit 
const analyzedNalUnit = NalunitUtil.analyseNal(unit);

Usage of SPSParser

import { avc } from 'xgplayer-helper-codec';
const { SPSParser } = avc;

interface H264_SPS {
  profile_string: string;
  level_string: string;
  bit_depth: string;
  chroma_format: number;
  chroma_format_string: string;

  frame_rate: {
    fixed: boolean;
    fps: number;
    fps_den: number;
    fps_num: number;
  };

  par_ratio: {
    width: number;
    height: number;
  };

  codec_size: {
    width: number;
    height: number;
  };

  present_size: {
    width: number;
    height: number;
  };
}

// the variable sps is H264_SPS  
const sps = SPSParser.parseSPS(spsBuffer);

h265 utils

Usage of NalunitUtil

import { hevc } from 'xgplayer-helper-codec';
const NalunitUtil = hevc.Nalunit;

interface NalUnit { 
  header: ArrayBuffer;
  body: Uint8Array;
}

interface AnalyzedNalUnit extends NalUnit {
  slice_trail_n?: boolean;
  slice_trail_r?: boolean;
  slice_tsa_n?: boolean;
  slice_tsa_r?: boolean;
  slice_stsa_n?: boolean;
  slice_stsa_r?: boolean;
  slice_radl_n?: boolean;
  slice_radl_r?: boolean;
  slice_rasl_n?: boolean;
  slice_rasl_r?: boolean;
  slice_bla_w_lp?: boolean;
  slice_bla_w_radl?: boolean;
  slice_bla_n_lp?: boolean;
  slice_idl_w_radl?: boolean;
  slice_idr_n_lp?: boolean;
  slice_cra_nut?: boolean;
  sei?: {
    code: number;
  } | {
    code: 5;
    content: string;
  };
  sps?: SPS;
  pps?: boolean;
  aud?: boolean;
  eob?: boolean;
  fd?: boolean;
  key?: boolean; // is a key frame
}

// parse nalunits from h265 stream
const nalunits = NalunitUtil.getNalunits(xgDataView);

// param "unit" is a NalUnit 
const analyzedNalUnit = NalunitUtil.analyseNal(unit);

Usage Of SPSParser

import { hevc } from 'xgplayer-helper-codec';
const { SPSParser } = hevc;

interface H265_SPS {
  width: number;
  height: number;
  general_profile_space: string;
  general_profile_idc: string;
  general_tier_flag: string;
  general_level_idc: string;
  chromaFormatIdc: string;
  bitDepthLumaMinus8: number;
  bitDepthChromaMinus8: number;
}

// the variable sps is H265_SPS  
const sps = SPSParser.parseSPS(spsBuffer);
3.0.0-alphatt.142

12 months ago

3.0.0-alpha.141

2 years ago

3.0.0-alpha.140

2 years ago

3.0.0-alpha.139

2 years ago

2.4.16-beta.11

2 years ago

2.4.16-beta.8

2 years ago

2.4.16-beta.9

2 years ago

3.0.0-alpha.138

2 years ago

2.4.16-beta.7

2 years ago

3.0.0-alpha.137

2 years ago

2.5.3-alpha.0

3 years ago

3.0.0-alpha.134

3 years ago

3.0.0-alpha.135

3 years ago

3.0.0-alpha.136

3 years ago

3.0.0-alpha.133

3 years ago

2.5.3

3 years ago

3.0.0-alpha.130

3 years ago

3.0.0-alpha.131

3 years ago

3.0.0-alpha.132

3 years ago

3.0.0-alpha.129

3 years ago

3.0.0-alpha.122

3 years ago

2.4.22-beta.4

3 years ago

3.0.0-alpha.128

3 years ago

2.4.16-beta.4

3 years ago

2.4.16-beta.5

3 years ago

2.5.2

3 years ago

2.4.16-beta.3

3 years ago

3.0.0-alpha.127

3 years ago

2.4.36

4 years ago

2.5.0

4 years ago

2.5.1

4 years ago

2.4.16-beta.2

4 years ago

2.4.32-3

4 years ago

2.4.22-beta.2

4 years ago

2.4.35

4 years ago

2.4.32-2

4 years ago

2.4.32-1

4 years ago

3.0.0-rc.3-2

4 years ago

2.4.34-beta.1

4 years ago

2.4.16-beta.1

4 years ago

3.0.0-rc.4

4 years ago

2.4.34

4 years ago

3.0.0-rc.3-1

4 years ago

3.0.0-rc.3

4 years ago

3.0.0-rc.2

4 years ago

2.4.33-beta.4

4 years ago

3.0.0-livecore.2

4 years ago

3.0.0-livecore.1

4 years ago

2.4.33-beta.1

4 years ago

2.4.33

4 years ago

3.0.0-livecore.0

4 years ago

2.4.32

4 years ago

2.4.31

4 years ago

2.4.30-beta.2

4 years ago

2.4.30

4 years ago

2.4.29-beta.4

4 years ago

2.4.29-beta.3

4 years ago

2.4.29

4 years ago

2.4.28

4 years ago

2.4.22-beta.0

4 years ago

2.4.22-beta.1

4 years ago

2.4.27

4 years ago

2.4.26

4 years ago

2.4.18

4 years ago

2.4.25

4 years ago

2.4.24

4 years ago

2.4.21

4 years ago

2.4.20

4 years ago

2.4.23

4 years ago

2.4.22

4 years ago

2.4.17

4 years ago

2.4.14

4 years ago

2.4.16

4 years ago

2.4.15

4 years ago

2.4.13

4 years ago

2.4.12

4 years ago

2.4.10

4 years ago

2.4.11

4 years ago

2.4.9

4 years ago

2.4.8

4 years ago

2.4.7

4 years ago

2.4.6

4 years ago

2.4.5

4 years ago

2.4.4

4 years ago

2.4.3

4 years ago

2.4.2

4 years ago

2.4.1

4 years ago

2.4.0

4 years ago

2.3.68

4 years ago

2.3.67

4 years ago

2.3.66

4 years ago

2.3.65

4 years ago

2.3.64

4 years ago

2.3.63

4 years ago

2.3.62

5 years ago

2.3.62-beta.1

5 years ago

2.3.62-beta.0

5 years ago

2.3.61

5 years ago

2.3.60

5 years ago

2.3.59

5 years ago

2.3.58

5 years ago

2.3.57

5 years ago

2.3.56

5 years ago

2.3.55

5 years ago

2.3.54

5 years ago

2.3.53

5 years ago

2.3.52

5 years ago

2.3.51

5 years ago

2.3.50

5 years ago

2.3.49

5 years ago

2.3.48

5 years ago

2.3.47

5 years ago

2.3.46

5 years ago

2.3.45

5 years ago

2.3.44

5 years ago

2.3.43

5 years ago

2.3.42

5 years ago

2.3.41

5 years ago

2.3.40

5 years ago

2.3.39

5 years ago

2.3.38

5 years ago

2.3.37

5 years ago

2.3.36

5 years ago

2.3.35

5 years ago

2.3.34

5 years ago

2.3.33

5 years ago

2.3.32

5 years ago

2.3.32-beta.4

5 years ago

2.3.32-beta.3

5 years ago

2.3.32-beta.2

5 years ago

2.3.32-beta.1

5 years ago

2.3.32-beta.0

5 years ago

2.3.31

5 years ago

2.3.30

5 years ago

2.3.30-beta.0

5 years ago

2.3.29

5 years ago

2.3.28

5 years ago

2.3.27

5 years ago

2.3.26

5 years ago

2.3.25

5 years ago

2.3.24

5 years ago

2.3.23

5 years ago

2.3.22

5 years ago

2.3.21

5 years ago

2.3.20

5 years ago

2.3.19

5 years ago

2.3.18

5 years ago

2.3.17

5 years ago

2.3.16

5 years ago

2.3.16-beta.2

5 years ago

2.3.16-beta.1

5 years ago

2.3.16-beta.0

5 years ago