replace BMMsg to RfMatMsg

This commit is contained in:
flandre 2025-04-13 17:14:39 +08:00
parent bec256bc22
commit 380f27df7c
2 changed files with 19 additions and 20 deletions

View File

@ -2,7 +2,6 @@ import logging
import time
import cupy as cp
import cv2
import zmq
from flandre.beamformer.das import gen_pwi
@ -10,8 +9,7 @@ from flandre.beamformer.dist import direct_dist
from flandre.config import C
from flandre.nodes.Node import Node
from flandre.utils.Config import DeviceConfig
from flandre.utils.Msg import BMMsg, ImageArgMsg, SetSeqMetaMsg, Msg, RfFrameWithMetaMsg, BeamformerMsg, \
RequestRfFrameMsg, \
from flandre.utils.Msg import ImageArgMsg, Msg, RfFrameWithMetaMsg, BeamformerMsg, \
SeqMetaMsg, RfMatMsg
from flandre.utils.RfFile import RfSequenceMeta
from flandre.utils.RfMat import RfMat
@ -45,19 +43,13 @@ class Beamformer(Node):
.rotate90()
.grey()
.cpu()
# .resize((C.video_width, C.video_height))
# .watermark()
# .call(cv2.cvtColor, cv2.COLOR_GRAY2RGBA)
)
# print(d2.m.dtype)
# input()
# self.send(BMMsg(0, d2.__bytes__()))
self.send(RfMatMsg(d2))
def loop(self):
time.sleep(1)
dc = DeviceConfig()
pwi,_ = gen_pwi(direct_dist(dc), dc)
pwi, _ = gen_pwi(direct_dist(dc), dc)
while True:
self.muxer_req_socket.send(b'')
r = dict(self.c.poller.poll())

View File

@ -2,19 +2,20 @@ import logging
import subprocess
import time
import cv2
import numpy as np
import zmq
from flandre.BusClient import BusClient
from flandre.config import C
from flandre.nodes.Node import Node
from flandre.utils.Msg import BMMsg, SetWindowVisibleMsg, Msg
from flandre.utils.Msg import Msg, RfMatMsg
from flandre.utils.RfMat import RfMat
logger = logging.getLogger(__name__)
class ImageFFMPEG(Node):
topics = [BMMsg]
topics = [RfMatMsg]
def __init__(self, level=logging.INFO):
super().__init__(level=level)
@ -22,11 +23,11 @@ class ImageFFMPEG(Node):
self.buffer = self.buffer.tobytes()
def loop(self):
self.c = BusClient(BMMsg, pub=False, conflare=True, poller=True)
self.c = BusClient(RfMatMsg, pub=False, conflare=True, poller=True)
p = subprocess.Popen(['ffmpeg',
'-f', 'rawvideo',
'-pixel_format', 'rgb24',
'-video_size', '1080x1920',
'-video_size', f'{C.video_width}x{C.video_height}',
'-framerate', '24',
'-hwaccel', 'nvdec',
'-i', '-',
@ -43,7 +44,8 @@ class ImageFFMPEG(Node):
# '-vcodec', 'libx264',
# '-b:v', '40M',
'-f', 'flv',
'rtmp://q1hyb.as/live/bscan'
# 'rtmp://q1hyb.as/live/bscan',
'rtmp://11.2.1.21/live/bscan',
# '-f', 'mpegts',
# 'srt://localhost:10080?streamid=#!::r=live/livestream,m=publish'
],
@ -54,10 +56,15 @@ class ImageFFMPEG(Node):
# socks = dict(self.c.poller.poll(1 / 30))
events = self.c.poller.poll(1000 / 24)
if events:
msg: BMMsg = Msg.decode_msg(events[0][0].recv())
b = np.frombuffer(msg.data, dtype=np.uint8)
b = np.reshape(b, (C.video_height, C.video_width, 4))[:, :, :3]
self.buffer = b.tobytes()
msg: RfMatMsg = Msg.decode_msg(events[0][0].recv())
rfmat: RfMat = msg.rfmat
self.buffer = (rfmat
.grey()
.resize((C.video_width, C.video_height))
.watermark()
.call(cv2.cvtColor, cv2.COLOR_GRAY2RGB)
.__bytes__()
)
p.stdin.write(self.buffer)
# time.sleep(1 / 60)
currenttime = time.time()