mirror of
https://github.com/koush/scrypted.git
synced 2026-02-09 00:39:56 +00:00
snapshot/python-codecs: move image writer
This commit is contained in:
@@ -173,17 +173,6 @@ class PythonCodecs(scrypted_sdk.ScryptedDeviceBase, scrypted_sdk.DeviceProvider)
|
||||
}
|
||||
)
|
||||
|
||||
manifest["devices"].append(
|
||||
{
|
||||
"name": "Image Writer",
|
||||
"type": scrypted_sdk.ScryptedDeviceType.Builtin.value,
|
||||
"nativeId": "writer",
|
||||
"interfaces": [
|
||||
scrypted_sdk.ScryptedInterface.BufferConverter.value,
|
||||
],
|
||||
}
|
||||
)
|
||||
|
||||
await scrypted_sdk.deviceManager.onDevicesChanged(manifest)
|
||||
|
||||
def getDevice(self, nativeId: str) -> Any:
|
||||
@@ -198,13 +187,9 @@ class PythonCodecs(scrypted_sdk.ScryptedDeviceBase, scrypted_sdk.DeviceProvider)
|
||||
if vipsimage.pyvips:
|
||||
if nativeId == "reader":
|
||||
return vipsimage.ImageReader("reader")
|
||||
if nativeId == "writer":
|
||||
return vipsimage.ImageWriter("writer")
|
||||
else:
|
||||
if nativeId == "reader":
|
||||
return pilimage.ImageReader("reader")
|
||||
if nativeId == "writer":
|
||||
return pilimage.ImageWriter("writer")
|
||||
|
||||
|
||||
def create_scrypted_plugin():
|
||||
|
||||
@@ -114,18 +114,6 @@ class ImageReader(scrypted_sdk.ScryptedDeviceBase, scrypted_sdk.BufferConverter)
|
||||
pil.load()
|
||||
return await createImageMediaObject(PILImage(pil))
|
||||
|
||||
class ImageWriter(scrypted_sdk.ScryptedDeviceBase, scrypted_sdk.BufferConverter):
|
||||
def __init__(self, nativeId: str):
|
||||
super().__init__(nativeId)
|
||||
|
||||
self.fromMimeType = scrypted_sdk.ScryptedMimeTypes.Image.value
|
||||
self.toMimeType = 'image/*'
|
||||
|
||||
async def convert(self, data: scrypted_sdk.VideoFrame, fromMimeType: str, toMimeType: str, options: scrypted_sdk.MediaObjectOptions = None) -> Any:
|
||||
return await data.toBuffer({
|
||||
format: 'jpg',
|
||||
})
|
||||
|
||||
def new_from_memory(data, width: int, height: int, bands: int):
|
||||
data = bytes(data)
|
||||
if bands == 4:
|
||||
|
||||
@@ -110,21 +110,3 @@ class ImageReader(scrypted_sdk.ScryptedDeviceBase, scrypted_sdk.BufferConverter)
|
||||
async def convert(self, data: Any, fromMimeType: str, toMimeType: str, options: scrypted_sdk.MediaObjectOptions = None) -> Any:
|
||||
vips = Image.new_from_buffer(data, '')
|
||||
return await createImageMediaObject(VipsImage(vips))
|
||||
|
||||
class ImageWriter(scrypted_sdk.ScryptedDeviceBase, scrypted_sdk.BufferConverter):
|
||||
def __init__(self, nativeId: str):
|
||||
super().__init__(nativeId)
|
||||
|
||||
self.fromMimeType = scrypted_sdk.ScryptedMimeTypes.Image.value
|
||||
self.toMimeType = 'image/*'
|
||||
|
||||
async def convert(self, data: scrypted_sdk.VideoFrame, fromMimeType: str, toMimeType: str, options: scrypted_sdk.MediaObjectOptions = None) -> Any:
|
||||
return await data.toBuffer({
|
||||
format: 'jpg',
|
||||
})
|
||||
|
||||
def new_from_memory(data, width: int, height: int, bands: int):
|
||||
return Image.new_from_memory(data, width, height, bands, pyvips.BandFormat.UCHAR)
|
||||
|
||||
def new_from_buffer(data, width: int, height: int, bands: int):
|
||||
return Image.new_from_buffer(data, width, height, bands, pyvips.BandFormat.UCHAR)
|
||||
|
||||
Reference in New Issue
Block a user