![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
直播技术
文章平均质量分 88
RichChane
时隔多年后,再次出发
展开
-
将H264与AAC打包Ipad可播放的TS流的总结(h5的实现)
由于要在crtmpserver中实现Http Live Streaming ,本人花了接近3个星期的时间,研究将H264与AAC打包为TS流并能在Ipad上通过HTML5播放,由于没有任何现成代码可供参考,打包代码全部手写,打包格式主要参考ISO/ICE 18318-1.pdf。期间碰到很多问题,走了不少弯路,符合标准的TS不一定能在Ipad上播放,但是Ipad上播放的TS一定是符合标准的,可以说转载 2016-06-13 10:50:57 · 3016 阅读 · 0 评论 -
m3u8详解
一、概念1. Playlist file 一个M3U的 Playlist 就是一个由多个独立行组成的文本文件,每行由回车/换行区分。每一行可以是一个URI 空白行或是以”#“号开头的字符串,并且空格只能存在于一行中不同元素间的分隔。 一个URI 表示一个媒体段或是”variant Playlist file“(最多支持一层嵌套,即一个mm3u8文件中嵌套另一个m3u原创 2016-06-22 11:43:01 · 34643 阅读 · 0 评论 -
iOS RTMP 视频直播开发笔记(1)----- 采集摄像头图像
这里简单说下 iOS 的摄像头采集。首先初始化AVCaptureSession,说到Session,有没有人想到AVAudioSession呢?12// 初始化 AVCaptureSession_session = [[AVCaptureSession alloc] init];设置采集的 Video 和 Audio 格式,这两个是分开设置的,也就是说,你可以只采集视频原创 2016-06-06 12:30:28 · 2189 阅读 · 1 评论 -
iOS RTMP 视频直播开发笔记(5)------- iOS H.264 实时硬编码实现原理
网上有两个实现,GDCL – AVEncoder 和 IFVideoPicker。IFVideoPicker 使用发现还有些问题,例如视频帧不连续(丢帧),简单调试后由于时间原因放弃,选择使用AVEncoder。不过其项目中有不少关于 MP4 和 FLV 文件格式处理的相关细节,值得看看。这里谈下它们的实现原理:想要采用硬件加速编码视频,苹果提供的只有 AVAssetWri原创 2016-06-06 15:22:41 · 1628 阅读 · 0 评论 -
iOS RTMP 视频直播开发笔记(4) ---- 视频清晰度 BP,EP,MP,HP
iOS的Video参数中有一个叫做AVVideoProfileLevelKey的参数,说明太简单,只说了NSString, H.264 only,只好自己Google了。既然是H.264专用参数,那么参数名很可能是专有名词,查查看。这货代表了画质级别,从低到高分别是BP、EP、MP、HP:BP-Baseline Profile:基本画质。支持I/P 帧,只支持无交错(Pro原创 2016-06-06 15:19:00 · 1924 阅读 · 0 评论 -
iOS RTMP 视频直播开发笔记(3) --- 与帧相关的概念
H264是一种高压缩率的编码标准,如何压缩嘞?一般的视频采集都是25帧/秒,也就是每秒截图25次,其实每一张图片的内容都相差不大,压缩的办法就是利用算法,只将每张图片变动差异化的部分保存下来,这样视频文件就小多了。三种帧在H264协议里定义了三种帧,完整编码的帧叫I帧,参考之前的I帧生成的只包含差异部分编码的帧叫P帧,还有一种参考前后的帧编码的帧叫B帧。H264采用的核心算原创 2016-06-06 15:05:46 · 1238 阅读 · 0 评论 -
iOS RTMP 视频直播开发笔记(2)----关于MP4及H.264
虽然我们不需要了解详细的编码实现细节,但对于文件格式和相关名词的了解,对于开发仍然是非常必要的。由于之后的 iOS 编码实现中需要首先生成 MP4 视频文件,然后从 MP4 文件中提取 NALU 交给下一步做处理,因此这里首先介绍一下 MP4 和 H.264 的相关知识吧。MP4 是一种视频容器格式,而 H.264 是一种图像编码标准。2.1 了解 MP4 文件格式本节原创 2016-06-06 14:23:57 · 2345 阅读 · 0 评论 -
nginx安装篇
概述Mac安装RTMP服务器过程记录下来!一、安装Homebrew执行命令: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 如果已经安装过,而想要卸载: ruby -e "$(curl -fsSL http原创 2016-06-27 11:09:47 · 1257 阅读 · 0 评论 -
nginx使用篇
使用 nginx 和 rtmp 模块 ,可以很容易地搭建一个视频直播和点播服务器出来。 首先,看一下最经典的参考文献: How to set up your own private RTMP server using nginx1. 安装 nginx 和 rtmp 模块有关 nginx 的编译和安装比较简单,这里就不介绍了,看参考文献。这里提示以下几点:(1)原创 2016-06-27 10:57:07 · 612 阅读 · 0 评论 -
ios流媒体直播整个框架介绍(HLS、RTSP)
一、HTTP(WebService)基于HTTP的渐进下载Progressive Download流媒体播放仅是在完全下载后再播放模式基础上做了一些小的改进。与下载播放模式中必须等待整个文件下载完毕后才能开始播放不同,渐进下载客户端在开始播放之前仅需等待一段较短的时间用于下载和缓冲该媒体文件最前面的一部分数据,之后便可以一边下载一边播放。在正式开始播放之前的这一小段缓冲应使得后续即使在网络较为转载 2016-06-22 18:43:30 · 12085 阅读 · 0 评论 -
HTTP Live Streaming直播(iOS直播)技术分析与实现
不经意间发现,大半年没写博客了,自觉汗颜。实则2012后半年,家中的事一样接着一样发生,实在是没有时间。快过年了,总算忙里偷闲,把最近的一些技术成果,总结成了文章,与大家分享。 前些日子,也是项目需要,花了一些时间研究了HTTP Live Streaming(HLS)技术,并实现了一个HLS编码器HLSLiveEncoder,当然,C++写的。其功能是采集摄像头与麦克风,实时进行H.26转载 2016-06-06 11:34:48 · 4982 阅读 · 2 评论 -
搭建流媒体服务器
Nginx搭建hls流媒体服务器 Nginx搭建rtmp流媒体服务器 搭建 Http Dynamic Streaming 点播/直播服务器转载 2016-06-22 15:47:59 · 489 阅读 · 0 评论