Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Z
ZLMediaKit
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
张翔宇
ZLMediaKit
Commits
f84038fa
Commit
f84038fa
authored
6 years ago
by
xiongziliang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更新README
parent
68d4d31e
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
29 行增加
和
18 行删除
+29
-18
README.md
+29
-18
没有找到文件。
README.md
查看文件 @
f84038fa
...
...
@@ -5,7 +5,8 @@
-
基于C++11开发,避免使用裸指针,代码稳定可靠;同时跨平台移植简单方便,代码清晰简洁。
-
打包多种流媒体协议(RTSP/RTMP/HLS),支持协议间的互相转换,提供一站式的服务。
-
使用epoll+线程池+异步网络IO模式开发,并发性能优越。
-
只实现主流的的H264+AAC流媒体方案,代码精简,脉络清晰,适合学习。
-
已实现主流的的H264+AAC流媒体方案,代码精简,脉络清晰,适合学习。
-
编码格式与框架代码解耦,方便自由简洁的添加支持其他编码格式
-
代码经过大量的稳定性、性能测试,可满足商用服务器项目。
-
支持linux、macos、ios、android、windows平台
...
...
@@ -53,6 +54,7 @@
## 后续任务
-
添加支持H265
-
添加rtsp推流功能
## 编译要求
...
...
@@ -143,23 +145,32 @@
- 作为播放器:
```
MediaPlayer::Ptr player(new MediaPlayer());
player->setOnPlayResult(
[
](const SockException &ex) {
InfoL << "OnPlayResult:" << ex.what();
});
player->setOnShutdown(
[
](const SockException &ex) {
ErrorL << "OnShutdown:" << ex.what();
});
player->setOnVideoCB(
[
&
](
const
H264Frame &frame){
//在这里解码H264并显示
});
player->setOnAudioCB(
[
&
](
const
AdtsFrame &frame){
//在这里解码AAC并播放
});
//支持rtmp、rtsp
(
*
player)
[
RtspPlayer::kRtpType
]
= PlayerBase::RTP_TCP;
player->play("rtsp://admin:jzan123456@192.168.0.122/");
EventPoller::Instance().runLoop();
MediaPlayer::Ptr player(new MediaPlayer());
weak_ptr
<MediaPlayer>
weakPlayer = player;
player->setOnPlayResult(
[
weakPlayer
](
const
SockException &ex) {
InfoL << "OnPlayResult:" << ex.what();
auto strongPlayer = weakPlayer.lock();
if (ex || !strongPlayer) {
return;
}
auto viedoTrack = strongPlayer->getTrack(TrackVideo);
if (!viedoTrack) {
WarnL << "没有视频Track!";
return;
}
viedoTrack->addDelegate(std::make_shared<FrameWriterInterfaceHelper>([](const Frame::Ptr &frame) {
//此处解码并播放
}));
});
player->setOnShutdown([](const SockException &ex) {
ErrorL << "OnShutdown:" << ex.what();
});
//支持rtmp、rtsp
(*player)[RtspPlayer::kRtpType] = PlayerBase::RTP_TCP;
player->play("rtsp://admin:jzan123456@192.168.0.122/");
```
-
作为代理服务器:
```
...
...
This diff is collapsed.
Click to expand it.
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论