中文 | 英文
一个简单的基于 UDP 组播的网络课堂软件 Demo,包含基本的多媒体传输。仅适用于局域网。
-
基于 UDP 组播 实现了基本的多媒体传输功能,包括摄像头、桌面共享,语音、立体声混音设备等数据传输。
-
支持 1080p@30Hz 或 720p@60Hz 视频传输。(对于 CPU 和 网络带宽 要求较高)
-
支持摄像头、声音输入输出设备动态切换。
-
支持摄像头分辨率调节。
-
支持音频输入输出流音量调节。(仅调节 应用程序 音量,音频设备全局音量由系统控制)
-
支持刷新可用设备列表。
-
支持屏幕共享时使用白板和屏幕标注。
-
支持多线程收发数据,避免单线程造成 GUI 卡顿。
-
支持文件传输,基于 TCP 协议。
-
支持文本消息发送。
-
支持学生签到表导出。
-
使用无线网卡时,UDP 组播极为 不稳定 ,收发数据包均存在严重丢包问题。推荐使用 有线网卡 。
-
目前摄像头和桌面画面由 CPU(?)直接编码为 JPEG 格式并缩放进行传输,原始画面分辨率高于 1080p 会造成卡顿。
-
Linux 下获取的音频/视频设备名称 不明确 (由设备驱动决定),声音设备列表中大多数设备不可用。(多数是声卡硬件原始预留的端口,未连接任何物理设备)
-
可用设备列表不能实时刷新,使用设备过程中移除设备可能造成程序崩溃,新插入设备不会自动识别,需要关闭对应功能后才能刷新设备列表。
- 尝试使用 ffmpeg 对视频流和音频流进行编码,降低 CPU 占用。
该项目为大学本科毕业设计,仅供学习交流使用。