Package Details: wemeet-bin 3.19.2.400-3

Git Clone URL: https://aur.archlinux.org/wemeet-bin.git (read-only, click to copy)
Package Base: wemeet-bin
Description: Tencent Video Conferencing, tencent meeting 腾讯会议
Upstream URL: https://source.meeting.qq.com/download-center.html
Keywords: tencent-meeting wemeet
Licenses: unknown
Provides: tencent-meeting, wemeet
Submitter: sukanka
Maintainer: sukanka (AvianaCruz)
Last Packager: sukanka
Votes: 69
Popularity: 1.81
First Submitted: 2021-09-03 04:21 (UTC)
Last Updated: 2024-09-11 13:37 (UTC)

Pinned Comments

xuwd1 commented on 2024-11-21 07:39 (UTC) (edited on 2024-12-03 09:47 (UTC) by xuwd1)

KDE/GNOME/Hyprland wayland下屏幕共享已经实现(非虚拟相机). 请见AUR包wemeet-wayland-screenshare-git

AvianaCruz commented on 2023-08-13 13:57 (UTC)

原生 Wayland 下无法使用摄像头,无法直接进行屏幕共享。如有上述需求请使用 wemeet-x11 启动。

sukanka commented on 2022-07-15 15:09 (UTC) (edited on 2022-12-07 14:13 (UTC) by sukanka)

如果遇到提示更新,可先下载,然后标记过期时提供新版本的 4位版本号+md5 (不是 sha512)

请直接标记过期,而不是在评论区贴新版md5与版本号。

(deb 包可在 /tmp/Temp 下找到) 版本号为四位(如3.10.0.401): 解压 deb包中的 control.tar.xz 打开其中的 control 文件,找到 Version: 3.10.0.401 即为新的版本号。

arm 版本有时候与应用内不一致,这是由于 x86版本更新了,但是 arm 版没更新,静待更新即可(欢迎提供 md5+版本号)

sukanka commented on 2022-05-02 03:28 (UTC) (edited on 2023-08-13 13:40 (UTC) by sukanka)

  • 如果有音频相关的问题,请务必说明使用的是 pulseaudio 还是 pipewire-pulse
  • wayland下不支持屏幕共享(原本甚至不支持wayland)。
  • pulseaudio 杂音的解决方法:拖动系统音量条(不是腾讯会议里面的)到0再调回来. 每次这样操作就能好了, thank @Kimiblock
  • 如果无法启动,并且报错提示包含 LoadCustomFont(),请尝试执行 mkdir -p $HOME/.config/fontconfig
  • wayland 下要使用摄像头,请使用 wemeet-x11启动。

Latest Comments

« First ‹ Previous 1 .. 6 7 8 9 10 11 12 13 14 15 16 .. 32 Next › Last »

AvianaCruz commented on 2023-01-02 08:47 (UTC)

@kumax 这个是为了防止腾讯会议获取 CPU 信息,所以没问题。

ystyle commented on 2022-12-27 06:58 (UTC)

用不了,打开就开始卡了,然后什么都点不了,再然后就界面都花了

AvianaCruz commented on 2022-12-22 07:57 (UTC) (edited on 2022-12-26 09:14 (UTC) by AvianaCruz)

写了个过虚拟音频设备检测的补丁,不知道需要的人多不多。

@sukanka 你觉得集成到包里合适吗?

#include <dlfcn.h>
#include <pulse/introspect.h>
#include <pulse/subscribe.h>
#include <string.h>

typedef pa_operation *(*wrap_pa_get_sink_by_name_t)(pa_context *c,
                                                    const char *name,
                                                    pa_sink_info_cb_t cb,
                                                    void *userdata);
typedef pa_operation *(*wrap_pa_get_sink_by_index_t)(pa_context *c,
                                                     uint32_t idx,
                                                     pa_sink_info_cb_t cb,
                                                     void *userdata);
typedef pa_operation *(*wrap_pa_get_sink_list_t)(pa_context *c,
                                                 pa_sink_info_cb_t cb,
                                                 void *userdata);

static wrap_pa_get_sink_by_name_t wrap_orig_get_sink_info_by_name;
static pa_sink_info_cb_t wrap_orig_sink_info_by_name_cb;

static wrap_pa_get_sink_by_index_t wrap_orig_get_sink_info_by_index;
static pa_sink_info_cb_t wrap_orig_sink_info_by_index_cb;

static wrap_pa_get_sink_list_t wrap_orig_get_sink_list;
static pa_sink_info_cb_t wrap_orig_sink_info_list_cb;

static void wrap_get_sink_info_callback(pa_context *c, const pa_sink_info *i,
                                        int eol, void *userdata,
                                        pa_sink_info_cb_t orig_cb) {
  if (i && !(i->flags & PA_SINK_HARDWARE)) {
    pa_sink_info sink_info[sizeof(pa_sink_info)];
    memcpy(sink_info, i, sizeof(pa_sink_info));
    sink_info->flags |= PA_SINK_HARDWARE;

    orig_cb(c, sink_info, eol, userdata);
  } else {
    orig_cb(c, i, eol, userdata);
  }
}

static void wrap_get_sink_info_by_name_callback(pa_context *c,
                                                const pa_sink_info *i, int eol,
                                                void *userdata) {
  wrap_get_sink_info_callback(c, i, eol, userdata,
                              wrap_orig_sink_info_by_name_cb);
}

static void wrap_get_sink_info_by_index_callback(pa_context *c,
                                                 const pa_sink_info *i, int eol,
                                                 void *userdata) {
  wrap_get_sink_info_callback(c, i, eol, userdata,
                              wrap_orig_sink_info_by_index_cb);
}

static void wrap_get_sink_info_list_callback(pa_context *c,
                                             const pa_sink_info *i, int eol,
                                             void *userdata) {
  wrap_get_sink_info_callback(c, i, eol, userdata, wrap_orig_sink_info_list_cb);
}

pa_operation *pa_context_get_sink_info_list(pa_context *c, pa_sink_info_cb_t cb,
                                            void *userdata) {
  if (!wrap_orig_get_sink_list) {
    wrap_orig_get_sink_list = dlsym(RTLD_NEXT, "pa_context_get_sink_info_list");
  }
  wrap_orig_sink_info_list_cb = cb;

  return wrap_orig_get_sink_list(c, wrap_get_sink_info_list_callback, userdata);
}

pa_operation *pa_context_get_sink_info_by_index(pa_context *c, uint32_t idx,
                                                pa_sink_info_cb_t cb,
                                                void *userdata) {
  if (!wrap_orig_get_sink_info_by_index) {
    wrap_orig_get_sink_info_by_index =
        dlsym(RTLD_NEXT, "pa_context_get_sink_info_by_index");
  }
  wrap_orig_sink_info_by_index_cb = cb;

  return wrap_orig_get_sink_info_by_index(
      c, idx, wrap_get_sink_info_by_index_callback, userdata);
}

pa_operation *pa_context_get_sink_info_by_name(pa_context *c, const char *name,
                                               pa_sink_info_cb_t cb,
                                               void *userdata) {
  if (!wrap_orig_get_sink_info_by_name) {
    wrap_orig_get_sink_info_by_name =
        dlsym(RTLD_NEXT, "pa_context_get_sink_info_by_name");
  }
  wrap_orig_sink_info_by_name_cb = cb;

  return wrap_orig_get_sink_info_by_name(
      c, name, wrap_get_sink_info_by_name_callback, userdata);
}

ljl3937 commented on 2022-12-21 09:24 (UTC) (edited on 2022-12-22 07:51 (UTC) by ljl3937)

出现找不到libre2.so.9的问题,但是系统里已经安装了libre2.so.10,请问有人遇到吗?该怎么解决呢? 现在,我装了旧版本的re2,还是报找不到libre2.so.9

Universebenzene commented on 2022-12-20 08:48 (UTC)

@Chrisckey 一说我才发现为什么这个提交把qtwebengine的依赖给撤了?

Chrisckey commented on 2022-12-20 04:17 (UTC)

  • 軟體:
local/wemeet-bin 3.12.0.400-5
    Tencent Video Conferencing, tencent meeting 腾讯会议
  • 系統:
OS: Arch Linux x86_64
Host: 20S0A008CD ThinkPad T14 Gen 1
Kernel: 6.0.12-arch1-1
  • 安裝問題: 使用 rofi 或 dmenu 打開 wemeet 無響應,使用命令行打開 wemeet 報錯如下:
Error while loading shared libraries: libQt5WebEngineWidgets.so.5: cannot open shared object file: No such file or directory
  • 解決方案:
yay -S qt5-webengine
  • 建議: 可能需要將 qt5-webengine 設置爲 dependency.

MemoryShadow commented on 2022-12-20 01:05 (UTC) (edited on 2022-12-23 00:51 (UTC) by MemoryShadow)

3.12.0.400-5 (+43 3.16)这个版本存在内存泄漏, 才一小会已经吃掉我8G内存了

不仅如此, 似乎还存在某个死循环, 存在长时间的卡死, CPU占用长时间106%以上

经过排查, 问题定位在了携带密码的房间, 当你有其他设备处于需要密码的房间时, 打开此客户端就会开始产生内存泄漏的问题

官方回复: 预计在3.14版本解决该问题

JackMane commented on 2022-12-19 02:21 (UTC)

点开后闪退,rm -rf ~/.local/share/wemeetapp解决问题,谢谢大佬

AvianaCruz commented on 2022-12-16 11:30 (UTC) (edited on 2022-12-16 11:31 (UTC) by AvianaCruz)

@sukanka hook SSL_get_peer_certificate 也有助于解决部分崩溃(主要是文件传输)。

具体方法:

$ gcc -O2 -fPIC -shared -o libwrap.so wrap.c
$ LD_PRELOAD=./libwrap.so wemeet 

wrap.c:

#include <stddef.h>
void *SSL_get_peer_certificate(const void *s) { return NULL; }