SkyWay Linux SDK
読み取り中…
検索中…
一致する文字列を見つけられません
opencv_video_renderer.hpp
1//
2// opencv_video_renderer.hpp
3// skyway
4//
5// Created by ogura on 2024/12/11.
6// Copyright © 2024 NTT Communications. All rights reserved.
7//
8
9// Define “SKYWAY_ENABLE_OPENCV” if you want to use OpenCV functionality
10#ifdef SKYWAY_ENABLE_OPENCV
11
12#ifndef SKYWAY_MEDIA_OPENCV_VIDEO_RENDERER_HPP_
13#define SKYWAY_MEDIA_OPENCV_VIDEO_RENDERER_HPP_
14
15#include "skyway/media/i420_video_renderer.hpp"
16
17#include <thread>
18#include <unordered_set>
19
20#include <memory>
21
22#include <opencv2/opencv.hpp>
23
24namespace skyway {
25namespace media {
26namespace opencv {
27
31public:
32 class Listener {
33 public:
34 virtual ~Listener() = default;
35 virtual void OnFrame(cv::Mat mat) = 0;
36 };
37
41
44 void RegisterListener(Listener* listener);
48
49 // Impl I420VideoRenderer
50 void OnFrame(const webrtc::VideoFrame& frame) override;
51
52private:
53 cv::Mat I420ToMat(const interface::I420Frame& frame);
54 std::mutex listeners_mtx_;
55 std::unordered_set<Listener*> listeners_;
56};
57} // namespace opencv
58} // namespace media
59} // namespace skyway
60
61#endif /* SKYWAY_MEDIA_V4L2_VIDEO_RENDERER_HPP_ */
62#endif /* SKYWAY_ENABLE_OPENCV */
SubscribeしたVideoStreamの映像を取得するクラス
Definition i420_video_renderer.hpp:20
Definition opencv_video_renderer.hpp:32
映像の描画を行うクラス
Definition opencv_video_renderer.hpp:30
void RegisterListener(Listener *listener)
リスナーを登録します
void UnregisterListener(Listener *listener)
登録しているリスナーを解除します
OpenCVVideoRenderer()
コンストラクタ
映像フレーム
Definition i420_video_renderer.hpp:31