コード例 #1
0
def main():
    info = True
    photomode = False
    api = pysony.SonyAPI()
    search = pysony.ControlPoint()
    cameras = search.discover(1)
    if len(cameras):
        camera = pysony.SonyAPI(QX_ADDR=cameras[0])
    else:
        print("No camera found, aborting")
        return -1
    mode = camera.getAvailableApiList()
    # For those cameras which need it
    if 'startRecMode' in (mode['result'])[0]:
        camera.startRecMode()
        time.sleep(5)
        # and re-read capabilities
        mode = camera.getAvailableApiList()
    if 'setLiveviewFrameInfo' in (mode['result'])[0]:
        if info:
            camera.setLiveviewFrameInfo([{"frameInfo": True}])
        else:
            camera.setLiveviewFrameInfo([{"frameInfo": False}])
    url = camera.liveview()  #liveview(["L"]) -> large
    incoming_image = None
    frame_info = None
    print("set cam mode")
    # Ensure that we're in correct mode (movie by default)
    mode = camera.getAvailableShootMode()
    if type(mode) == dict:
        if (mode['result'])[0] != 'movie':
            if 'movie' in (mode['result'])[1]:
                camera.setShootMode(["movie"])  #other option: "still"
            else:
                photomode = True
    print("starting stream")
    lst = api.LiveviewStreamThread(url)
    lst.start()
    for i in range(100):
        print("frame {}".format(i))
        header = lst.get_header()
        if header:
            image_file = io.BytesIO(lst.get_latest_view())
            incoming_image = Image.open(image_file)
            incoming_image.sav("test.jpg")
            frame_info = lst.get_frameinfo()
            print(frame_info)
            time.sleep(.1)
    print("stop")
    api.stopLiveview('1.0')
コード例 #2
0
    def setupCam(self):
        # print("Searching for camera...")

        # self.search = pysony.ControlPoint(interface="wlan0")
        # self.cameras = self.search.discover()

        # if len(self.cameras):
        #   print("Found: %s" % self.cameras[0])
        #   print("")
        #   self.camera = pysony.SonyAPI(QX_ADDR=self.cameras[0])
        # else:
        #   print("No camera found, aborting")
        #   quit()
        self.camera = pysony.SonyAPI(QX_ADDR=self.QX_ADDR)

        self.camera.startRecMode()
        time.sleep(5)

        self.camera.setFocusMode('AF-S')
        self.camera.setPostviewImageSize('Original')
        self.camera.setFNumber('22')
        self.camera.setIsoSpeedRate('100')
        self.camera.setShutterSpeed('1/20')
        self.camera.setTouchAFPosition([50.0, 50.0])
コード例 #3
0
#!/usr/bin/env python

import pysony
import base64, hashlib
import six

print("Searching for camera...")

search = pysony.ControlPoint()
cameras = search.discover()

if len(cameras):
    camera = pysony.SonyAPI(QX_ADDR=cameras[0])
else:
    print("No camera found, aborting")
    quit()

# This call fails with a '403 - Permission Error' on the HDR-AS15 (fw V3.0)
# Once authenticated it will complete sucessfully
# print("Get Movie Quality: %s" % camera.getMovieQuality())

# Tied to Methods list below, 64 _ASCII_ characters = 256 bit equivalant
AUTH_CONST_STRING = "35fc6c85705f5b37eb0f31f60c8412644fb2755ff55701e04a82d671c4b5d998"

# Enable _Everything_ we know about...
# $ grep -e '    def [^_]' src/pysony.py | grep -v -e 'discover(' | sed -e 's/    def /camera\//g' -e 's/(.*/:\\/g' | sort
METHODS_TO_ENABLE = "\
avContent/deleteContent:\
avContent/getContentCount:\
avContent/getContentList:\
avContent/getSchemeList:\
コード例 #4
0
 def test_loadpysony(self):
     api = pysony.SonyAPI()
     self.assertEqual(api.QX_ADDR, 'http://10.0.0.1:10000')
コード例 #5
0
import pysony

search = pysony.ControlPoint()
cameras = search.discover(5)

print "Available cameras", cameras
print

for x in cameras:
    print "Checking Camera", ":", x
    camera = pysony.SonyAPI(QX_ADDR=x)

    mode = camera.getAvailableApiList()
    print mode
    print
コード例 #6
0
parser.add_argument("-E", "--expose", type=int, dest="expose", help="switch to exposure mode 'x'")
parser.add_argument("-S", "--shoot", type=int, dest="shoot", help="switch to shoot mode 'x'")
parser.add_argument("-F", "--func", type=int, dest="func", help="switch to function mode 'x'")

options = parser.parse_args()

print("Searching for camera...")

search = pysony.ControlPoint()
cameras =  search.discover()
# cameras = ['http://192.168.122.1:8080']

if len(cameras):
    print("Found: %s" % cameras[0])
    print("")
    camera = pysony.SonyAPI(QX_ADDR=cameras[0], debug=options.brute)
else:
    print("No camera found, aborting")
    quit()

mode = camera.getAvailableApiList()

# Force Exposure Mode
if options.expose and 'setExposureMode' in (mode['result'])[0]:
    resp = camera.getAvailableExposureMode()
    camera.setExposureMode(resp['result'][1][options.expose-1])

# Force Shoot Mode
if options.shoot and 'setShootMode' in (mode['result'])[0]:
    resp = camera.getAvailableShootMode()
    camera.setShootMode(resp['result'][1][options.shoot-1])