第8课 将推流端与播放端合并为一对一音视频聊天功能

在第二章的第7课,我们实现了一个推流端,可以把音视频推送到rtmp服务器;在第一章的第4课,我们实现了一个播放器,可以正常播放rtmp音视频流。聪明的你应该可以想到了:把推流端和播放端合并在一起,就是一个最简单的一对一的音视频聊天系统。

1.备份推流端demo7并修改demo7为demo8。

2.调整主对话框尺寸,在主对话框中参考第4课源文件添加名为IDC_playPic的Picture Control控件。

3.复制demo4中的fmlp.h和fmlp.cpp到demo8工程目录下,与fmle.h和fmle.cpp保持在同一目录。

4.将fmlp.h和fmlp.cpp导入到demo8解决方案中。

  1. 复制第4课工程主对话的drawMatOfPlay定义和方法到当前工程,并在当前工程主对话框中添加以下代码以使播放端工作:
cpp 复制代码
fmle *myFmle = new fmle();
fmlp *myFmlp = new fmlp();

4.修改fmle.cpp中的推流地址和fmlp.cpp中的播放地址使二者保持一致,如均为"rtmp://192.168.0.100/live/01";

5.调试运行,推流端能正常捕获摄像头图像并预览,播放端可以正常播放摄像头画面并听到声音则大功告成。

相关推荐
kiracrimson11 分钟前
string 容器:从 C 字符串到会自己扩容的类
开发语言·数据结构·c++·stl
程序猿编码15 分钟前
纯 C++ 手写 LLM 推理引擎:分页 KV 缓存、连续批、多卡张量并行全部内置
c++·深度学习·缓存·大模型推理·自动微分·模型推理
Android系统攻城狮28 分钟前
Linux FFmpeg深度解析之avformat_open_input调用流程与实战(一)
linux·运维·ffmpeg·车载音视频·ffmpeg音视频·音视频进阶手册
G018_star sky♬1 小时前
nodeJS他是如何用JavaScript封装C++的呢
开发语言·javascript·c++
choumin1 小时前
C++中std::move和std::forward的关系和区别
c++·std move·std forward·关系和区别
程序猿编码2 小时前
YOLOv5/v7/YOLOX 全支持:基于 TensorRT 的工业视觉推理底座详解
c++·yolo·机器学习·推理·模型推理
kyle~2 小时前
C++ 原子操作、内存模型与无锁并发编程
linux·开发语言·c++·操作系统
another heaven2 小时前
【C/C++ C++ 面向对象架构的五大特点与能力场景:封装、继承、多态、抽象与 RAII(含实战案例)】
c语言·c++·架构
代码山河2 小时前
图像基础:HSV颜色空间详解及颜色提取实战
opencv·目标检测·计算机视觉·教程
AI视频工具指南2 小时前
一个人能做 AI 短剧吗?实际要做哪些决定
人工智能·aigc·音视频·1024程序员节