多任务管理工具
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"}
用户评论