diff options
-rw-r--r-- | README.md | 33 | ||||
-rw-r--r-- | src/dabplussnoop.cpp | 2 | ||||
-rw-r--r-- | src/etisnoop.cpp | 4 | ||||
-rwxr-xr-x | yamlexample.py | 3 |
4 files changed, 39 insertions, 3 deletions
@@ -1,7 +1,7 @@ ETISnoop analyser ================= -The ETISnoop analyser decodes a RAW ETI file and prints out +The ETISnoop analyser decodes a RAW ETI (see https://wiki.opendigitalradio.org/Ensemble_Transport_Interface ) file and prints out its contents in YAML for easier analysis. It can show information about the signalling, details about the FIGs, @@ -20,6 +20,37 @@ Then do ./configure make sudo make install + + +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 stream-N.dab file + if DAB+: decode audio to stream-N.wav file and extract PAD to stream-N.dab + (superframes with RS coding) + -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. +``` + +You can open the stream-N.dab file in https://www.basicmaster.de/xpadxpert/ +(remark: in case of DAB please rename the .dab to .mp2) + +Hint: subchannel N means the (N+1)th subchannel in a mux (including data subchannels!) About ----- diff --git a/src/dabplussnoop.cpp b/src/dabplussnoop.cpp index 2f28982..b064d11 100644 --- a/src/dabplussnoop.cpp +++ b/src/dabplussnoop.cpp @@ -338,7 +338,7 @@ void StreamSnoop::push(uint8_t* streamdata, size_t streamsize) // First dump to subchannel file (superframe+parity word) if (m_dump_to_file and m_raw_data_stream_fd == nullptr) { stringstream dump_filename; - dump_filename << "stream-" << m_index << ".msc"; + dump_filename << "stream-" << m_index << ".dab"; m_raw_data_stream_fd = fopen(dump_filename.str().c_str(), "w"); diff --git a/src/etisnoop.cpp b/src/etisnoop.cpp index 45f4f9e..d727146 100644 --- a/src/etisnoop.cpp +++ b/src/etisnoop.cpp @@ -94,7 +94,9 @@ void usage(void) " -i the file contains RAW ETI\n" " -I the file contains FIC\n" " -v increase verbosity (can be given more than once)\n" - " -d N decode subchannel N into .msc file and if DAB+, decode to .wav file\n" + " -d N decode subchannel N into stream-N.dab file\n" + " if DAB+: decode audio to stream-N.wav file and extract PAD to stream-N.dab\n" + " (superframes with RS coding)\n" " -s <filename.yaml>\n" " statistics mode: decode all subchannels and measure audio level, write statistics to file\n" " -n N stop analysing after N ETI frames\n" diff --git a/yamlexample.py b/yamlexample.py index 7001b23..6bd73e1 100755 --- a/yamlexample.py +++ b/yamlexample.py @@ -3,6 +3,9 @@ # An example on how to read the YAML output from etisnoop # Pipe etisnoop to this script # +# On Ubuntu 20.04+ install the following package: +# `sudo apt install python-is-python3` +# # License: public domain import sys |