更新时间:2022-02-22 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")
# 播放音频文件
hilens.play_aac_file("test.aac", 6)
if __name__ == '__main__':
hilens.init("hello")
run()
hilens.terminate()
父主题: 输出模块