====== ATSC 3.0 Desktop Build ====== This page provides instructions on how to build the DTVKit ATSC 3.0 stack for a Linux desktop PC. The stack can read in stream data in PCAP format and identify services. The stack then makes the services available as DASH or HLS streams which can be consumed by a suitable player. ===== Building The Stack ===== Prior to building the ATSC 3.0 stack the following dependencies must be met: * Ubuntu 18.04 or 20.04.06 LTS. * Ensure **make** in installed. * Install the following libraries: * ffmpeg, libjsoncpp-dev, libavutil-dev, libavformat-dev, libavfilter-dev * libavcodec-dev, libresample-dev, libswscale-dev, libcurl4-openssl-dev * libsysfs-dev libssl-dev, libsqllite3-dev, zlib1g-dev and ffplay To build the stack: * Checkout the ATSC 3.0 stack source code from the DTVkit repository [[https://github.com/DTVKit/ATSC3]]: * Specify the location of hls segments in the file "atsccore_prod_config_template.h" with the macro: * #define HLS_FILE_PATH "/hls" * Navigate to the src folder and build for the Linux environment using the following commands: * make clean * make * Once the build completes, the executable homecaster_core will be generated at: * "src/atsc/app/atscapp/" ===== Running The Stack ===== To run the stack: * Copy the homecaster_core executable binary from 'src/atsc/app/atscapp/' to the desired location, 'e.g., /home' * Copy 'Commandtxt.json' to the same location where the homecaster_core binary is placed. * The Commandtxt.json file is used to provide command information for PCAP functionality — such as start, stop, info, list, and update. * Copy the test PCAP file to the same location as the homecaster_core binary, and rename it to: PCAP_TEST_FILE.pcap * Macro for PCAP file path: #define ATSCCORE_PCAP_FILE_PATH '/home/' * Run the homecaster_core binary from the Linux command line * ./homecaster_core * On successful execution, the Linux terminal will display: * 'Enter TestCase ID : ' * Enter these values: * Enter TestCase ID : 31 * Enter Tuner ID : 0 * Enter Expect Type : 200 * Enter HTTP Type : 1 * Enter URI : /pcap * Enter Iterations: 5 (this is the loop count to play pcap file) ===== Viewing Services ===== After successful execution of the stack, HLS segments will be generated which can be consumed for playback by a standard player such as ffplay. The HLS segments will be available at the location specified by the macro HLS_FILE_PATH. To play the service point your player at the .m3u8 file, e.g.: * e.g. ffplay /hls/0-1/index.m3u8