更新时间:2022-08-18 GMT+08:00
示例-输出
本示例展示了多种输出端的接口调用,在使用前请确保各种输出端已连接并可用,若您的某种输出端条件不具备,请将示例代码当中相应的代码注释掉或者删除,再运行示例代码。输出模块示例如下所示:
#! /usr/bin/python3.7 import hilens import cv2 import numpy as np import wave def run(): # 显示到HDMI接口的显示器 # 目前只支持一路数据显示到HDMI,多个技能同时显示到HDMI会报错 disp0 = hilens.Display(hilens.HDMI) # 推流到地址为rtmp://192.168.1.1/stream的服务器 disp1 = hilens.Display(hilens.RTMP, "rtmp://192.168.1.1/stream") # 把视频写到文件,hilens.H264_FILE生成的文件是只包括h264编码的裸视频流文件 # 并且没有限制文件大小,建议仅作为调试使用 disp2 = hilens.Display(hilens.H264_FILE, hilens.get_workspace_path() + "video.h264") # hilens.get_workspace_path()返回技能工作区目录,详细介绍请参考资源管理模块 # 构造一个本地摄像头视频采集器 cap = hilens.VideoCapture() # 显示画面到HDMI显示设备 disp0.show(cap.read()) # 上传视频video.h264到obs # 先生成h264格式的视频文件 disp2.show(cap.read()) # 上传到obs hilens.upload_file_to_obs("video", hilens. get_workspace_path() + "video.h264", "write") # 把1234追加到obs的test4文件 hilens.upload_buffer_to_obs("test4", "1234", "append") # 通过缓存区数据上传图片到obs # 转换成BGR frame = cap.read() img_bgr = cv2.cvtColor(frame, cv2.COLOR_YUV2BGR_NV21) # 把当前图片按照jpg格式进行编码 img_encode = cv2.imencode(".jpg", img_bgr)[1] # 通过upload_bufer上传缓存区图片,图片格式与编码格式保持一致 hilens.upload_bufer("img.jpg", img_encode, "write") # 播放音频文件 audio_out = hilens.AudioOutput() audio_out .play_aac_file("test.aac", 6) if __name__ == '__main__': hilens.init("hello") run() hilens.terminate()
父主题: 输出模块