Etisnoop

From Opendigitalradio
Revision as of 11:42, 16 April 2020 by Andimik (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

ETISnoop

ETISnoop is a small tool developed by CSP.it and Opendigitalradio that can decode some FIC information from a ETI file, extract the AAC data from a subchannel and decode it to a wav file.

It is on Github: https://github.com/Opendigitalradio/etisnoop

Compilation

It requires libfaad2 and a C++ compiler with complete C++11 support.

To compile etisnoop:

git clone https://github.com/Opendigitalradio/etisnoop.git
cd etisnoop
./bootstrap.sh # Only needed if you do not have a release containing a ./configure script
./configure
make
sudo make install

Usage

The tool can show ETI information, decode the FIG carousel and extract a DAB+ stream

Usage: etisnoop [options] [(-i|-I) filename]
  -i      the file contains RAW ETI
  -I      the file contains FIC
  -v      increase verbosity (can be given more than once)
  -d N    decode subchannel N into .msc file and if DAB+, decode to .wav file
  -s <filename.yaml>
          statistics mode: decode all subchannels and measure audio level, write statistics to file
  -n N    stop analysing after N ETI frames
  -f      analyse FIC carousel (no YAML output)
  -r      analyse FIG rates in FIGs per second
  -R      analyse FIG rates in frames per FIG
  -w      decode CRC-DABMUX and ODR-DabMux watermark.
  -e      decode frames with SYNC error and decode FIGs with invalid CRC
  -F <type>/<ext>
          add FIG type/ext to list of FIGs to display.
          if the option is not given, all FIGs are displayed.



Example:

% ./etisnoop -i ../eti/funk.raw.eti -v | head -n50
SYNC: ff 07 3a b6 
       ERR: ff  [No error] 
       Sync FSYNC: 07 3a b6  [OK] 
LDATA
       FC - Frame Characterization field: 00 81 10 7a 
               FCT  - Frame Count: 00  [0] 
               FICF - Fast Information Channel Flag [1 - FIC Information are present] 
               NST  - Number of streams [1] 
               FP   - Frame Phase: 00  [0] 
               MID  - Mode Identity: 02  [Mode 2] 
               FL   - Frame Length [122 words] 
       STC - Stream Characterisation
               STC  - Stream Characterisation: 28 00 48 30  [Stream number 0] 
                       SCID - Sub-channel Identifier [10] 
                       SAD  - Sub-channel Start Address [0] 
                       TPL  - Sub-channel Type and Protection Level [0x12 - Unequal Error Protection. Table switch 0, UEP index 2] 
                       STL  - Sub-channel Stream Length [48 => 128 kbit/s] 
       EOH - End Of Header: 00 00 16 7c 
               MNSC - Multiplex Network Signalling Channel: 00 00 
               Header CRC: 16 7c  [CRC OK] 
       FIC Data (96 bytes)
                       FIG 0 [5 bytes]: 00 c0 00 00 00 
                               FIG 0/0: C/N=0 OE=0 P/D=0: c0 00 00 00 
                                       Ensamble ID=0xc000 (Country id=12, Ensamble reference=0), Change flag=0, Alarm flag=0, CIF Count=0/0
                       FIB CRC: ea f1  [FIB CRC OK] 
                       FIG 0 [5 bytes]: 08 00 33 00 0a 
                               FIG 0/8: C/N=0 OE=0 P/D=0: 00 33 00 0a 
                       FIB CRC: a2 9f  [FIB CRC OK] 
                       FIG 1 [21 bytes]: 01 00 33 46 75 6e 6b 00 00 00 00 00 00 00 00 00 00 00 00 ff 00 
                               FIG 1/1: OE=0, Charset=0: 00 33 46 75 6e 6b 00 00 00 00 00 00 00 00 00 00 00 00 ff 00 
                                       Service ID 0x0033 label: "Funk", Short label mask: 0xFF00
                       FIB CRC: 6f b3  [FIB CRC OK] 
       Stream Data: ff fc 84 00 bc f1 21 22 22 44 44 33 33 22 22 22 22 24 92 40 00 00 00 00 00 00 00 00 aa aa aa aa aa aa aa ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 6d b5 b6 db 6d b6 d6 c5 b1 6c 5b 1b 6d b6 db 6d f3 e7 cf 9f 3e 7c f9 ad 6b 5a d6 db 5b 6d b6 db 6d 6c 5b 16 c5 b1 b6 db 6d b6 df 3e 7c f9 f3 e7 cf 9a d6 b5 ad 6d b5 b6 db 6d b6 d6 c5 b1 6c 5b 1b 6d b6 db 6d f3 e7 cf 9f 3e 7c f9 ad 6b 5a d6 db 5b 6d b6 db 6d 6c 5b 16 c5 b1 b6 db 6d b6 df 3e 7c f9 f3 e7 cf 9a d6 b5 ad 6d b5 b6 db 6d b6 d6 c5 b1 6c 5b 1b 6d b6 db 6d f3 e7 cf 9f 3e 7c f9 ad 6b 5a d6 db 5b 6d b6 db 6d 6c 5b 16 c5 b1 b6 db 6d b6 df 3e 7c f9 f3 e7 cf 9a d6 b5 ad 6d b5 b6 db 6d b6 d6 c5 b1 6c 5b 1b 6d b6 db 6d f3 e7 cf 9f 3e 7c f9 ad 6b 5a d6 db 5b 6d b6 db 6d 6c 5b 16 c5 b1 b6 db 6d b6 df 3e 7c f9 f3 e7 cf 9a d6 b5 ad 6d b5 b6 db 6d b6 d6 c5 b1 6c 5b 1b 6d b6 db 6d f3 e7 cf 9f 3e 7c f9 ad 6b 5a d6 db 5b 6d b6 db 6d 6c 5b 16 c5 b1 b6 db 6d b6 df 3e 7c f9 f3 e7 cf 9a d6 b5 ad 6d b5 b6 db 6d b6 d6 c5 b1 6c 5b 1b 6d b6 db 6d f3 e7 cf 9f 3e 7c f9 ad 6b 5a d6 db 5b 6d b6 db 6d 6c 5b 16 c5 b1 b6 db 6d b6 df 3e 7c f9 f3 e7 cf 9a d6 b5 ad 00 00 00 00 00 51 8b 8b 00 00  [0] 
       EOF: bf 2d ff ff 
               CRC: bf 2d  [CRC OK] 
               RFU: ff ff 
       TIST - Time Stamp: ff 40 a0 00  [256 ms] 

Acknowledgements

Many thanks to the team from CSP.it : http://rd.csp.it

Personal tools