第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.调试运行,推流端能正常捕获摄像头图像并预览,播放端可以正常播放摄像头画面并听到声音则大功告成。

相关推荐
卡提西亚3 小时前
C++笔记-25-函数模板
c++·笔记·算法
Hi202402173 小时前
消除FFmpeg库的SONAME依赖
linux·ffmpeg
R&L_201810014 小时前
C++之内联变量(Inline Variables)
c++·c++新特性
艾思软件-app开发公司4 小时前
多平台视频下载工具的实现原理与技术实践, 免费下载视频下载工具
音视频·视频·视频下载·视频下载工具
IT阳晨。4 小时前
【QT开发】交叉编译QT程序在ARMLinux平台上运行
c++·qt·交叉编译·armlinux·代码移植
派大星爱吃猫5 小时前
C++隐藏的this指针(详解)
c++·this指针
虾..5 小时前
C++ 哈希
开发语言·c++·哈希算法
liu****5 小时前
14.日志封装和线程池封装
linux·开发语言·c++
将编程培养成爱好5 小时前
C++ 设计模式《统计辅助功能》
开发语言·c++·设计模式·访问者模式
一匹电信狗7 小时前
【C++】封装红黑树实现map和set容器(详解)
服务器·c++·算法·leetcode·小程序·stl·visual studio