-
一款能够处理多个任务的管理工具
资源介绍
1、线程池实现任务管理:包括添加/删除/查询任务。
2、特别适合耗时较长/可参数化执行的控制台程序管理,比如此工具开发之时用于流媒体协议转码。
4、可单独运行,通过第三方工具udp发生json格式的任务,也可通过外部程序调用来实现。
3、可通过配置文件进行管理,配置文件bin/config/taskServer.json(首次运行会默认生成);
{
"UDP-Listen": {--------------------UDP侦听地址及端口
"IP": "192.168.21.9",
"Port": 12354
},
"taskExcute": {--------------------任务程序文件名
"ExeFile": "toRTMP.exe",
"Params": [--------------------命令行参数表,出现的顺序将是传递给可执行程序的顺序
"action",
"rtsp",
"rtmp",
"addr",
"port"
]
}
}
4、附带的toRTMP.exe程序,用于实现从rtsp到rtmp的转码(需要搭建red5流媒体服务器,请baidu自己搭建)
5、日志文件会保存在bin/log下
6、可用于后台执行的文件格式转换、音视频格式转换、数据库导入/导出、较复杂的运算等场景。
7、协议
========================================================
RTMP服务通信协议
一、 简介
实现协议转发服务的管理:新建任务、删除任务、查询任务。
因为与WEB服务同在一个网络,采用UDP通信机制,协议文本为JSON格式。
二、 协议详情
1、 新建任务
action字段:start
rtsp字段:rtsp源地址(如果需要认证,需携带用户名密码)
rtmp字段:rtmp目标地址
2、 删除任务
action字段:stop
rtsp字段:rtsp源地址(如果需要认证,需携带用户名密码)
rtmp字段:rtmp目标地址
3、 查询任务
action字段:query
rtsp字段[可选]:rtsp源地址匹配字符串
rtmp字段[可选]:rtmp目标地址匹配字符串
addr字段:任务列表接受服务器地址
port字段:任务列表接受服务器端口
说明:rtmp服务在后台会将列表中的rtsp/rtmp地址与上述字段进行匹配。
4、 清空任务
action字段:clear
说明:rtmp服务会关闭所有已经开启的转码任务。
三、 测试用例
{"action":"start","rtsp":"rtsp://admin:admin@192.168.21.2/11","rtmp":"rtmp://localhost/live/livestream"}
{"action":"start","rtsp":"rtsp://root:root@192.168.20.7:8554/session0.mpg","rtmp":"rtmp://localhost/live/livestream2"}
{"action":"stop","rtsp":"rtsp://admin:admin@192.168.21.2/11","rtmp":"rtmp://localhost/live/livestream"}
{"action":"stop","rtsp":"rtsp://root:root@192.168.20.7:8554/session0.mpg","rtmp":"rtmp://localhost/live/livestream2"}
{"action":"query","addr":"localhost","port":3456}
{"action":"query","rtsp":"192.168.21.2","addr":"192.168.21.9","port":3456}
{"action":"query","rtmp":"localhost","addr":"localhost","port":3456}
{"action":"query","rtsp":"rtsp://admin:admin@192.168.21.6/11","rtmp":"rtmp://localhost/live/livestream"}
{"action":"clear"}
- 上一篇: 个人博客网站的设计与实现源码
- 下一篇: 直播拉流推流测试demo