【今晚公开课】:利用webtransport进行现场视频流注入

ed4afc6fce04319b6305e234ecb4db74.gif 点击上方“LiveVideoStack”关注我们


WebTransport是一种基于HTTP/3(QUIC)的新型网络传输协议(初版协议发表于2019年)。通常与 之相提并论的协议包括Websocket和WebRTC data channel。WebTransport同时具备双向通信, 传输可靠性(WebTransport stream),传输安全性,跨互联网的穿透性等优点。如果在其下层使用 HTTP/3 datagram,WebTransport还能实现快速,低延迟的数据传输(WebTransport datagram)。因为具备以上各优点,WebTransport在video streaming领域的应用也颇具潜力。今晚19:30,LiveVideoStack邀请到了Pluto TV软件架构师 张博,本次分享将提出一种基于WebTranspor的源视频流注入方法 (a method for live stream ingest via WebTransport)。该方法可以实现安全,低延迟,跨互联网的源流注入,且因为WebTransport基于 HTTP/3,而能够被方便高效地部署在现有video infrastructure之中。

0a549ccff06370331c494f551a063428.png

讲师信息:

张博,现供职于美国Paramount Global集团旗下的Pluto TV,担任负责视频编码和播放系统设计 的软件架构师。在此之前,他还曾供职于其它视频技术公司,如Fubo TV, Brightcove, Ericsson media solution。他在Brightcove公司期间,还担任过多个国际视频标准制定协会的委员,包括 MPEG, INCITS L3.1, DASH industry forum, CTA-WAVE,并参与MPEG-DASH和MPEG-CMAF技 术标准的制定工作。他还曾参与开发Brightcove公司著名的Zencoder编码系统,以及开源视频播 放器Video.js。他曾在视频技术和通信网络技术研究领域发表十余篇论文。其中一篇曾获得2011 年ACM MSWiM会议的最佳论文奖。他本科毕业于华中科技大学,硕士毕业于美国University of Cincinnati,博士毕业于美国George Mason Univeristy, 均获得计算机科学学位。

⏰ 活动时间:2022.08.16 | 19:30

🚀 观看方式:

  1. 扫描海报二维码,或点击【阅读原文】报名,进群参与嘉宾Q/A~

  2. 关注「LiveVideoStack」视频号预约直播(预约后开播会提醒哦~)

*如果您有兴趣想成为我们的公开课讲师,请联系 editors@livevideostack.com,告诉我们您想输出的内容。

*往期公开课回放及更多信息可访问:https://www.livevideostack.cn/video/

点击「阅读原文」立即报名!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用 OpenCV 播放 RTSP 视频,您需要用 FFmpeg 获取视频,并将每一帧转换为 OpenCV 可读取的格式。以下是一个简单的 Python 代码示例,展示了如何使用 FFmpeg 和 OpenCV 播放 RTSP 视频: ```python import cv2 import ffmpeg # RTSP 地址 url = 'rtsp://xxx.xxx.xxx.xxx:xxxx' # 使用 FFmpeg 获取视频 stream = ffmpeg.input(url) stream = ffmpeg.output(stream, 'pipe:', format='rawvideo', pix_fmt='rgb24') process = ffmpeg.run_async(stream, pipe_stdout=True) # 使用 OpenCV 播放视频 while True: # 读取一帧视频 in_bytes = process.stdout.read(1920*1080*3) if not in_bytes: break # 将视频转换为 OpenCV 格式 frame = numpy.frombuffer(in_bytes, numpy.uint8).reshape([1080, 1920, 3]) # 显示视频帧 cv2.imshow('frame', frame) if cv2.waitKey(1) & 0xFF == ord('q'): break # 释放资源 process.stdout.close() cv2.destroyAllWindows() ``` 在这个示例中,我们首先使用 FFmpeg 获取 RTSP 视频,并将其转换为裸视频格式(rawvideo),然后通过管道(pipe)将视频传输给 OpenCV。在循环中,我们不断读取视频帧,并将其转换为 OpenCV 可读取的格式,最后使用 `cv2.imshow()` 函数显示视频帧。 需要注意的是,这个示例仅适用于 RGB24 格式的视频,如果您需要处理其他格式的视频,可能需要修改一些参数和代码。另外,这个示例还没有加入异常处理和错误处理,您需要自行添加以保证程序的稳定性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值