Schritt 2: Das Bild in ein SSTV-sound-Datei konvertieren
Als nächstes müssen wir das Bild in eine sound-Datei umzuwandeln, die über die Luft übertragen werden können. Für den Raspberry Pi gibt es mehrere SSTV-Implementierungen.
PySSTV
Zuerst hatte ich einen Blick auf PySSTV, eine Python-Implementierung die Pip installiert werden kann:
pi ~/sstv $ sudo apt-get install python-setuptools pi ~/sstv $ sudo apt-get install python-imaging pi ~/sstv $ sudo easy_install pip pi ~/sstv $ sudo pip install setuptools --no-use-wheel --upgrade pi ~/sstv $ sudo pip install PySSTV
Dies funktioniert, aber es ist sehr Slooooooooooooow, dauert es viele Minuten, ein einzelnes Bild zu konvertieren. Also weiter habe ich nach einer anderen Möglichkeit suchen.
C-Implementierung
Als nächstes fand ich eine einfache C-Implementierung hier: https://sites.google.com/site/ki4mcw/Home/sstv-via-uc leider gibt es wurden einige Fehler in der Präambel Tönen, aber das waren einfach zu beheben. Ich habe es auch ein bisschen flexibler, so dass Sie die audio-Samplerate von der Kommandozeile aus einstellen können. Quelle meiner Implementierung finden Sie auf GitHub. Um den Quellcode zu kompilieren:
pi ~/sstv $ sudo apt-get install libgd2-xpm-dev pi ~/sstv $ sudo apt-get install libmagic-dev pi ~/sstv $ gcc -lm -lgd -lmagic -o pisstv pisstv.c
Um das Programm auszuführen:
pi ~/pisstv $ ./pisstv /tmp/image.png 22050 Constants check: rate = 22050 BITS = 16 VOLPCT = 20 scale = 6553 us/samp = 45.351474 2p/rate = 0.000285 Checking filetype for file [/tmp/image.png] File is a PNG image. Input file is [/tmp/image.png]. Output file is [/tmp/image.png.wav]. Writing audio data to file. Got a total of [2589556] samples. Done writing to audio file. Created soundfile in 4 seconds.
Wie du die SSTV-Audio-Datei siehst werden in nur 4 Sekunden erstellt. So weit so gut, der nächste Schritt, wie Sie die Audiowiedergabe über die Luft übertragen.