Git Product home page Git Product logo

liuguang's People

Contributors

snaix avatar umu618 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

liuguang's Issues

v0.3 规划

目前的 v0.2 已经做了一系列改造,导致和 v0.1 已经不兼容,但提高了扩展性,也为加入更多功能做好铺垫。以下是 v0.3 打算做的功能:

  1. cge 实现【简单的】【示范性的】用户系统,能验证登录。本功能会导致和 v0.2 不兼容。
  2. cgc 实现从 cge 获取配置,比如编码器信息,从而自动匹配 cge 的 audio-codec 和 video-codec 参数。
  3. 支持 AMD GPU。感谢 @whans 提供硬件。

目前鎏光还是程序员们的玩具,等以上功能都开发完毕时,将发布一个大家都能玩的 Release。

请教D3D12支持的实现

您好,

我想尝试支持d3d12的游戏,我看到cge中的d3d接口调的都是d3d11的,cgh中有d3d11on12的部分实现,但看起来好像不是为了支持注入到d3d12的游戏?
readme有提到支持d3d9/11/12,想请问下对d3d12游戏的支持,是在哪里实现的?

感谢!

Need handling device reset in cgh

In cgh, IDXGISwapChain1::Present1 will be replace by MyPresent1, and it keep the pointer to device and use it to capture picture from game.
but, if the injected application meet device hung, the device will be reset.
In such case, the app will crash in next present1 call since MyPresent1 try to access the device which was reset.

The attached code can simulate GPU reset. If you use cgi to inject hooks, the app will crash at the third [IDXGISwapChain1::Present1].(you may have to try several times since this code cannot 100% cause GPU reset)
main.zip

Enhance global-mode

  1. IAudioCaptureClient should be global-mode only.
  2. Game/process audio capturing should use IAudioClient hooking.

用 boost::log 替换 std::cout 打印日志

目前在做其它更紧急项目,鎏光社区版只能做到修修 bug。

如果您能帮忙做“用 boost::log 替换 std::cout 打印日志”的改造,欢迎提 PR 到 develop 分支。

cge should give new clients keyframe asap

cge should stash the latest keyframe, so a new incoming client can receive keyframe as first frame.
cge 应该把最近一个关键帧保存起来,以便当新客户端连接时,能够保证他收到的第一个包就是关键帧。

开发者 UMU618 已经离职

我已经于 2022-07-22 离职。

  1. 以后代码维护不一定可以参与,但基本的 issues 处理没问题,还是欢迎大家交流。目前项目页面上留的微信号还是我的,如果是技术交流,我直接处理了;如果是谈合作,我会转达,直到组织更新微信号。
  2. 我离职前已经物色好接班人,但入职情况我不明。
  3. 之前承诺 2000 个星后开源 cgc,接班人如果入职由其继续保障。

为什么不考虑用OBS推流?

请问为什么不考虑用obs推流?
一个服务器,多个显卡,虚拟化多台电脑。(目前国内的厂家大多数都是这种方案)
单个虚拟机直接推流到客户端电脑(或者其他设备,机顶盒、安卓电视)

cgi
一个命令行工具,用于把 Hook DLL 注入到游戏进程。(很多游戏或者软件都有安全限制)

AbsoluteMouseMove和RelativeMouseMove的单位是什么?

Hi all,

我尝试在cgvhid_client工程中测试鼠标交互

屏幕分辨率是1920x1080,有在这里设置

cgvhid_client.Initialize(3300, 2200);

仅使用AbsoluteMouseMove设置鼠标位置时,设置坐标(1920,0)鼠标仅出现在屏幕左上角,而非预期的屏幕最右侧

ec = cgvhid_client.AbsoluteMouseMove(1000, 1000);

仅使用RelativeMouseMove设置鼠标位置时,鼠标初始位置放在屏幕最左侧,移动(1000,0)后就已经到达了屏幕最右侧,预期应移动1920才能到达

ec = cgvhid_client.RelativeMouseMove(100, 0);

请问鼠标移动的这两个函数对应的单位是什么呢?

感谢

structs in regame/protocol.h are not standard-layout

struct ClientLogin : public ClientPacket {

This is how the definition goes in the standard text:

A standard-layout class is a class that:

— has no non-static data members of type non-standard-layout class (or array of such types) or reference,

— has no virtual functions (10.3) and no virtual base classes (10.1),

— has the same access control (Clause 11) for all non-static data members,

— has no non-standard-layout base classes,

— either has no non-static data members in the most derived class and at most one base class with non-static data members, or has no base classes with non-static data members, and

— has no base classes of the same type as the first non-static data member.

A standard-layout struct is a standard-layout class defined with the class-key struct or the class-key class.

A standard-layout union is a standard-layout class defined with the class-key union.

[ Note: Standard-layout classes are useful for communicating with code written in other programming languages. Their layout is specified in 9.2.—end note ]

Linker error while building cge.sln

Commit hash: 3f9fa85

linker errors were raised as follow when trying to build cge.sln

Boost were built locally, include directories and libraries are configured properly

When switch to an older version (like 5345b97) with exactly the same local Boost enviromnent and include/library configuration, cge.sln could be built fine

Build started...
1>------ Build started: Project: cge, Configuration: MTRelease x64 ------
1>engine.cpp
1>audio_encoder.obj : error LNK2001: unresolved external symbol "public: static void __cdecl boost::log::v2s_mt_nt6::record_view::public_data::destroy(struct boost::log::v2s_mt_nt6::record_view::public_data const *)" (?destroy@public_data@record_view@v2s_mt_nt6@log@boost@@SAXPEBU12345@@Z)
1>audio_encoder.obj : error LNK2001: unresolved external symbol "private: void __cdecl boost::log::v2s_mt_nt6::core::push_record_move(class boost::log::v2s_mt_nt6::record &)" (?push_record_move@core@v2s_mt_nt6@log@boost@@AEAAXAEAVrecord@234@@Z)
1>audio_encoder.obj : error LNK2001: unresolved external symbol "public: static void __cdecl boost::log::v2s_mt_nt6::aux::stream_provider<char>::release_compound(struct boost::log::v2s_mt_nt6::aux::stream_provider<char>::stream_compound *)" (?release_compound@?$stream_provider@D@aux@v2s_mt_nt6@log@boost@@SAXPEAUstream_compound@12345@@Z)
1>audio_encoder.obj : error LNK2001: unresolved external symbol "public: bool __cdecl boost::log::v2s_mt_nt6::core::get_logging_enabled(void)const " (?get_logging_enabled@core@v2s_mt_nt6@log@boost@@QEBA_NXZ)
1>audio_encoder.obj : error LNK2001: unresolved external symbol "public: static struct boost::log::v2s_mt_nt6::aux::stream_provider<char>::stream_compound * __cdecl boost::log::v2s_mt_nt6::aux::stream_provider<char>::allocate_compound(class boost::log::v2s_mt_nt6::record &)" (?allocate_compound@?$stream_provider@D@aux@v2s_mt_nt6@log@boost@@SAPEAUstream_compound@12345@AEAVrecord@345@@Z)
1>audio_encoder.obj : error LNK2001: unresolved external symbol "unsigned __int64 & __cdecl boost::log::v2s_mt_nt6::sources::aux::get_severity_level(void)" (?get_severity_level@aux@sources@v2s_mt_nt6@log@boost@@YAAEA_KXZ)
1>audio_encoder.obj : error LNK2001: unresolved external symbol "public: class boost::log::v2s_mt_nt6::record __cdecl boost::log::v2s_mt_nt6::core::open_record(class boost::log::v2s_mt_nt6::attribute_set const &)" (?open_record@core@v2s_mt_nt6@log@boost@@QEAA?AVrecord@234@AEBVattribute_set@234@@Z)
1>cge.obj : error LNK2001: unresolved external symbol "public: static void __cdecl boost::log::v2s_mt_nt6::attribute::impl::operator delete(void *,unsigned __int64)" (??3impl@attribute@v2s_mt_nt6@log@boost@@SAXPEAX_K@Z)
1>cge.obj : error LNK2001: unresolved external symbol "private: static unsigned int __cdecl boost::log::v2s_mt_nt6::attribute_name::get_id_from_string(char const *)" (?get_id_from_string@attribute_name@v2s_mt_nt6@log@boost@@CAIPEBD@Z)
1>cge.obj : error LNK2001: unresolved external symbol "public: __cdecl boost::log::v2s_mt_nt6::attribute_set::~attribute_set(void)" (??1attribute_set@v2s_mt_nt6@log@boost@@QEAA@XZ)
1>cge.obj : error LNK2001: unresolved external symbol "public: struct std::pair<class boost::log::v2s_mt_nt6::attribute_set::iter<0>,bool> __cdecl boost::log::v2s_mt_nt6::attribute_set::insert(class boost::log::v2s_mt_nt6::attribute_name,class boost::log::v2s_mt_nt6::attribute const &)" (?insert@attribute_set@v2s_mt_nt6@log@boost@@QEAA?AU?$pair@V?$iter@$0A@@attribute_set@v2s_mt_nt6@log@boost@@_N@std@@Vattribute_name@234@AEBVattribute@234@@Z)
1>cge.obj : error LNK2001: unresolved external symbol "public: class boost::log::v2s_mt_nt6::attribute_value_set::const_iterator __cdecl boost::log::v2s_mt_nt6::attribute_value_set::find(class boost::log::v2s_mt_nt6::attribute_name)const " (?find@attribute_value_set@v2s_mt_nt6@log@boost@@QEBA?AVconst_iterator@1234@Vattribute_name@234@@Z)
1>cge.obj : error LNK2001: unresolved external symbol "public: class boost::log::v2s_mt_nt6::attribute_value_set::const_iterator __cdecl boost::log::v2s_mt_nt6::attribute_value_set::end(void)const " (?end@attribute_value_set@v2s_mt_nt6@log@boost@@QEBA?AVconst_iterator@1234@XZ)
1>cge.obj : error LNK2001: unresolved external symbol "bool __cdecl boost::log::v2s_mt_nt6::aux::code_convert_impl(wchar_t const *,unsigned __int64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,unsigned __int64,class std::locale const &)" (?code_convert_impl@aux@v2s_mt_nt6@log@boost@@YA_NPEB_W_KAEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@1AEBVlocale@6@@Z)
1>cge.obj : error LNK2001: unresolved external symbol "private: void __cdecl boost::log::v2s_mt_nt6::aux::once_block_sentry::rollback(void)" (?rollback@once_block_sentry@aux@v2s_mt_nt6@log@boost@@AEAAXXZ)
1>cge.obj : error LNK2001: unresolved external symbol "private: bool __cdecl boost::log::v2s_mt_nt6::aux::once_block_sentry::enter_once_block(void)const " (?enter_once_block@once_block_sentry@aux@v2s_mt_nt6@log@boost@@AEBA_NXZ)
1>cge.obj : error LNK2001: unresolved external symbol "class boost::log::v2s_mt_nt6::attribute_name __cdecl boost::log::v2s_mt_nt6::aux::default_attribute_names::message(void)" (?message@default_attribute_names@aux@v2s_mt_nt6@log@boost@@YA?AVattribute_name@345@XZ)
1>cge.obj : error LNK2001: unresolved external symbol "public: __cdecl boost::log::v2s_mt_nt6::aux::winapi_based_event::winapi_based_event(void)" (??0winapi_based_event@aux@v2s_mt_nt6@log@boost@@QEAA@XZ)
1>cge.obj : error LNK2001: unresolved external symbol "public: __cdecl boost::log::v2s_mt_nt6::aux::winapi_based_event::~winapi_based_event(void)" (??1winapi_based_event@aux@v2s_mt_nt6@log@boost@@QEAA@XZ)
1>cge.obj : error LNK2001: unresolved external symbol "public: void __cdecl boost::log::v2s_mt_nt6::aux::winapi_based_event::set_signalled(void)" (?set_signalled@winapi_based_event@aux@v2s_mt_nt6@log@boost@@QEAAXXZ)
1>cge.obj : error LNK2001: unresolved external symbol "public: void __cdecl boost::log::v2s_mt_nt6::aux::winapi_based_event::wait(void)" (?wait@winapi_based_event@aux@v2s_mt_nt6@log@boost@@QEAAXXZ)
1>cge.obj : error LNK2001: unresolved external symbol "class boost::log::v2s_mt_nt6::aux::id<struct boost::log::v2s_mt_nt6::aux::process> __cdecl boost::log::v2s_mt_nt6::aux::this_process::get_id(void)" (?get_id@this_process@aux@v2s_mt_nt6@log@boost@@YA?AV?$id@Uprocess@aux@v2s_mt_nt6@log@boost@@@2345@XZ)
1>cge.obj : error LNK2001: unresolved external symbol "class boost::log::v2s_mt_nt6::aux::id<struct boost::log::v2s_mt_nt6::aux::thread> const & __cdecl boost::log::v2s_mt_nt6::aux::this_thread::get_id(void)" (?get_id@this_thread@aux@v2s_mt_nt6@log@boost@@YAAEBV?$id@Uthread@aux@v2s_mt_nt6@log@boost@@@2345@XZ)
1>cge.obj : error LNK2001: unresolved external symbol "public: static void * __cdecl boost::log::v2s_mt_nt6::attribute::impl::operator new(unsigned __int64)" (??2impl@attribute@v2s_mt_nt6@log@boost@@SAPEAX_K@Z)
1>cge.obj : error LNK2001: unresolved external symbol "public: static class boost::shared_ptr<class boost::log::v2s_mt_nt6::core> __cdecl boost::log::v2s_mt_nt6::core::get(void)" (?get@core@v2s_mt_nt6@log@boost@@SA?AV?$shared_ptr@Vcore@v2s_mt_nt6@log@boost@@@4@XZ)
1>cge.obj : error LNK2001: unresolved external symbol "public: struct std::pair<class boost::log::v2s_mt_nt6::attribute_set::iter<0>,bool> __cdecl boost::log::v2s_mt_nt6::core::add_global_attribute(class boost::log::v2s_mt_nt6::attribute_name const &,class boost::log::v2s_mt_nt6::attribute const &)" (?add_global_attribute@core@v2s_mt_nt6@log@boost@@QEAA?AU?$pair@V?$iter@$0A@@attribute_set@v2s_mt_nt6@log@boost@@_N@std@@AEBVattribute_name@234@AEBVattribute@234@@Z)
1>cge.obj : error LNK2001: unresolved external symbol "class boost::log::v2s_mt_nt6::attribute_name __cdecl boost::log::v2s_mt_nt6::aux::default_attribute_names::line_id(void)" (?line_id@default_attribute_names@aux@v2s_mt_nt6@log@boost@@YA?AVattribute_name@345@XZ)
1>cge.obj : error LNK2001: unresolved external symbol "class boost::log::v2s_mt_nt6::attribute_name __cdecl boost::log::v2s_mt_nt6::aux::default_attribute_names::timestamp(void)" (?timestamp@default_attribute_names@aux@v2s_mt_nt6@log@boost@@YA?AVattribute_name@345@XZ)
1>cge.obj : error LNK2001: unresolved external symbol "class boost::log::v2s_mt_nt6::attribute_name __cdecl boost::log::v2s_mt_nt6::aux::default_attribute_names::process_id(void)" (?process_id@default_attribute_names@aux@v2s_mt_nt6@log@boost@@YA?AVattribute_name@345@XZ)
1>cge.obj : error LNK2001: unresolved external symbol "class boost::log::v2s_mt_nt6::attribute_name __cdecl boost::log::v2s_mt_nt6::aux::default_attribute_names::thread_id(void)" (?thread_id@default_attribute_names@aux@v2s_mt_nt6@log@boost@@YA?AVattribute_name@345@XZ)
1>cge.obj : error LNK2001: unresolved external symbol "public: void __cdecl boost::log::v2s_mt_nt6::sinks::basic_text_ostream_backend<char>::add_stream(class boost::shared_ptr<class std::basic_ostream<char,struct std::char_traits<char> > > const &)" (?add_stream@?$basic_text_ostream_backend@D@sinks@v2s_mt_nt6@log@boost@@QEAAXAEBV?$shared_ptr@V?$basic_ostream@DU?$char_traits@D@std@@@std@@@5@@Z)
1>cge.obj : error LNK2001: unresolved external symbol "public: void __cdecl boost::log::v2s_mt_nt6::sinks::basic_text_ostream_backend<char>::auto_flush(bool)" (?auto_flush@?$basic_text_ostream_backend@D@sinks@v2s_mt_nt6@log@boost@@QEAAX_N@Z)
1>cge.obj : error LNK2001: unresolved external symbol "public: void __cdecl boost::log::v2s_mt_nt6::sinks::basic_text_ostream_backend<char>::set_auto_newline_mode(enum boost::log::v2s_mt_nt6::sinks::auto_newline_mode)" (?set_auto_newline_mode@?$basic_text_ostream_backend@D@sinks@v2s_mt_nt6@log@boost@@QEAAXW4auto_newline_mode@2345@@Z)
1>cge.obj : error LNK2001: unresolved external symbol "public: __cdecl boost::log::v2s_mt_nt6::attributes::timer::timer(void)" (??0timer@attributes@v2s_mt_nt6@log@boost@@QEAA@XZ)
1>cge.obj : error LNK2001: unresolved external symbol "public: void __cdecl boost::log::v2s_mt_nt6::core::add_sink(class boost::shared_ptr<class boost::log::v2s_mt_nt6::sinks::sink> const &)" (?add_sink@core@v2s_mt_nt6@log@boost@@QEAAXAEBV?$shared_ptr@Vsink@sinks@v2s_mt_nt6@log@boost@@@4@@Z)
1>cge.obj : error LNK2001: unresolved external symbol "public: void __cdecl boost::log::v2s_mt_nt6::core::set_filter(class boost::log::v2s_mt_nt6::filter const &)" (?set_filter@core@v2s_mt_nt6@log@boost@@QEAAXAEBVfilter@234@@Z)
1>cge.obj : error LNK2001: unresolved external symbol "public: void __cdecl boost::log::v2s_mt_nt6::core::flush(void)" (?flush@core@v2s_mt_nt6@log@boost@@QEAAXXZ)
1>cge.obj : error LNK2001: unresolved external symbol "public: static bool __cdecl boost::log::v2s_mt_nt6::aux::threadsafe_queue_impl::try_pop(class boost::log::v2s_mt_nt6::aux::threadsafe_queue_impl *,struct boost::log::v2s_mt_nt6::aux::threadsafe_queue_impl::node_base * &,struct boost::log::v2s_mt_nt6::aux::threadsafe_queue_impl::node_base * &)" (?try_pop@threadsafe_queue_impl@aux@v2s_mt_nt6@log@boost@@SA_NPEAV12345@AEAPEAUnode_base@12345@1@Z)
1>cge.obj : error LNK2001: unresolved external symbol "public: static void __cdecl boost::log::v2s_mt_nt6::aux::threadsafe_queue_impl::push(class boost::log::v2s_mt_nt6::aux::threadsafe_queue_impl *,struct boost::log::v2s_mt_nt6::aux::threadsafe_queue_impl::node_base *)" (?push@threadsafe_queue_impl@aux@v2s_mt_nt6@log@boost@@SAXPEAV12345@PEAUnode_base@12345@@Z)
1>cge.obj : error LNK2001: unresolved external symbol "public: static struct boost::log::v2s_mt_nt6::aux::threadsafe_queue_impl::node_base * __cdecl boost::log::v2s_mt_nt6::aux::threadsafe_queue_impl::reset_last_node(class boost::log::v2s_mt_nt6::aux::threadsafe_queue_impl *)" (?reset_last_node@threadsafe_queue_impl@aux@v2s_mt_nt6@log@boost@@SAPEAUnode_base@12345@PEAV12345@@Z)
1>cge.obj : error LNK2001: unresolved external symbol "public: static void __cdecl boost::log::v2s_mt_nt6::aux::threadsafe_queue_impl::destroy(class boost::log::v2s_mt_nt6::aux::threadsafe_queue_impl *)" (?destroy@threadsafe_queue_impl@aux@v2s_mt_nt6@log@boost@@SAXPEAV12345@@Z)
1>cge.obj : error LNK2001: unresolved external symbol "public: static class boost::log::v2s_mt_nt6::aux::threadsafe_queue_impl * __cdecl boost::log::v2s_mt_nt6::aux::threadsafe_queue_impl::create(struct boost::log::v2s_mt_nt6::aux::threadsafe_queue_impl::node_base *)" (?create@threadsafe_queue_impl@aux@v2s_mt_nt6@log@boost@@SAPEAV12345@PEAUnode_base@12345@@Z)
1>cge.obj : error LNK2001: unresolved external symbol "class boost::log::v2s_mt_nt6::attribute_name __cdecl boost::log::v2s_mt_nt6::aux::default_attribute_names::severity(void)" (?severity@default_attribute_names@aux@v2s_mt_nt6@log@boost@@YA?AVattribute_name@345@XZ)
1>cge.obj : error LNK2001: unresolved external symbol "public: static bool __cdecl boost::log::v2s_mt_nt6::aux::threadsafe_queue_impl::unsafe_empty(class boost::log::v2s_mt_nt6::aux::threadsafe_queue_impl const *)" (?unsafe_empty@threadsafe_queue_impl@aux@v2s_mt_nt6@log@boost@@SA_NPEBV12345@@Z)
1>cge.obj : error LNK2001: unresolved external symbol "public: __cdecl boost::log::v2s_mt_nt6::attribute_set::attribute_set(void)" (??0attribute_set@v2s_mt_nt6@log@boost@@QEAA@XZ)
1>cge.obj : error LNK2001: unresolved external symbol "public: void __cdecl boost::log::v2s_mt_nt6::sinks::basic_text_ostream_backend<char>::consume(class boost::log::v2s_mt_nt6::record_view const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?consume@?$basic_text_ostream_backend@D@sinks@v2s_mt_nt6@log@boost@@QEAAXAEBVrecord_view@345@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
1>cge.obj : error LNK2001: unresolved external symbol "void __cdecl boost::log::v2s_mt_nt6::aux::attach_attribute_name_info(class boost::exception &,class boost::log::v2s_mt_nt6::attribute_name const &)" (?attach_attribute_name_info@aux@v2s_mt_nt6@log@boost@@YAXAEAVexception@4@AEBVattribute_name@234@@Z)
1>cge.obj : error LNK2001: unresolved external symbol "public: void __cdecl boost::log::v2s_mt_nt6::sinks::basic_text_ostream_backend<char>::flush(void)" (?flush@?$basic_text_ostream_backend@D@sinks@v2s_mt_nt6@log@boost@@QEAAXXZ)
1>cge.obj : error LNK2001: unresolved external symbol "public: __cdecl boost::log::v2s_mt_nt6::sinks::basic_text_ostream_backend<char>::basic_text_ostream_backend<char>(void)" (??0?$basic_text_ostream_backend@D@sinks@v2s_mt_nt6@log@boost@@QEAA@XZ)
1>cge.obj : error LNK2001: unresolved external symbol "public: static void __cdecl boost::log::v2s_mt_nt6::unexpected_call::throw_(char const *,unsigned __int64,char const *)" (?throw_@unexpected_call@v2s_mt_nt6@log@boost@@SAXPEBD_K0@Z)
1>cge.obj : error LNK2001: unresolved external symbol "public: __cdecl boost::log::v2s_mt_nt6::sinks::basic_text_ostream_backend<char>::~basic_text_ostream_backend<char>(void)" (??1?$basic_text_ostream_backend@D@sinks@v2s_mt_nt6@log@boost@@QEAA@XZ)
1>cge.obj : error LNK2001: unresolved external symbol "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl boost::log::v2s_mt_nt6::aux::operator<<<char,struct std::char_traits<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,class boost::log::v2s_mt_nt6::aux::id<struct boost::log::v2s_mt_nt6::aux::thread> const &)" (??$?6DU?$char_traits@D@std@@@aux@v2s_mt_nt6@log@boost@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@std@@AEAV45@AEBV?$id@Uthread@aux@v2s_mt_nt6@log@boost@@@0123@@Z)
1>cge.obj : error LNK2001: unresolved external symbol "public: void __cdecl boost::log::v2s_mt_nt6::aux::once_block_sentry::commit(void)" (?commit@once_block_sentry@aux@v2s_mt_nt6@log@boost@@QEAAXXZ)
1>D:\Projects\CloudXR\LiuGuang\src\cge\bin\x64\MTRelease\cge.exe : fatal error LNK1120: 53 unresolved externals
1>Done building project "cge.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

To support more pixel formats 支持更多像素格式

Issue

Games may use a variety of pixel formats, which Regame currently only supports generic formats.

References

Game Support

Help wanted

You can submit PR to help Regame supporting for more pixel formats, such as R10G10B10A2 that used by some samples of Unreal Engine.

Let's improve Regame together. Thank you very much!


需求

游戏可能使用不同的像素格式,目前鎏光仅支持常见格式。

相关文档

游戏支持

需要帮助

劳驾有余力者提交 PR 支持更多像素格式,比如 Unreal Engine 创建一个空白工程,其像素格式是 R10G10B10A2。

让我们一起完善鎏光。十分感谢!

README.md Error

README.md&README.zh-CN.md

Server Requirements Error

RTX1080ti -> GTX1080ti
GTX2070s -> RTX2070s

Why doesn't the cgc keyboard work?

I start cgc on macos, the game screen shows up, but the keyboard doesn't work.

  • OS: windows 11, test mode turned on, Cloud Gaming Virtual Device installed
  • Successfully compiled cgh and injected the dll into cyberpunk 2077
  • Successfully run cge and user-service

cge start command:

./cge --hardware-encoder=nvenc --keyboard-replay=cgvhid --gamepad-replay=vigem

and cgc

 ./cgc-u UMU --verification-code 123456 --view-only=0

FFmpeg deprecated av_init_packet

2021-03-17 - f7db77bd87 - lavc 58.133.100 - codec.h
Deprecated av_init_packet(). Once removed, sizeof(AVPacket) will
no longer be a part of the public ABI.
Deprecated AVPacketList.

run cge.exe -h don't find "--user-service arg" option

C:\Users\lll\Downloads\regame_v0.4\windows-x64>"C:\Users\lll\Downloads\regame_v0.4\windows-x64\cge.exe" -h
KSYUN Edge Cloud Gaming Engine v0.4 Beta

Usage:
-h [ --help ] Produce help message
--audio-bitrate arg (=128000) Set audio bitrate
--audio-codec arg (=libopus) Set audio codec. Select one of {libopus, aac,
opus}
--bind-address arg (=::) Set bind address for listening. eg: 0.0.0.0
--disable-keys arg Disable scan codes. eg: 226,230 disable ALT;
227,231 disable WIN
--donot-present arg (=0) Tell cgh don't present
--hardware-encoder arg Set video hardware encoder. Select one of
{amf, nvenc, qsv}
--gamepad-replay arg (=none) Set gamepad replay method. Select one of
{none, cgvhid, vigem}
--keyboard-replay arg (=none) Set keyboard replay method. Select one of
{none, cgvhid}
--mouse-replay arg (=none) Set mouse replay method. Select one of {none,
cgvhid}
--log-level arg (=info) Set logging severity level. Select one of
{trace, debug, info, warning, error, fatal}
-p [ --port ] arg (=8080) Set the service port
--video-bitrate arg (=1000000) Set video bitrate
--video-codec arg (=h264) Set video codec. Select one of {h264, h265,
hevc}, h265 == hevc
--video-gop arg (=180) Set video gop. [1, 500]
--video-preset arg Set preset for video encoder. For AMF, select
one of {speed, balanced, quality}; For NVENC,
select one of {p1, p2, p3, p4, p5, p6, p7,
slow, medium, fast}; For QSV, select one of
{veryfast, faster, fast, medium, slow, slower,
veryslow}; otherwise, select one of
{ultrafast, superfast, veryfast, faster, fast,
medium, slow, slower, veryslow, placebo}
--video-quality arg (=23) Set video quality. [0, 51], lower is better, 0
is lossless

完善 AMF 和 QSV 支持

目前在做其它更紧急项目,鎏光社区版只能做到修修 bug。

您如果有测试 AMD 和 Intel 的硬编码,欢迎提 PR 到 develop 分支。

Crash Dump for `cge`

Our project team has been upgraded from one member to two, so we can, and should, add more quality assurance features.

I thought about adding a crash handler to cge first.

cgc 的源码不在仓库里

您好,
我拉了源码,尝试编译客户端cgc 工程但是找不到header 和cpp 的代码了,是我没找对地方吗?

Remote Desktop Support

Hello,

Thanks for this great product !
I was wondering if this product, will support displaying desktops instead of games on the opensource side, it'll be a good fit for people working from home, and accessing my windows PC easily from a small computer

Thanks a lot

engine.cpp raise string type error

Commid hash: 3f9fa85

Source file: engine.cpp

Error message: Severity Code Description Project File Line Suppression State
Error C2679 binary '=': no operator found which takes a right-hand operand of type 'boost::urls::string_view' (or there is no acceptable conversion) cge D:\Projects\CloudXR\LiuGuang\src\cge\cge\engine.cpp 84

Source code:

user_service_target_ = u.encoded_path();

should the above line be changed to something like this?

user_service_target_ = std::string(u.encoded_path().data(), u.encoded_path().size());

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.