0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

HLS协议实现

FPGA之家 来源:FPGA之家 2023-04-06 09:29 次阅读

一.HLS介绍

HLS,Http Live Streaming 是由Apple公司定义的用于实时流传输的协议,HLS基于HTTP协议实现,传输内容包括两部分,一是M3U8描述文件,二是TS媒体文件。

1、M3U8文件

用文本方式对媒体文件进行描述,由一系列标签组成。

#EXTM3U

#EXT-X-TARGETDURATION:5

#EXTINF:5,

./0.ts

#EXTINF:5,

./1.ts

#EXTM3U:每个M3U8文件第一行必须是这个tag。

#EXT-X-TARGETDURATION:指定最大的媒体段时间长度(秒),#EXTINF中指定的时间长度必须小于或等于这个最大值。该值只能出现一次。

#EXTINF:描述单个媒体文件的长度。后面为媒体文件,如./0.ts

2、TS文件

DVB定义的文件格式,用于音视频的网络传输,其中音视频按时间戳进行交织。每个数据包大小为188个字节。

二.HLS实现类结构图

0d2d6b28-d419-11ed-bfe3-dac502259ad0.png

CHLSServer:进行Socket侦听,管理所的客户端HLS请求。

CHLSClient:实现HTTP的请求响应,根据客户端请求的HLS内容,交给CHLSSource进行处理。

CHLSSourceManager:所有HLS源管理器,HLS源可以是本地的文件,也可以是来自网络或设备的实时数据源。

CHLSSource:实现具体的HLS请求,包括M3U8文件获取和TS片段的获取。

三.代码片段

0d4558be-d419-11ed-bfe3-dac502259ad0.jpg

0d54740c-d419-11ed-bfe3-dac502259ad0.jpg

0d701c5c-d419-11ed-bfe3-dac502259ad0.jpg

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 协议
    +关注

    关注

    2

    文章

    592

    浏览量

    39125
  • 数据包
    +关注

    关注

    0

    文章

    247

    浏览量

    24334
  • HLS
    HLS
    +关注

    关注

    1

    文章

    128

    浏览量

    23977

原文标题:HLS协议实现

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    探索Vivado HLS设计流,Vivado HLS高层次综合设计

    设计来满足各种约束 用不用的指令来探索多个HLS解决方案 2.实验内容 实验中文件中包含一个矩阵乘法器的实现实现两个矩阵inA和inB相乘得出结果,并且提供了一个包含了计算结果的testbench
    的头像 发表于 12-21 16:27 3537次阅读

    如何用HLS实现UART

    UART 是一种旧的串行通信机制,但仍在很多平台中使用。它在 HDL 语言中的实现并不棘手,可以被视为本科生的作业。在这里,我将通过这个例子来展示在 HLS实现它是多么容易和有趣。
    的头像 发表于 11-20 09:48 514次阅读
    如何用<b class='flag-5'>HLS</b><b class='flag-5'>实现</b>UART

    如何用HLS实现UART呢?

    UART 是一种旧的串行通信机制,但仍在很多平台中使用。它在 HDL 语言中的实现并不棘手,可以被视为本科生的作业。在这里,我将通过这个例子来展示在 HLS实现它是多么容易和有趣。
    的头像 发表于 11-20 09:50 613次阅读
    如何用<b class='flag-5'>HLS</b><b class='flag-5'>实现</b>UART呢?

    新手求助,HLS实现opencv算法加速的IP在vivado的使用

    我照着xapp1167文档,用HLS实现fast_corners的opencv算法,并生成IP。然后想把这个算法塞到第三季的CH05_AXI_DMA_OV5640_HDMI上,这个demo里
    发表于 01-16 09:22

    HTML5和HLS协议两种技术完美结合解决移动端网页播放问题

    文件。 把上述2个技术性很强的概念表述翻译下。就是说H5是一种HTML的新标准,这种新标准支持原生的video标签和video控件。因为video控件标签又支持HLS协议播放。 所以得以实现在手机移动
    发表于 06-01 14:48

    【正点原子FPGA连载】第一章HLS简介-领航者ZYNQ之HLS 开发指南

    的ARM处理器或MicroBlaze软核处理器)中的软件代码是截然不同的。在HLS中,所有的C设计都是要在可编程逻辑中实现的,也就是说,我们仍然是在进行硬件设计,只不过使用的不再是硬件描述
    发表于 10-10 16:44

    Vivado HLS实现OpenCV图像处理的设计流程与分析

    《》数据类型,这种类型用于模型化视频像素流处理,实质等同于hls::steam《》流的类型,而不是OpenCV中在外部memory中存储的matrix矩阵类型。因此,在HLS实现OpenCV的设计中
    发表于 07-08 08:30

    Vivado HLS设计流的相关资料分享

    多个HLS解决方案2.实验内容实验中文件中包含一个矩阵乘法器的实现实现两个矩阵inA和inB相乘得出结果,并且提供了一个包含了计算结果的testbench文件来与所得结果进行对比验证。...
    发表于 11-11 07:09

    HLS系列–High Level Synthesis(HLS)的端口综合2

    Interface:内存访问型的端口协议 接下来的几章,我们重点介绍下AXI接口类型如何在HLS实现,首先看Lite端口: AXI-Lite端口的实现 使用Vivado
    发表于 02-08 03:27 558次阅读
    <b class='flag-5'>HLS</b>系列–High Level Synthesis(<b class='flag-5'>HLS</b>)的端口综合2

    hls协议是什么_hls协议详细介绍

    HLS常用的流媒体协议主要有 HTTP 渐进下载和基于 RTSP/RTP 的实时流媒体协议,这二种基本是完全不同的东西,目前比较方便又好用的是用 HTTP 渐进下载方法。在这个中 apple 公司的 HTTP Live Stre
    发表于 12-08 18:04 1.6w次阅读
    <b class='flag-5'>hls</b><b class='flag-5'>协议</b>是什么_<b class='flag-5'>hls</b><b class='flag-5'>协议</b>详细介绍

    hls协议是什么?hls协议详细介绍

     摘要:HTTP Live Streaming(缩写是HLS)是一个由苹果公司提出的基于HTTP的流媒体网络传输协议。今天主要以HLS协议为中心讲述它的一些原理。
    发表于 12-10 09:25 5.6w次阅读

    使用HLS封装的缩放IP来实现视频图像缩放功能

    这里向大家介绍使用HLS封装的缩放IP来实现视频图像缩放功能。将HLS封装的缩放IP加入到OV5640图像传输系统,验证图像放大和缩小功能。
    的头像 发表于 10-11 14:21 2060次阅读

    FPGA——HLS简介

    是Vitis HLS。在Vivado 2020版本中替代原先的Vivado HLS, 功能略有差异。 HLS 的机理    简单地讲,HLS采样类似C语言来设计FPGA 逻辑。但是要
    的头像 发表于 01-15 12:10 4684次阅读

    调用HLS的FFT库实现N点FFT(hls:fft)

    HLS中用C语言实现8192点FFT,经过测试,实验结果正确,但是时序约束不到100M的时钟,应该是设计上的延时之类的比较大,暂时放弃这个方案
    的头像 发表于 07-07 09:08 1789次阅读
    调用<b class='flag-5'>HLS</b>的FFT库<b class='flag-5'>实现</b>N点FFT(<b class='flag-5'>hls</b>:fft)

    调用HLS的FFT库实现N点FFT

    HLS中用C语言实现8192点FFT,经过测试,实验结果正确,但是时序约束不到100M的时钟,应该是设计上的延时之类的比较大,暂时放弃这个方案,调用HLS中自带的FFT库(hls:f
    的头像 发表于 07-11 10:05 1034次阅读
    调用<b class='flag-5'>HLS</b>的FFT库<b class='flag-5'>实现</b>N点FFT