i n d e x
<--back
notes
categories: arctic | art | biology | book | compile | crypto | cryptoart | debian | email | entropy |
ffmpeg | funk | game | ghostradio | hades | informationtheorie | internet | laser | linux | linuxaudio |
logic | machinelearning | math | mikrotik | movie | neuralnetworks | noise | nonhuman | notes | particlephysics |
physics | radio | radioactive | raspi | raspi5 | renameseq | rng | softwaredefinedradio | sound | stockexchange |
tools | underinfluence | videolooper | vlc | vlf | xterm |

search:


gr_comment:

"Ghostradio sounded suitably mysterious and dark" regine debatty ##ghostradio ##cryptoart

last edited:December 29, 2022




ghostradio_python_script:

maex@:~/ghostradio/code$ more ghostradio.py 
import numpy as np
import cv2
import os, sys, struct, shutil, time



print "configuring video dev"
# 1 = composite 0 = tuner usw
os.system("v4l2-ctl -i 1")


cap = cv2.VideoCapture(0)

#resolution
ret = cap.set(3,720) 
ret = cap.set(4,576)



timestr = time.strftime("%Y%m%d-%H%M%S")

grname = "gr-random-bin"+timestr


fd = os.open(grname,os.O_RDWR|os.O_CREAT)


while(True):
    # Capture frame-by-frame
    ret, frame = cap.read()

    # Our operations on the frame come here
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

   
    for x in xrange(1, 12):  # zeilen anzahl und position 1 = start 2 =laenge (bei 640x480 ist das theoretisch 1, 479)
        for y in xrange(1, 18):  # scanrange 1 start 2 ende (zb fuer 640x480 ist das dann 1, 640)


                output = gray[x, y]
#               output = bin(gray[x ,y])[2:].zfill(8)
#               print bin(gray[x ,y])[2:].zfill(8)
                output = chr(output)
                os.write(fd, output)  

#               change to this to write down numbers:
#               output = str(output)
#               os.write(fd, output+';')


    # Display the resulting frame
    cv2.imshow('frame',gray)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

    #checking filesize > 2gb close file open new filename+timestamp    
    statinfo = os.stat(grname)
    b = statinfo.st_size
    b = ((b /1024)/1024)

    if b > 2000:
        os.close(fd)
        shutil.move('gr-random-bin'+timestr,'random')
        timestr = time.strftime("%Y%m%d-%H%M%S")
        grname = "gr-random-bin"+timestr
        fd = os.open("gr-random-bin"+timestr,os.O_RDWR|os.O_CREAT)

# When everything done, release the capture
os.close(fd)
cap.release()
cv2.destroyAllWindows()
maex@:~/ghostradio/code$
##ghostradio ##linux ##entropy ##cryptoart

last edited:December 29, 2022