hls

Xilinx HLS相关博文

北战南征 提交于 2020-01-28 15:25:10
Vivado HLS(High-level Synthesis)笔记一:HLS基本流程 Vivado HLS(High-level Synthesis)笔记二:数据类型及其初始化、复合数据类型、HLS中的C++基本运算 Vivado HLS(High-level Synthesis)笔记三:Test bench Vivado HLS(High-level Synthesis)笔记四:接口综合 Vivado HLS(High-level Synthesis)笔记五:for循环优化 Vivado HLS(High-level Synthesis)笔记六:数组优化 Vivado HLS(High-level Synthesis)笔记七:函数层面的优化 Vivado HLS(High-level Synthesis)笔记八:优化方法综述 来源: CSDN 作者: 山音水月 链接: https://blog.csdn.net/linbian1168/article/details/104099230

DTS和PTS的解释(FFMPEG、HLS相关)

隐身守侯 提交于 2020-01-25 00:53:04
转载请注明出处: http://www.cnblogs.com/fpzeng/archive/2012/07/26/dts_pts.html 原由: 近来在研究HLS(HTTP Live Streaming),以实现android上播放m3u8文件。由于TS段的切分不统一,每个视频网站给出的m3u8 playlists总有差别,在时间戳显示上有差异,所以对DTS和PTS进行了研究。 DTS和PTS是音视频同步的关键技术,同时也是丢帧策略密切相关。 dts/pts定义 dts: decoding time stamp pts: present time stamp 在ISO/IEC13818-1中制定90k Hz 的时钟,如果编码帧频是30,那么 时间戳 间隔就该是90000 / 30 = 3000。 在FFMPEG中有三种时间单位:秒、微秒和dts/pts。从dts/pts转化为微秒公式: dts* AV_TIME_BASE/ denominator 其中AV_TIME_BASE为1,000,000,denominator为90,000。 拿到m3u8播放列表后,首先进行解析。HTTP Live Streaming标准草案可以从这里 http://tools.ietf.org/html/draft-pantos-http-live-streaming-08 查看。

VideoJS播放hls视频

血红的双手。 提交于 2020-01-24 09:46:50
代码 < ! DOCTYPE html > < html lang = "en" > < head > < meta charset = "UTF-8" > < title > Title < / title > < link href = "https://vjs.zencdn.net/7.6.6/video-js.css" rel = "stylesheet" / > < ! -- If you'd like to support IE8 ( for Video . js versions prior to v7 ) -- > < script src = "https://vjs.zencdn.net/ie8/1.1.2/videojs-ie8.min.js" > < / script > < / head > < body > < video id = "my-video" class = "video-js vjs-big-play-centered" controls preload = "auto" width = "640" height = "264" data - setup = "{}" > < source src = "http://video.xuecheng.com/video/lucene_ts/lucene.m3u8" type =

[linux][nginx] 通过nginx扩展nginx-rtmp-module简单做了一个流媒体直播

一个人想着一个人 提交于 2020-01-19 01:58:14
做的过程出现很多问题,环境其实就需要nginx就可以,然后就是在播放的问题,m3u8的格式,mac直接访问就支持,苹果系统原生H5支持m3u8,还有就是手机直接访问也支持!但是其他其他系统PC端不支持,尝试了好多都不行,最后终于找到了一个支持m3u8格式H5播放(https://github.com/huangyaoxin/hLive下载就行吧JS.css加载就OK啦)! 参考:http://blog.csdn.net/zph1234/article/details/52846223 使用nginx与nginx-rtmp-module搭建流媒体服务器 一、首先就是先下载nginx-rtmp-module   官方github地址: https://github.com/arut/nginx-rtmp-module git clone https://github.com/arut/nginx-rtmp-module.git git问题:yum install git 我是下载到根目录的,看情况来就好! 二、安装:nginx nginx的官方网站为: http://nginx.org/en/download.html wget http://nginx.org/download/nginx-1.8.1.tar.gz tar -zxvf nginx-1.8.1.tar.gz cd

iOS - 直播流程,视频推流,视频拉流,简介,SMTP、RTMP、HLS、 PLPlayerKit

隐身守侯 提交于 2020-01-19 01:54:02
收藏笔记 1 . 音视频处理的一般流程: 数据采集→数据编码→数据传输(流媒体服务器) →解码数据→播放显示 1、数据采集: 摄像机及拾音器收集视频及音频数据,此时得到的为原始数据 涉及技术或协议: 摄像机:CCD、CMOS 拾音器:声电转换装置(咪头)、音频放大电路 2、数据编码: 使用相关硬件或软件对音视频原始数据进行编码处理(数字化)及加工(如音视频混合、打包封装等),得到可用的音视频数据 涉及技术或协议: 编码方式:CBR、VBR 编码格式 视频:H.265、H.264、MPEG-4等,封装容器有TS、MKV、AVI、MP4等 音频:G.711μ、AAC、Opus等,封装有MP3、OGG、AAC等 3、数据传输: 将编码完成后的音视频数据进行传输,早期的音视频通过同轴电缆之类的线缆进行传输,IP网络发展后,使用IP网络优传输 涉及技术或协议: 传输协议:RTP与RTCP、RTSP、RTMP、HTTP、HLS(HTTP Live Streaming)等 控制信令:SIP和SDP、SNMP等 4、解码数据: 使用相关硬件或软件对接收到的编码后的音视频数据进行解码,得到可以直接显示的图像/声音 涉及技术或协议: 一般对应的编码器都会带有相应的解码器,也有一些第三方解码插件等 5、播放显示: 在显示器(电视、监视屏等)或扬声器(耳机、喇叭等)里,显示相应的图像画面或声音

HTTP Live Streaming直播(iOS直播)技术分析与实现

99封情书 提交于 2020-01-19 01:07:29
http://www.cocoachina.com/industry/20140528/8584.html 前些日子,也是项目需要,花了一些时间研究了HTTP Live Streaming(HLS)技术,并实现了一个HLS编码器HLSLiveEncoder,当然,C++写的。其功能是采集摄像头与麦克风,实时进行H.264视频编码和AAC音频编码,并按照HLS的协议规范,生成分段的标准TS文件以及m3u8索引文件。通过我的HLSLiveEncoder和第三方Http服务器(例如:Nginx),成功实现了HTTP Live Streaming直播,并在iphone上测试通过。我就把这当中的一些收获写在这里。 HLS技术要点分析 HTTP Live Streaming(HLS)是苹果公司(Apple Inc.)实现的基于HTTP的流媒体传输协议,可实现流媒体的直播和点播,主要应用在iOS系统,为iOS设备(如iPhone、iPad)提供音视频直播和点播方案。HLS点播,基本上就是常见的分段HTTP点播,不同在于,它的分段非常小。要实现HLS点播,重点在于对媒体文件分段,目前有不少开源工具可以使用,这里我就不再讨论,只谈HLS直播技术。 相对于常见的流媒体直播协议,例如RTMP协议、RTSP协议、MMS协议等,HLS直播最大的不同在于,直播客户端获取到的,并不是一个完整的数据流

iOS - 直播总结(理论到实践)

坚强是说给别人听的谎言 提交于 2020-01-19 01:05:59
一、直播原理及流程 1.一个完整直播app原理 直播原理 :把主播录制的视频,推送到服务器,在由服务器分发给观众观看。 直播环节 :推流端(采集、美颜处理、编码、推流)、服务端处理(转码、录制、截图、鉴黄)、播放器(拉流、解码、渲染)、互动系统(聊天室、礼物系统、赞) 2.直播app实现流程 1.采集、2.滤镜处理、3.编码、4.推流、5.CDN分发、6.拉流、7.解码、8.播放、9.聊天互动 直播流程.png 3.直播app架构 直播架构.png 4.直播app技术点 二、直播基础知识介绍: 1.采集视频、音频 * 1.1 采集视频、音频编码框架 * AVFoundation :AVFoundation是用来播放和创建实时的视听媒体数据的框架,同时提供Objective-C接口来操作这些视听数据,比如编辑,旋转,重编码 * 1.2 视频、音频硬件设备 * CCD :图像传感器: 用于图像采集和处理的过程,把图像转换成电信号。 拾音器 :声音传感器: 用于声音采集和处理的过程,把声音转换成电信号。 音频采样数据 :一般都是PCM格式 视频采样数据 : 一般都是 YUV ,或 RGB 格式,采集到的原始音视频的体积是非常大的,需要经过压缩技术处理来提高传输效率 2.视频处理(美颜,水印) 视频处理原理 :因为视频最终也是通过GPU,一帧一帧渲染到屏幕上的,所以我们可以利用OpenGL

高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器RTMP推流服务器EasyDSS如何快速有效添加授权到期提示?

纵然是瞬间 提交于 2020-01-17 14:03:49
EasyDSS流媒体服务器软件,提供一站式的转码、点播、直播、时移回放服务,极大地简化了开发和集成的工作。 其中, 点播功能 主要包含:上传、转码、分发。 直播功能 ,主要包含:直播、录像,直播支持RTMP输入,RTMP/HLS/HTTP-FLV的分发输出;录像支持自定义保存时长、检索及下载。提供丰富的二次开发接口,基于JSON的封装及HTTP调用。提供播放鉴权、推流鉴权等安全保证。提供用户及相关权限管理配置。 如何快速有效添加EasyDSS授权到期提示 问题描述 当我们不够熟悉Vue.js时,在修改一些前端代码,往往要先观摩研究前人写的代码,然后结合自身掌握的知识去实践,调试。往往要花费一定时间,最后终有所成。在获取授权剩余天数时,我尝试定义了一个函数,返回剩余授权值如下: encryptionType() { return (day, value) => { let dayNum = day.split("Validity Time Left: ")[1].split(" day(s)")[0]; return dayNum; }; } 其返回值可以以{{encryptionType(serverInfo.Validity)}}的形式写在HTML标签内部,具体如下: <p>授权时间剩余{{encryptionType(serverInfo.Validity)}}天

HLS 编程实战记录

旧时模样 提交于 2020-01-17 09:59:22
说明: 自己以前是编写verilog代码,今年Xilinx开始大推Vitis,即用软件定义硬件,好奇就尝试了项目中一部分算法采用HLS实现,此文章仅记录尝试过程中的一些坑以及一些解决方法,欢迎大家留言指点讨论。 1. 当数组作为函数的参数的时候,如果不设置数组的大小,只是传递了一个指针,在Simulation的时候,不会报错,但是在Synthesis的时候就报错,因为不知道该指针的大小,没办法映射FPGA的资源,下面的例子如下 void example_no_label(int A[50] , int B[50]) ; 2. HLS testbench定义的一些变量最好给个初值,要不然仿真的时候会出现一些错乱值.同理也适用于CPU运行环境中。 3.Directive中的unroll意思是循环直接并行执行,flatten应用在假如有两个循环嵌套的时候,两个循环合并为一个循环执行。 4. 当出现 叠加操作,即类似下面的操作,这么修改避免了对同一个FIFO即读又写,消耗时间,即能使用内部寄存器,就不访问外部存储空间 sum=1; for(int i=0;i<10;i++){ sum=sum+i; } 修改为 A=1; for(int i=0;i<10;i++){ A=A+i; sum=A; } 5. 在testbench中读取文件的时候 必须使用绝对路 径,测试过程中,如果不使用绝对路径

hls 协议

家住魔仙堡 提交于 2020-01-16 11:28:50
HTTP Live Streaming (缩写是 HLS )是一个由苹果公司提出的基于Http协议的的 流媒体网络传输协议 。是苹果公司 QuickTime X 和 iPhone 软件系统的一部分。 它的工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率。在开始一个流媒体会话时,客户端会下载一个包含元数据的 extended M3U (m3u8) playlist 文件,用于寻找可用的媒体流 。 HLS协议的优点: 1.跨平台性:支持iOS/Android/浏览器,通用性强。 2.穿墙能力强:由于HLS是基于HTTP协议的,因此HTTP数据能够穿透的防火墙或者代理服务器HLS都可以做到,基本不会遇到被防火墙屏蔽的情况。 3.切换码率快(清晰度):自带多码率自适应,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率。客户端可以很快的选择和切换码率,以适应不同带宽条件下的播放。 3.负载均衡:HLS基于无状态协议(HTTP),客户端只是按照顺序使用下载存储在服务器的普通TS文件,做负责均衡如同普通的HTTP文件服务器的负载均衡一样简单。 HLS的缺点: 1.实时性差:苹果官方建议是请求到3个片之后才开始播放