3.9 RTSP 模块API手册#
前言#
概述#
本文档主要介绍K230_CanMV RTSP模块API的使用。
读者对象#
本文档(本指南)主要适用于以下人员:
技术支持工程师
软件开发工程师
缩略词定义#
简称 |
说明 |
---|
修订记录#
文档版本号 |
修改说明 |
修改者 |
日期 |
---|---|---|---|
V1.0 |
初版 |
孙小朋 |
2024-07-16 |
1. 概述#
本文档旨在介绍K230_CanMV RTSP模块API的使用方法和功能。RTSP模块是用于创建和管理RTSP服务器以及发送视频和音频数据的模块。
2. API描述#
多媒体模块提供以下RTSP接口:
multimedia.rtspserver_create
:创建RTSP服务器。multimedia.rtspserver_destroy
:销毁RTSP服务器。multimedia.rtspserver_init
:初始化RTSP服务器。multimedia.rtspserver_deinit
:反初始化RTSP服务器。multimedia.rtspserver_createsession
:创建RTSP会话。multimedia.rtspserver_destroysession
:销毁RTSP会话。multimedia.rtspserver_getrtspurl
:获取RTSP URL。multimedia.rtspserver_start
:启动RTSP服务器。multimedia.rtspserver_stop
:停止RTSP服务器。multimedia.rtspserver_sendvideodata
:向RTSP服务器发送视频数据。multimedia.rtspserver_sendaudiodata
:向RTSP服务器发送音频数据。
media.rtspserver模块提供以下RTSP接口:
media.rtspserver.__init__
:初始化RTSP服务器。media.rtspserver.start
:启动RTSP服务器。media.rtspserver.stop
:停止RTSP服务器。media.rtspserver.get_rtsp_url
:获取RTSP URL。
这些接口可用于创建和管理RTSP服务器,创建和销毁RTSP会话,向服务器发送视频和音频数据,并获取用于流媒体的RTSP URL。
2.1 multimedia.rtspserver_create#
【描述】
创建rtsp server.
【语法】
rtspserver_create()
【参数】
无
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非 0 |
失败 |
【举例】
无
【相关主题】
无
2.2 multimedia.rtspserver_destroy#
【描述】
销毁rtsp server.
【语法】
rtspserver_destroy()
【参数】
无
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非 0 |
失败 |
【举例】
无
【相关主题】
无
2.3 multimedia.rtspserver_init#
【描述】
初始化RTSP服务器。
【语法】
rtspserver_init(port)
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
port |
RTSP服务器端口号 |
输入 |
【返回值】 无
【举例】
rtspserver_init(8554)
【相关主题】
无
2.4 multimedia.rtspserver_deinit#
【描述】
反初始化RTSP服务器。
【语法】
rtspserver_deinit()
【参数】
无
【返回值】
无
【举例】
rtspserver_deinit()
【相关主题】
无
2.5 multimedia.rtspserver_createsession#
【描述】
创建RTSP会话。
【语法】
rtspserver_createsession(session_name, video_type, enable_audio)
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
session_name |
会话名称 |
输入 |
video_type |
视频类型 |
输入 |
enable_audio |
是否启用音频 |
输入 |
【返回值】
无
【举例】
rtspserver_createsession("session1", "h264", True)
【相关主题】
无
2.6 multimedia.rtspserver_destroysession#
【描述】
销毁RTSP会话。
【语法】
rtspserver_destroysession(session_name)
【参数】
session_name
:会话名称。
【返回值】
无
【举例】
rtspserver_destroysession("session1")
【相关主题】
无
2.7 multimedia.rtspserver_getrtspurl#
【描述】
获取RTSP URL。
【语法】
rtspserver_getrtspurl()
【参数】
无
【返回值】
参数名称 |
描述 |
输入/输出 |
---|---|---|
url |
RTSP URL |
输出 |
【举例】
url = rtspserver_getrtspurl()
print(url)
【相关主题】
无
2.8 multimedia.rtspserver_start#
【描述】
启动RTSP服务器。
【语法】
rtspserver_start()
【参数】
无
【返回值】
无
【举例】
rtspserver_start()
【相关主题】
无
2.9 multimedia.rtspserver_stop#
【描述】
停止RTSP服务器。
【语法】
rtspserver_stop()
【参数】
无
【返回值】
无
【举例】
rtspserver_stop()
【相关主题】
无
2.10 multimedia.rtspserver_sendvideodata#
【描述】
发送视频数据到RTSP服务器。
【语法】
rtspserver_sendvideodata(session_name, data, size, timestamp)
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
session_name |
会话名称 |
输入 |
data |
视频数据 |
输入 |
size |
数据大小 |
输入 |
timestamp |
时间戳 |
输入 |
【返回值】
无
【举例】
rtspserver_sendvideodata("session1", video_data, video_size, video_timestamp)
【相关主题】
无
2.11 multimedia.rtspserver_sendaudiodata#
【描述】
发送音频数据到RTSP服务器。
【语法】
rtspserver_sendaudiodata(session_name, data, size, timestamp)
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
session_name |
会话名称 |
输入 |
data |
视频数据 |
输入 |
size |
数据大小 |
输入 |
timestamp |
时间戳 |
输入 |
【返回值】
无
【举例】
rtspserver_sendaudiodata("session1", audio_data, audio_size, audio_timestamp)
【相关主题】
无
2.12 media.rtspserver.__init__#
【描述】
初始化RTSP服务器。
【语法】
rtspserver.__init__(session_name, port, enable_audio)
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
session_name |
会话名称 |
输入 |
port |
RTSP服务器端口号 |
输入 |
enable_audio |
是否启用音频 |
输入 |
【返回值】
无
【举例】
rtspserver = media.rtspserver(session_name="test", port=8554, enable_audio=False)
【相关主题】
无
2.13 media.rtspserver.start#
【描述】
启动RTSP服务器。
【语法】
rtspserver.start()
【参数】
无
【返回值】
无
【举例】
rtspserver.start()
【相关主题】
无
2.14 media.rtspserver.stop#
【描述】
停止RTSP服务器。
【语法】
rtspserver.stop()
【参数】
无
【返回值】
无
【举例】
rtspserver.stop()
【相关主题】
无
2.15 media.rtspserver.get_rtsp_url#
【描述】
获取RTSP URL。
【语法】
url = rtspserver.get_rtsp_url()
【参数】
无
【返回值】
参数名称 |
描述 |
输入/输出 |
---|---|---|
url |
RTSP URL |
输出 |
【举例】
url = rtspserver.get_rtsp_url()
print(url)
【相关主题】
无
3. 示例程序#
# Description: This example demonstrates how to stream video and audio to the network using the RTSP server.
#
# Note: You will need an SD card to run this example.
#
# You can run the rtsp server to stream video and audio to the network
from time import *
from media.rtspserver import * #导入rtsp server 模块
import os
import time
def rtsp_server_test():
rtspserver = RtspServer(session_name="test",port=8554,enable_audio=False) #创建rtsp server对象
rtspserver.start() #启动rtsp server
print("rtsp server start:",rtspserver.get_rtsp_url()) #打印rtsp server start
#运行30s
time_start = time.time() #获取当前时间
try:
while(time.time() - time_start < 30):
time.sleep(0.1)
os.exitpoint()
except KeyboardInterrupt as e:
print("user stop: ", e)
except BaseException as e:
sys.print_exception(e)
rtspserver.stop() #停止rtsp server
print("rtsp server stop") #打印rtsp server stop
if __name__ == "__main__":
os.exitpoint(os.EXITPOINT_ENABLE)
rtsp_server_test()
print("rtsp server done")