Git Product home page Git Product logo

etisnoop's Issues

missing stdint.h in ensembledatabase.hpp

I get an error when compiling under Ubuntu 23.10 with 9734cb9.

compile_error.txt

make[1]: *** [Makefile:695: src/ensembledatabase.o] Error 1
make[1]: Leaving directory '/home/andreas/apps/etisnoop'
make: *** [Makefile:421: all] Error 2

Seems in src/ensembledatabase.hpp

#include <stdint.h>

was missing. Only then I could compile.

Special chars not supported?

Remark: All outputs below are from -s file.txt

If you extract eti from the rawfiles from https://sdr.kt.agh.edu.pl/sdrdab-decoder/download.html (for example use eti-stuff from Jan, https://github.com/JvanKatwijk/eti-stuff ), you will see that special characters are not supported:

    - service_id: 0x3222
      subchannel_id: 0x2
      label: PR Dw�jka       
      shortlabel: Dw�jka

instead of Dwójka.

Or in Vienna,

    - service_id: 0xad0b
      subchannel_id: 0xd
      label: ARB×-Radio      
      shortlabel: ARB×

instead of ARBÖ.

BTW: the normal -v output does not mention ARBÖ-Radio at all

$ etisnoop -v < ~/wien_16072017.eti | grep Rad
					Label: "NOW Radio       "
					Label: "MEGA Radio      "
					Label: "Radio U1 Tirol  "

In Nitra, Slovakia, the mux is in unicode (said user basicmaster)

grafik
FICDecoder: SId 0x5005: programme service label 'Rádio Litera' (output from dablin)

but etisnoop writes wrong data (please note short label Ro Liter instead of R Litera)

    - service_id: 0x5005
      subchannel_id: 0x1
      label: Rádio Litera   
      shortlabel: Ro Liter

Wrong EEP value in FIG

Seems you have always to add 1 in order to get the correct EEP protection level for FIG (only there!).

There is no EEP 0-A and no EEP-0-B. In my example below I wrote this file:

test_protlev.txt

Subch 0x1
start_addr 0
long
**EEP 0-A**
subch size 144
Subch 0x5
start_addr 360
long
**EEP 0-B**
subch size 81

And the CUs are wrong, for 96 kBit
1A is 144 CU, 2A is 96, 3A is 72, 4A is 48, and so on.

TPL  - Sub-channel Type and Protection Level [0x20 - Equal Error Protection. 1-A, 1/4, 16 CUs] 
TPL  - Sub-channel Type and Protection Level [0x21 - Equal Error Protection. 2-A, 3/8, 8 CUs] 
TPL  - Sub-channel Type and Protection Level [0x22 - Equal Error Protection. 3-A, 1/2, 6 CUs] 
TPL  - Sub-channel Type and Protection Level [0x23 - Equal Error Protection. 4-A, 3/4, 4 CUs] 
TPL  - Sub-channel Type and Protection Level [0x24 - Equal Error Protection. 1-B, 4/9, 27 CUs] 
TPL  - Sub-channel Type and Protection Level [0x25 - Equal Error Protection. 2-B, 4/7, 21 CUs] 
TPL  - Sub-channel Type and Protection Level [0x26 - Equal Error Protection. 3-B, 4/6, 18 CUs] 
TPL  - Sub-channel Type and Protection Level [0x27 - Equal Error Protection. 4-B, 4/5, 15 CUs] 

Number for N=Subchannel is wrong

The option -d N should decode subchannel N.

In fact N seems to be not the real subchannel, but it's numbered in nearly ascending order defined by etisnoop itself.

For example 5C (Bundesmux):
see older file from last year (makes no difference)
bumux1.zip

$ ni2out --list < bumux1.eti 
DR Deutschland   (0x10bc)
 0 : KLASSIK RADIO    (0xd75b) Pri subch= 6 start=198 CUs= 54 PL=eep-3a bitrate=72 DAB+
 1 : sunshine live    (0x15dc) Pri subch=21 start=336 CUs= 54 PL=eep-3a bitrate=72 DAB+
 2 : Radio Horeb      (0xd01c) Pri subch= 5 start=162 CUs= 36 PL=eep-3a bitrate=48 DAB+
 3 : ERF Plus         (0x1a64) Pri subch= 2 start=  0 CUs= 54 PL=eep-3a bitrate=72 DAB+
 4 : Dlf              (0xd210) Pri subch=10 start=480 CUs=104 PL=eep-2a bitrate=104 DAB+
 5 : Dlf Kultur       (0xd220) Pri subch=11 start=584 CUs=112 PL=eep-2a bitrate=112 DAB+
 6 : Dlf Nova         (0xd230) Pri subch=12 start=696 CUs=104 PL=eep-2a bitrate=104 DAB+
 7 : DRadio DokDeb    (0xd240) Pri subch=13 start=800 CUs= 36 PL=eep-3a bitrate=48 DAB+
 8 : Schwarzwaldradio (0x100d) Pri subch= 7 start=252 CUs= 42 PL=eep-2b bitrate=64 DAB+
 9 : ENERGY           (0x1a45) Pri subch= 4 start=108 CUs= 54 PL=eep-3a bitrate=72 DAB+
10 : SCHLAGERPARADIES (0x10c3) Pri subch=20 start=294 CUs= 42 PL=eep-2b bitrate=64 DAB+
11 : Absolut relax    (0x17fa) Pri subch= 3 start= 54 CUs= 54 PL=eep-3a bitrate=72 DAB+
12 : RADIO BOB!       (0x15dd) Pri subch=22 start=390 CUs= 54 PL=eep-3a bitrate=72 DAB+

etisnoop -i bumux1.eti -d 0
will extract ERF Plus

etisnoop -i bumux1.eti -d 1
will extract Absolut relax, although SCId 1 is not defined

etisnoop -i bumux1.eti -d 2
will extract ENERGY, not ERF Plus

etisnoop -i bumux1.eti -d 3
will extract Radio Horeb, not Absolute relax

and so on (0-8 and 10-15 for audio, 9 is the EPG and 10 and 16 are the TPEG services).

But when I sort all subchannels I wonder why N=9 should be EPG

subchid:02 prot:3A-EEP bitrate: 64 scids:0 scty: 63 (AAC) label:ERF Plus  [PAD]
subchid:03 prot:3A-EEP bitrate: 72 scids:0 scty: 63 (AAC) label:Absolut relax  [PAD]
subchid:04 prot:3A-EEP bitrate: 72 scids:0 scty: 63 (AAC) label:ENERGY  [PAD]
subchid:05 prot:3A-EEP bitrate: 48 scids:0 scty: 63 (AAC) label:radio horeb  [PAD]
subchid:06 prot:3A-EEP bitrate: 72 scids:0 scty: 63 (AAC) label:KLASSIK RADIO  [PAD]
subchid:07 prot:2B-EEP bitrate: 64 scids:0 scty: 63 (AAC) label:Schwarzwaldradio [PAD]
subchid:10 prot:2A-EEP bitrate:104 scids:0 scty: 63 (AAC) label:Dlf  [PAD]
subchid:11 prot:2A-EEP bitrate:112 scids:0 scty: 63 (AAC) label:Dlf Kultur  [PAD]
subchid:12 prot:2A-EEP bitrate:104 scids:0 scty: 63 (AAC) label:Dlf Nova  [PAD]
subchid:13 prot:3A-EEP bitrate: 48 scids:0 scty: 63 (AAC) label:DRadio DokDeb  [PAD]
subchid:14 prot:3A-EEP bitrate: 32 scid: 001 packet data DRadio Daten
subchid:20 prot:2B-EEP bitrate: 64 scids:0 scty: 63 (AAC) label:SCHLAGERPARADIES [PAD]
subchid:21 prot:3A-EEP bitrate: 72 scids:0 scty: 63 (AAC) label:sunshine live  [PAD]
subchid:22 prot:3A-EEP bitrate: 72 scids:0 scty: 63 (AAC) label:RADIO BOB!  [PAD]
subchid:30 prot:3A-EEP bitrate: 16 scid: 024 packet data EPG Deutschland
subchid:31 prot:3A-EEP bitrate: 16 scid: 023 packet data TPEG
subchid:33 prot:3A-EEP bitrate: 16 scid: 021 packet data TPEG_MM

Missing Labels in yaml-file for data stream

Today DAB Italia started a data package called "Cisco test" nationwide, so I found out that the yaml file does not mention the short and long label for this type of streams.

http://www.digitalbitrate.com/dtv.php?brk=2&mux=12C&pid=80&live=171&sec=0&lang=fr

12c_italia_cisco.eti.zip

12c.yaml.txt

    - service_id: 0x0
      subchannel_id: 0x16
      label: 
      shortlabel: 
      subchannel:
          id: 22
          SAd: 172
          protection: EEP 3-A
          size: 180
      audio:
          average: -90 -90
          peak: -90 -90
$ etisnoop -i /media/andreas/Data/dab/12c_italia_cisco.eti -n 100 | grep Cisco -A 1 -B 6
Identified ETI type RAW
ERRORS: Not yet in DB
ERRORS: Not yet in DB
ERRORS: Not yet in DB
     FIG: 1/5
     Length: 23
     OE: 0
     Decoding:
      Charset: 0
      Service ID: 0xE0500000
      Label: "Cisco Test      "
      Short label mask: 0xFE00
--
     FIG: 1/5
     Length: 23
     OE: 0
     Decoding:
      Charset: 0
      Service ID: 0xE0500000
      Label: "Cisco Test      "
      Short label mask: 0xFE00
Decoded 100 ETI frames

Missing fig0_7.cpp

Missing src/fig0_7.cpp

I have used this script to install.

It gives error:

make[1]: *** No rule to make target 'src/fig0_7.cpp', needed by 'src/fig0_7.o'. Stop
make[1]:  Leaving directory '/home/user/mmbtools/dab/etisnoop'
make: *** [Makefile:418: all] Error 2

Thank You!

Protection level A and B in yaml

If you analyse

trt.eti.zip

with

etisnoop -i trt.eti -v -s trt.yaml

the output shows both protection levels, A and (!) B. It's A only according to other tools.

more /tmp/trt.yaml 
# Statistics from ETISnoop. This file should be valid YAML
---
ensemble:
    id: 0x4fff
    label: TRT DAB+        
    shortlabel: DAB+
audio:
    - service_id: 0x32
      subchannel_id: 0xb
      label: +Radyo 1        
      shortlabel: +Radyo 1
      subchannel:
          id: 11
          SAd: 0
          protection: EEP 4-A
          protection: EEP 4-B
          protection: unknown
          size: 48

Cannot make newer etisnoop versions

When I try to make it under Ubuntu 16.04 64bit, I get the following (German) error

...
CC src/wavfile.o
CC src/fec/decode_rs_char.o
CC src/fec/encode_rs_char.o
CC src/fec/init_rs_char.o
CXXLD etisnoop
/usr/bin/ld: cannot find -lboost_regex
collect2: error: ld returned 1 exit status
Makefile:575: die Regel für Ziel „etisnoop“ scheiterte
make[1]: *** [etisnoop] Fehler 1
make[1]: Verzeichnis „/home/andreas/etisnoop“ wird verlassen
Makefile:390: die Regel für Ziel „all“ scheiterte
make: *** [all] Fehler 2

An older version I have downloaded in October works.

Line "DG flag: data groups ..." contains an extra newline char, messing up yaml

Hi,

I've come across a weird issue: the line 'DG flag: 0 data groups are [not] used to transport the service component' always has a newline character after 'DG flag: 0', thus producing invalid yaml.

This is what I get:

   DG flag: 0
   data groups are used to transport the service component
   DSCTy: 60 Multimedia Object Transfer (MOT)

This is what yaml expects:

   DG flag: 0 data groups are used to transport the service component       
   DSCTy: 60 Multimedia Object Transfer (MOT)

This little script helps, but it's not really a solution;

#!/usr/bin/env bash

cp $1 $1--backup

sed -i  's/data groups are used to transport the service component//' $1
sed -i 's/DG flag: 0/DG flag: 0 data groups are used to transport the service component/' $1

PS I'm sorry that I can't currently repair this myself, gdb is crashing on me.

Compilation on CentOS 7 fails: error: expected ')' before 'PRId64'

Compiling etisnoop on CentOS 7 fails with the following error:

fig0_21.cpp:193:56: error: expected ')' before 'PRId64'
                 sprintf(tmpbuf, ", database key=0x%09" PRId64, key);

After switching from #include <inttypes.h> to #include <cinttypes> etisnoop compiles correctly:

sed -i -e 's/^\(#include\) <inttypes.h>/\1 <cinttypes>/' \
    etisnoop.cpp utils.hpp wavfile.h

Same special character displayed in 4 variants

Attached file from Austria includes a service with German special character ö, but it seems that etisnoop uses several different character tables to display it ...

console

  • in the long label ö
  • in the short lable �

yaml file

  • in the long lable ö
  • in the short lable � (maybe shown not correct here on github)

ors_8a_2020-06-14_1052.zip

$ LC_ALL=C etisnoop -n 10000 -i ./ors_8a_2020-06-14_1052.eti | LC_ALL=C grep "live" -B 10 | sort | uniq
Identified ETI type RAW
ERRORS: Not yet in DB
ERRORS: Not yet in DB
ERRORS: Not yet in DB
Error: FCT not contiguous
ERRORS: Not yet in DB
ERRORS: Not yet in DB
Incomplete frame in ETI file!
ETI file read error
    -
--
      Charset: 0
   CRC: OK
     Decoding:
   FIB: 1
   FIB: 2
     FIG: 1/1
   FIGs:
      Label: "jö.live         "
     Length: 21
     OE: 0
      Service ID: 0xAD56
      Short label: j�.live
      Short label mask: 0xFE00

$ LC_ALL=C etisnoop -n 10000 -i ./ors_8a_2020-06-14_1052.eti -s /tmp/ors_8a_2020-06-14_1052.yaml produces this yaml-file:
ors_8a_2020-06-14_1052.yaml.zip
where you can see

      label: jö.live         
      shortlabel: j�.live

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.