02-Media-12-virtual_wbc_rtsp.py 随机位置、颜色和大小显示文本内容并同时进行RTSP推流的示例程序
virtual_wbc_rtsp.py 为用于在显示屏上显示随机位置、随机颜色和随机大小的“Hello World!,你好世界!!!”字符串的程序,同时通过RTSP流进行传输。
程序主要功能如下:
-
导入必要的模块:time(时间)、os(操作系统接口)、urandom(随机数)、sys(系统相关功能),以及自定义的媒体显示和RTSP相关模块。
-
定义显示宽度和高度,宽度为1920对齐到16的倍数,高度为1080。
-
定义display_test函数,该函数包含以下步骤:
a. 初始化显示设备(可以为VIRT虚拟屏幕,也可以设为HDMI高清接口输出的LT9611),设置宽度、高度和帧率,并设置是否连接到IDE(to_ide=True 或 to_ide=False)。
b. 配置RTSP推流的宽度和高度。
c. 初始化媒体管理器。
d. 启动RTSP推流。
e. 进行循环,在每次循环中:
- 清空图像。
- 循环10次,每次随机生成位置(x,y)、颜色(r,g,b)和字体大小(size),然后在随机位置绘制随机颜色和大度的字符串“Hello World!,你好世界!!!”。
- 将绘制好的图像显示在屏幕上。
- 等待1秒。
- 调用os.exitpoint(),这是为了允许程序在接收到退出信号时退出循环。
f. 如果捕获到KeyboardInterrupt(如Ctrl+C)或其他异常,则打印相应信息。
g. 退出循环后,停止RTSP推流,反初始化显示,设置退出点允许睡眠,等待100毫秒,最后释放媒体缓冲区。 -
程序运行入口,设置退出点并调用display_test函数进行功能演示。此时在IDE虚拟显示屏及HDMI高清接口显示屏上,可以看到相关效果。
源代码如下:
import time, os, urandom, sysfrom media.display import *
from media.media import *
from libs.WBCRtsp import WBCRtspDISPLAY_WIDTH = ALIGN_UP(1920, 16)
DISPLAY_HEIGHT = 1080def display_test():print("display test")# create image for drawingimg = image.Image(DISPLAY_WIDTH, DISPLAY_HEIGHT, image.ARGB8888)# use lcd as display output VIRT ST7701#Display.init(Display.VIRT, width = DISPLAY_WIDTH, height = DISPLAY_HEIG