HTTP Live Streaming (HLS) 视频直播技术

手把手讲解RTX5操作系统在GD32F407上的移植 然后将GD32F4xx_Demo_Suites_V2.6.4\GD32407V_START_Demo_Suites\Projects\01_GPIO_Running_LED下面的main函数复制到我们的项目文件夹中;打开对应GD32407V_START_Demo_Suites的文件夹下面的Utilities,复制gd32f407v_start.c和gd32f407v_start.h文件到一开始项目保存的文件夹下面;为了验证我们的操作系统是否被正确添加,是否能够正确运行,我们需要添加示例文件; 阅读详情

        常用的流媒体协议主要有 HTTP 渐进下载和基于 RTSP/RTP 的实时流媒体协议,这二种基本是完全不同的东西,目前比较方便又好用的我建议使用 HTTP 渐进下载的方法。在这个中 apple 公司的 HTTP Live Streaming 是这个方面的代表。它最初是苹果公司针对iPhone、iPod、iTouch和iPad等移动设备而开发的流.现在见到在桌面也有很多应用了, HTML5 是直接支持这个。

我们可以看看 HTTP Live Streaming 是怎么样工作的。平时的直播技术中,播放模式中必须等待整个文件下载完才行,在 HLS 技术中 Web 服务器向客户端提供接近实时的音视频流。但在使用的过程中是使用的标准的 HTTP 协议,所以这时,只要使用 HLS 的技术,就能在普通的 HTTP 的应用上直接提供点播和直播。
要详细了解原理,我们先看看这个所需要的步骤。

        视频采集 ->编码器 -> 流分割 -> 普通 web 服务(索引文件和视频文件) -> 客户端

        内容准备的过程大约二种,一是视频采集,编码器首先将摄像机实时采集的音视频数据压缩编码为符合特定标准的音视频基本流,也可以拿编码完了的文件,有一点必须保证,就是一定要使用H.264视频和AAC音频,因为发明这个的是苹果公司,只支持这个。然后给这些封装成成为符合MPEG-2(MPEG 2 TS、MPEG2 PS之所以使用这个,主要是因为声音和视频会交织在一起,也会有关键帧来让视频可以直接播放).

        流分割部分在这个中,比起 RTSP 之类和普通点播的最大不同,就是他会给 MPEG-2 分割成很多个 ts 的文件。分割过程大多是按时间来切,根据国外的资料,建议切 10s 一个的文件,如果码流高可以 5 秒一次。在分割还有一点不同,就是这时流分割器会生成一个含有指向这些小TS文件指针的索引文件
        所以这个文件也必须在 web 服务器上,不能少。每多 10s 时,就会多一个 ts 文件,所以索引也会根着修改成最新的几段视频。

最后,这些切分了的小的一系列的 ts 文件,放到普通的 web 服务器中就行了。这时在 CDN 中也是一样,因为请求这些文件会使用标准的 HTTP 协议。索引文件后缀是.m3u8 ,索引文件采用扩展的M3U播放列表格式,其实就一文本。
内部的视频的地址会是如下

http://media.example.com/s_96ksegment1.ts
http://media.example.com/s_96ksegment2.ts
http://media.example.com/s_96ksegment3.ts

所以这时可以直接做 Cache 和直接放到 Web 服务器中,简单方便。
如果 MIME 的信息输出不对的话,记的要修改这加入 ts 和 m3u8 的后缀支持

.m3u8 application/x-mpegURL
.ts video/MP2T

最后就是客户端,如果是 HTML 直接在 HTML5 中直接支持这种视频可以使用如下标签

<video tabindex="0" height="480" width="640"> 
<source src="/content1/content1.m3u8"> 
</video>

        如果是应用客户端(Safari QuickTime之类),就得装软件来支持,客户端会根据选择的流的索引来下载文件,当下载了最少二段后开始播放。直接 m3u8 的索引结束。另外,HTTP可以设计成的自适应比特率流,在不同网络环境,选择下载不同码流的视频。

        所以整个 HTTP Live Streaming 无论是直播还是点播,都能做到近似实时的方式来进行流播放。理论的最小时延是每个切片的长.

目前本协议加入了 IETF 的草案建议

http://tools.ietf.org/id/draft-pantos-http-live-streaming-01.txt

        如果网站也想使用这种来做视频请看 iPhone HTTP 流与 FFMpeg 和开放的源 Segmenter
http://www.ioncannon.net/programming/452/iphone-http-streaming-with-ffmpeg-and-an-open-source-segmenter/

        Akamai

http://iphone.akamai.com/

        白皮书 (http://www.akamai.com/dl/akamai/iphone_wp.pdf)

基于结构的虚拟筛选模型 gnina 从源码编译 所需要的软件安装包: 安装 CUDA 装的时候看着点,第二个要你装驱动的选择,回答N,不装。 sudo sh cuda_10.0.130_410.48_linux.run sudo vim ~/.bashrc 在 ~/.bashrc 文件最后加上 export PATH=/usr/bin:/usr/local/cuda-10.0/bin${PATH} export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:${LD_LIBRARY_PATH} source ~ 阅读详情

相关推荐

Sparse-ICP—(4) 加权稀疏迭代最近点算法(matlab版)

本文介绍了加权稀疏迭代最近点算法的实现。

点云侠的博客 627

使用Java语言搭建一个简易的局域网直播(live)系统

由于是局域网直播系统,那么最简单的情况应该也有两部分构成:录制直播和播放直播。这里我会给大家简单介绍一下我在局域网直播系统中使用到的关键技术,让大家对该系统有一个初步的认识。这个不必多说,主要用于构建开发环境,因为JavaCV的包比较大,单独下载jar包很容易漏。这个播放器是我从github上down下来的,既简洁又好看,下载地址在下文中会有。 前面简单介绍了一下核心技术,这里我会介绍整个局域网直播系统的环境如何搭建。解压nginx压缩包,将nginx-rtmp-module放到Nginx文件夹中。 将ng

summon的博客 1万+

Visual Studio Code + MCP Server + Claude Code 三件套进行 ABAP 开发

本文介绍了如何在Visual Studio Code中利用Claude Code和SAP官方提供的MCP Server进行ABAP开发。作者分享了19年ABAP开发经验,从手动编码到如今通过自然语言生成高质量代码的技术演进。详细说明了配置步骤:启用ADT MCP Server、安装Claude Code扩展、配置.claude.json文件,验证MCP Server的14个功能。通过实例演示了如何用自然语言指令让Claude Code创建包含冒泡排序实现和单元测试的ABAP,展示了MCP Server在

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1218

Java 监控直播流rtsp协议转rtmp、hlshttpflv协议返回浏览器

Java 监控直播流rtsp协议转rtmp、hlshttpflv协议返回浏览器目录。

Candyz7的博客 1万+

HLS协议及java切片相关

http://blog.csdn.net/cjsafty/article/details/7922849 说明:在写这篇文章时不知道查了多少资料不是资料不完整就是根本不能安装,网上许多资料都是转载。写这篇文章时我亲自做了测试,安装完全通过,如果有什么不对的地方欢迎拍砖  一、安装ffmpeg  操作系统:centos 5.()安装编译环境  #yum install -y

凌风探梅的专栏 3823

java spring 实现 下载hls(m3u8+ts)实时流进行合mp4和压缩

链接:HTTP Live Streaming (HLS) - 概念链接:M3U8是什么简单理解就是, m3u8文件存放着可供客户端播放TS 片段简单一点说m3u8加密技术就是将原视频分割成n个.ts文件,用一个key文件对每一个.ts文件加密,其中m3u8文件里面存储了key文件和所有的.ts文件的地址,所以我们要解密这个视频就需要以上三种文件,最后可以利用ffmpeg来合解压;

qq_41604890的博客 7208

javahls流媒体服务器

javahls流媒体服务器 1、开发的原因 一方面因为浏览器的各个厂商都在禁用flash插件导致每次观看视频流都需要授权,而移动端则完全禁用了flash。 而java版本的流媒体服务器又不多。有几个,但是文档太少。red5又不支持hls。 2、基于red5hls服务器 主要是为了学习而开发的。对1.1.1版本的red5进行了修改,再搞版本的被原作者升级到了jdk11。而目前公司还...

shiqiangdexin的博客 6660

HLSHTTP Live Streaming视频直播技术实战

技术原理 HTTP Live StreamingHLS)是苹果公司(Apple Inc.)实现的基于HTTP的流媒体传输协议,可实现流媒体的直播和点播,主要应用在iOS系统,为iOS设备(如iPhone、iPad)提供音视频直播和点播方案,它的工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些,在开始一个流媒体会话时,客户端会下载一个包含元数据的extended M3U

群鸿 3711

【流媒体】【学习笔记】HTTP Live Streaming (HLS) 视频直播技术

常用的流媒体协议主要有 HTTP 渐进下载和基于 RTSP/RTP 的实时流媒体协议,这二种基本是完全不同的东西,目前比较方便又好用的我建议使用 HTTP 渐进下载的方法。在这个中 apple 公司的 HTTP Live Streaming 是这个方面的代表。它最初是苹果公司针对iPhone、iPod、iTouch和iPad等移动设备而开发的流.现在见到在桌面也有很多应用了, HTML5 是直

维~小~尼 1253

HTTP Live Streaming (HLS) 不错的视频直播技术

常用的流媒体协议主要有 HTTP 渐进下载和基于 RTSP/RTP 的实时流媒体协议,这二种基本是完全不同的东西,目前比较方便又好用的我建议使用 HTTP 渐进下载的方法。在这个中 apple 公司的 HTTP Live Streaming 是这个方面的代表。它最初是苹果公司针对iPhone、iPod、iTouch和iPad等移动设备而开发的流.现在见到在桌面也有很多应用了, HTML5 是直

1745

[视频]HTTP Live Streaming (HLS) 不错的视频直播技术

<br />[视频]HTTP Live Streaming (HLS) 不错的视频直播技术Dec 10th, 2010Leave a comment | Trackback<br />转载本站文章请注明,转载自:扶凯[http://www.php-oa.com]<br />本文链接: http://www.php-oa.com/2010/12/10/http-live-streaming-hls.html<br /> 常用的流媒体协议主要有 HTTP 渐进下载和基于 RTSP/RTP 的实时流媒体协议,这二

星精灵的新世纪 1897

HTML5 Dev (1) Live Video Streaming Player

HTML5 Dev (1) Live Video Streaming Player 作者:CSDN 大锐哥 博客:http://blog.csdn.net/prevention 最简单的视频直播 HTML 直接支持 video 标签。 &lt;html&gt; &lt;head&gt; &lt;title&gt;HTTP Live Streaming Player&lt;/ti...

大锐哥的技术专栏 386

Http Live Streaming 实现iphone在线播放视频

本人原创,转载请注明出处:http://hi.baidu.com/lphack/blog/item/aa02f27a4de055e80bd187fa.html 本人新手,难免会出错,请各位指点!   最近要做一个项目,是通过iphone来播放工厂摄像头录制的视频达到监控设备的目的,要求可以实现点播和直播 对于视频流的操做其实一无所知,但是老同事给我开了一个头,给了我几篇文章,关于苹果htt

星精灵的新世纪 1456

HLS

1.HTTP Live Streaming (HLS) 视频直播技术     http://www.rosoo.net/a/201112/15444.html

1155

HTTP LIVE Streams

简介: HTTP LIVE Streams(HLS) 是苹果公司基于 HTTP 的流媒体传输协议,可实现流媒体的直播和点播,主要功能是为 iOS 设备提供视频直播和点播方案。HLS点播基本上就是常见的分段HTTP点播,不同点是它的分段很小。要实现HLS点播,重点在于对媒体文件分段(可以参考开源工具)      HLS 直播技术: 相对于常见的 RTMP 协议、RTSP 协议、MM

qq_35247219的博客 1万+

在Mac上搭建HLS视频直播

HTTP Live Streaming(HLS), 是苹果公司推出的视频直播协议,具体的内容可以到苹果开发者后台查看相关文档。简单地讲,就是将实时直播的视频,切割成大小基本相等的.ts 文件和一个索引文件prog_index.m3u8,然后通过索引文件来在web或者app中实现直播效果。 目标/思路本文目标:利用HLS技术,模拟一个视频直播平台。具体包括以下几个步骤: 通过VLC模拟一个直播视频的输

Jmsp's Tips 2986
上一篇: h264_aac合成flv的个人经验之谈
下一篇: Adobe将支持HTTP流媒体直播 预示着ipad将可以用flash吗?
czgwdm
博客等级 码龄17年 26粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值