This site explores 20m signal propagation via analog SSTV. Automated signal quality characterization is performed via image analysis. This site classifies images as P5-P0 by evaulating JPEG image compressibility and discrete color distribution. Clean images typically compress better than noisy ones and noisy images generally contain large numbers of infrequently used colors. The algorithm provides reasonable results given its simplicity, but favors images with solid backgrounds. A semi-noisy solid backround P2 may classify P3 due to better JPEG compressibility of the background.
To mirror images on your site, static names are available:
sstv.me/last-p5.jpg: last P5 image sstv.me/last-p4.jpg: last P4-P5 image sstv.me/last-p3.jpg: last P3-P5 image sstv.me/last-p2.jpg: last P2-P5 image sstv.me/last-p1.jpg: last P1-P5 image sstv.me/last-p0.jpg: last P0-P5 image sstv.me/last.jpg: last P3-P5 for 5 mins, then last P1-P5.
The receive pipeline is an Icom IC-7410 w/integrated USB Audio feeding the SSTVENG engine called by a custom app. As of April 2023, the code runs in a Linux LXC container using Wine to provide Windows compatibilty for SSTVENG. Images are stored lossless via PNG with metadata added:
Start Time (epoch seconds) Duration (seconds) SSTV Mode Callsign (FSKID encoded) USB Sampling Rate (hz) Correction to Sampling Rate (PPM) Auto-Slant Correction Applied (PPM)The PNGs are stored on a shared Linux network drive with incrond (inode/directory change cronjob) to trigger the processing pipeline. The PNGs are converted JPGs at 85% quality and P5-P0 analysis performed. The metadata is re-encoded into the JPG as comma-separated key=value pairs. Extracting the JPG comment will look like:
FSKID works great for callsign identification. An experiment with optical character recognition came nowhere close to its results. Using FSKID identification to train an OCR machine learning model would potentially work well, but is a future project.
Lots of folks have strong feelings about auto-slant. Appears the most common concern is letting frequency issues go uncorrected over time. This site displays images with auto-slant enabled but explicitly displays the receiver/software calibration (from WWV @ 10Mhz) and the applied auto-slant adjustment in PPM.
As an experiment in passing metadata with an sstv image, QR codes are included in my QSO images. The QR code decodes via any standard reader to a URL that redirects here. The format is HTTP://SSTV.ME%23abcdef encoded with H-level ECC (up to 30% errors). %23 is the hash-sign (HTML anchor) and ABCDEF is a 32-bit (base32) image reference. Following the QR link displays the original PNG image allowing comparison against the remotely received image.
First successful validation of QR took place Feb 20, 2018 @ ~2p Central during a 50W QSO to K01E (Rhode Island) also received by VE6PW (Calgary, ON) and uploaded to World SSTV Cam. The QSO had two images with QR codes included. The first images QR code failed to read, but the second was successful. The QR reader was the free iOS app Quick Scan (general QR reader) on an iPhone 6S.