User Tools

Site Tools


render

This is an old revision of the document!


RENDER

RENDER, short for RabbitEars NextGen Data Evaluator and Reporter, is GPLv3 open-source software written to evaluate ATSC 3.0 signals and produce HTML Export files about them.

To download the latest version of RENDER, see here: https://www.rabbitears.info/dl/render/

To see output from RENDER as I'm working on it, see here: https://www.rabbitears.info/oddsandends.php?request=a3dates

RENDER is being written using Google Gemini and Anthropic Claude. It has been written for the Linux command line, but should compile on the Mac with the proper prerequisites and should be possible to get working on Windows. Many thanks go to to drmpeg; his l1detail parsing code has been adapted for use in RENDER. It, like RENDER, is licensed in GPLv3.

https://github.com/drmpeg/dtv-utils/tree/master

The software supports the following input formats:

Packets:
- HDHomeRun Debug
- IPv4-PCAP
- ALP-PCAP
- STLTP-PCAP

Text:
- HDHomeRun plpinfo format
- HDHomeRun l1detail format
- HDHomeRun TUI text output format

Unless the provided data is in STLTP-PCAP format, both the packet data and the text data are needed for full information. The ideal set of information at present is the ALP-PCAP combined with either the l1detail or the HDHomeRun TUI text output from an HDHomeRun with the Dev upgrade. These items together should have the same name, and provide all the information that the software can currently parse.

It supports or mostly supports the following ATSC 3.0 functions and parameters:

- PLP Information (if any Text available)
- L1 Basic and L1 Detail (if l1detail or TUI text/Dev available)
- Link Mapping Table (if ALP-PCAP or STLTP-PCAP)
- Service List Table
- Capability Descriptor Table, which is Signal Signing
- Broadcast Positioning System
- Most other LLS tables, including AEAT, RRT, SMT, etc
- Basic info on MPEG-TS packets
- Basic data usage analysis (other than bitrates)
- Minimal eGPS support

These functions are known to be have issues, or be significantly incomplete or non-functional:

- STLTP - While the STLTP parsing does work, there are currently bugs that prevent it from fully parsing all packets. It is likely a subtle problem with the ALP packet reassembly that has not yet been found.
- MMT Media - It is believed that the MMT parsing works, but it appears that no station is actually transmitting the signaling necessary to make it actually function properly. A work-around is implemented but it only gathers the audio/video parameters some of the time, and should not be considered reliable.
- ESG Support - Some stations still do not have ESG data showing, or it is not showing complete ESG data. This will continue to be reviewed in the future.
- eGPS Support - The code displays eGPS raw data, but the data seems to be in a proprietary format with little or no public documentation. Attempts to reverse-engineer the structure beyond minimal header support have been unsuccessful.
- Bitrates - While the usage chart shows the total data and number of packets in all cases, bitrates are currently unreliable. For debug and IPv4 input formats, the necessary data is missing and probably cannot be reverse engineered. For other formats, the calculation has not been validated.

To build on Ubuntu, it is believed you'll need these packages:

build-essential
libpcap-dev
libxml2-dev
zlib1g-dev
libssl-dev

To build on RedHat, it is believed you'll need these packages:

libpcap-devel
libxml2-devel
zlib-devel
openssl-devel

And you'll need the HDHomeRun library, but I've included that in the zip file if you don't already have it installed.

Building RENDER should be as easy as running “make” in the source directory, which will produce an executable named “render”.

To run RENDER, put a PCAP or debug file in the folder with your executable and then create a text file with that same name but ending in .txt which contains the PLP info from the HDHomeRun plpinfo command along with, if applicable, the l1detail string. Alternatively, if you're using the latest HDHomeRun TUI, using the a or z keys to capture a debug or PCAP file should result in a PCAP and .txt file with the same name that you can use.

To collect files without the HDHomeRun TUI, see the steps here: Capturing 3.0 Data

Then just navigate to the folder that both the software and the files are in and run it:

./render <pcap|debug file name>

It'll output an HTML file with the same name that you can then review. As RENDER is currently highly experimental, if any output looks questionable, please reach out to me by e-mail or on the RabbitEars Discord.

Please also reach out with any questions or comments. Enjoy this tool!

Change Log

v0.4 - TBD

  • Modified the eGPS support as additional data was observed and things became less certain. (KMCI/WMYD)
  • Corrected two bugs in STLTP support; there may be at least one more. (General)
  • Improved ESG support. (General)

v0.3 - January 25, 2026

  • Added support for bitrates in the Usage Chart for ALP-PCAP files. (General)
  • Added support for stuffing packets when present. (WNYZ-LD)
  • Added the L1D_time_sec timestamp to the L1 Signaling Details header. (General)
  • Fixed bugs in handling for AC-3 audio and duplicate S-TSID entries. (WTBS-LD)
  • Fixed bugs in handling for multi-part MIME objects. (WKMJ)
  • Added packet count to the data usage chart. (General)
  • Added support for STLTP input, which isn't quite right yet but mostly works. (General)
  • Added basic SMT info display. (General)
  • Added basic RRT support. (General)
  • Added support for showing unsupported LLS tables. (General)
  • BSID values now only highlight when mismatched. (General)
  • Added support for unidentified packets. (WKMJ, among others)
  • Added stand-alone UDS support and unified with UDST. (KUSI)
  • Added AEAT support. (KNME/WSTR)
  • Added basic MPEG-TS support. (KNME)
  • Improved ESG support. (General)
  • Added minimal eGPS support. (KWGN/KUSI)

v0.2 - November 4, 2025

  • Added version number variable and command line function. (General)
  • Resolved PLP bitrate calculation bug. (General)
  • Added handling for duplicate LMT entries. (WZBJ-CD)
  • Added handling for EFDT tags and incomplete tags. (WUPV)
  • Added work-around for when close object isn't detected. (WCVW)
  • Resolved CDT parsing issue in ALP-PCAP captures. (KSTR)
  • MMT support in-place, but most of the stations have incomplete MMT data, so there's a fall-back that attempts to directly parse the video and audio. (WHUT, WIAV-CD, WNUV, KUNS, KJZZ, KVCW, KVPX-LD/WDWW-LD)
  • I've left a ton of debugging code in it. I stripped it out in 0.1, but removing it is a lot of work for no benefit.

v0.1 - October 10, 2025

  • Initial release.

Any opinions expressed on this site are those of the authors and do not necessarily reflect those of the FCC.
render.1769566446.txt.gz · Last modified: by RabbitEars Webmaster

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki