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 time
import cupy as cp import cupy as cp
import cv2
import zmq import zmq
from flandre.beamformer.das import gen_pwi 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.config import C
from flandre.nodes.Node import Node from flandre.nodes.Node import Node
from flandre.utils.Config import DeviceConfig from flandre.utils.Config import DeviceConfig
from flandre.utils.Msg import BMMsg, ImageArgMsg, SetSeqMetaMsg, Msg, RfFrameWithMetaMsg, BeamformerMsg, \ from flandre.utils.Msg import ImageArgMsg, Msg, RfFrameWithMetaMsg, BeamformerMsg, \
RequestRfFrameMsg, \
SeqMetaMsg, RfMatMsg SeqMetaMsg, RfMatMsg
from flandre.utils.RfFile import RfSequenceMeta from flandre.utils.RfFile import RfSequenceMeta
from flandre.utils.RfMat import RfMat from flandre.utils.RfMat import RfMat
@ -45,13 +43,7 @@ class Beamformer(Node):
.rotate90() .rotate90()
.grey() .grey()
.cpu() .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)) self.send(RfMatMsg(d2))
def loop(self): def loop(self):

View File

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