camera_node: workaround for storage logic for esp32-cam based cam
This commit is contained in:
parent
086a0960a3
commit
e1d8a4eb86
@ -3,7 +3,7 @@ import asyncio
|
||||
import time
|
||||
|
||||
from home.config import config
|
||||
from home.media import MediaNodeServer, CameraRecordStorage, CameraRecorder
|
||||
from home.media import MediaNodeServer, ESP32CameraRecordStorage, CameraRecorder
|
||||
from home.camera import CameraType, esp32
|
||||
from home.util import parse_addr, Addr
|
||||
from home import http
|
||||
@ -66,12 +66,11 @@ class ESP32CameraNodeServer(MediaNodeServer):
|
||||
if __name__ == '__main__':
|
||||
config.load('camera_node')
|
||||
|
||||
storage = CameraRecordStorage(config['node']['storage'])
|
||||
|
||||
recorder_kwargs = {}
|
||||
camera_type = CameraType(config['camera']['type'])
|
||||
if camera_type == CameraType.ESP32:
|
||||
recorder_kwargs['stream_addr'] = parse_addr(config['camera']['web_addr']) # this is not a mistake, we don't use stream_addr for esp32-cam anymore
|
||||
storage = ESP32CameraRecordStorage(config['node']['storage'])
|
||||
else:
|
||||
raise RuntimeError(f'unsupported camera type {camera_type}')
|
||||
|
||||
|
@ -6,7 +6,7 @@ __map__ = {
|
||||
'record_client': ['SoundRecordClient', 'CameraRecordClient', 'RecordClient'],
|
||||
'node_server': ['MediaNodeServer'],
|
||||
'node_client': ['SoundNodeClient', 'CameraNodeClient', 'MediaNodeClient'],
|
||||
'storage': ['SoundRecordStorage', 'CameraRecordStorage', 'SoundRecordFile', 'CameraRecordFile', 'RecordFile'],
|
||||
'storage': ['SoundRecordStorage', 'ESP32CameraRecordStorage', 'SoundRecordFile', 'CameraRecordFile', 'RecordFile'],
|
||||
'record': ['SoundRecorder', 'CameraRecorder']
|
||||
}
|
||||
|
||||
|
@ -16,7 +16,7 @@ from .node_client import (
|
||||
)
|
||||
from .storage import (
|
||||
SoundRecordStorage as SoundRecordStorage,
|
||||
CameraRecordStorage as CameraRecordStorage,
|
||||
ESP32CameraRecordStorage as ESP32CameraRecordStorage,
|
||||
SoundRecordFile as SoundRecordFile,
|
||||
CameraRecordFile as CameraRecordFile,
|
||||
RecordFile as RecordFile
|
||||
|
@ -116,6 +116,13 @@ class RecordFile:
|
||||
}
|
||||
|
||||
|
||||
class PseudoRecordFile(RecordFile):
|
||||
EXTENSION = 'null'
|
||||
|
||||
def __init__(self):
|
||||
super().__init__('/pseudo/file')
|
||||
|
||||
|
||||
class SoundRecordFile(RecordFile):
|
||||
EXTENSION = 'mp3'
|
||||
|
||||
@ -192,6 +199,8 @@ class SoundRecordStorage(RecordStorage):
|
||||
EXTENSION = 'mp3'
|
||||
|
||||
|
||||
class CameraRecordStorage(RecordStorage):
|
||||
EXTENSION = 'mp4'
|
||||
class ESP32CameraRecordStorage(RecordStorage):
|
||||
EXTENSION = 'jpg' # not used anyway
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
return PseudoRecordFile()
|
Loading…
x
Reference in New Issue
Block a user