c++ d3d 透视源码_c++之流媒体传输--Live555源码解读

Live555是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。Live555实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+、DV、JPEG视频和多种音频编码

关注+私信免费领取一份99的视频学习资料哦

d2839e9488b32a532784f4a07095bf5a.png

流媒体服务器搭建

框架:

Live555获取网络相机流ffmpeg对获取网络相机码流转码视频码流的高效显示

1

一、 live555、ffmpeg及D3D的简介

Live555是一个标准流媒体传输的跨平台C++开源项目。

Ffmpeg是一个音视频解码的开源项目。

DerictX9是微软的游戏引擎库。

二、 搭建开发环境

a) Live555的源码编译及环境配置

b) Ffmpeg的SDK获取

c) D3D9的SDK获取

三、 框架搭建

a) Live555获取相机码流的方法

a.1 支持rtsp相机的流URL地址

海康相机含账户密码的url地址格式:

Rtsp://用户名:密码@码流地址

主码流:rtsp://admin:[email protected]/MPEG-4/ch2/main/av_stream

子码流:rtsp://admin:[email protected]/MPEG-4/ch2/main/av_stream

a.2 live555获取rtsp流

Live555 提供了一个简单的客户端工程,testRTSPClient。Live55获取流的过程:打开URL进入工作调度循环,当连接失败时会调用shutdownStream断开流,并执行清理工作。只有当eventLoopWatchVariable为非零时才会停止工作调度循环。需要注意的是live555支持子会话,只有当所有子会话都停止时,才会将eventLoopWatchVariable设置为非零值,退出工作调度循环。参考testRTSPClient的shutdownStream函数。

// All subsequent activity takes place within the event loop:

env->taskScheduler().doEventLoop(&eventLoopWatchVariable);

// This function call does not return, unless, at some point in time, “eventLoopWatchVa

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值