流媒体
coolboywjun
这个作者很懒,什么都没留下…
展开
-
音视频同步(播放)原理
每一帧音频或视频都有一个持续时间:duration:采样频率是指将模拟声音波形进行数字化时,每秒钟抽取声波幅度样本的次数。。正常人听觉的频率范围大约在20Hz~20kHz之间,根据奈奎斯特采样理论,为了保证声音不失真,采样频率应该在40kHz左右。常用的音频采样频率有8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz、48kHz等,如果采用更转载 2015-09-01 15:42:24 · 413 阅读 · 0 评论 -
Mp4文件格式解析与Mp4文件分割
MP4文件格式的解析,以及MP4文件的分割算法 mp4应该算是一种比较复杂的媒体格式了,起源于QuickTime。以前研究的时候就花了一番的功夫,尤其是如何把它完美的融入到视频点播应用中,更是费尽了心思,主要问题是处理mp4文件庞大的“媒体头”。当然,流媒体点播也可以采用flv格式来做,flv也可以封装H.264视频数据的,不过Adobe却不推荐这么做,人家说毕竟mp4才是H.264最佳转载 2017-12-05 17:02:23 · 417 阅读 · 0 评论 -
如何分离MP4、FLV等格式视频为H264码流
参考http://blog.csdn.net/leixiaohua1020/article/details/11800877在分离H.264码流的时候,直接存储AVPacket后的文件可能是不能播放的。如果视音频复用格式是TS(MPEG2 Transport Stream),直接存储后的文件是可以播放的。复用格式是FLV,MP4则不行。经过长时间资料搜索发现,F转载 2017-12-05 16:53:33 · 1845 阅读 · 0 评论 -
H264编码封装成MP4格式
一、概述本文讲述的是对H264编码且封装成MP4格式的视频流进行RTP打包过程时需要了解的一些基本知识。二、H264的基础知识1.H264的编码格式H.263 定义的码流结构是分级结构,共四层。自上而下分别为:图像层(picturelayer)、块组层(GOB layer)、宏块层(macroblock layer)和块层(block layer)。而与H.263转载 2017-12-05 16:40:34 · 25939 阅读 · 1 评论 -
mp4文件格式解析
准备安装mediaInfo、QTAtomViewer.exe、MP4info.exe等软件视频一些参数封装格式:我也不太清楚编码格式:我也不太清楚分辨率:图像的长和宽。帧率:一秒播放的图片数,如15fps、30fps,体现在画面的流畅度。码率:压缩后每秒显示的图片数据量,通俗地说,就是流量。如298kbps,体现在视频文件的大小和画质。转载 2017-12-05 16:36:20 · 263 阅读 · 0 评论 -
音视频中时间戳增量计算
先介绍音视频中几个基本概念:采样率:采样率就是每秒钟抽取图像或声波幅度样本的次数。比如音频采样率8k,表示1s有8000次采样。 帧率:帧率就是每秒显示帧数。比如30fps标识1秒显示30帧图像。 时间戳单位:时间戳计算的单位不为秒之类的单位,而是由采样频率所代替的单位,这样做的目的就是为了是时间戳单位更为精准。比如说一个音频的采样频率为8000HZ,那么我们可以把时间原创 2017-12-02 14:48:13 · 3532 阅读 · 4 评论 -
ffmpeg中音视频同步浅析
音视频同步原理[ffmpeg]ffmpeg对视频文件进行解码的大致流程:1. 注册所有容器格式和CODEC: av_register_all()2. 打开文件: av_open_input_file()3. 从文件中提取流信息: av_find_stream_info()4. 穷举所有的流,查找其中种类为CODEC_TYPE_VIDEO5. 查找对应的解码器: avcode原创 2017-12-02 14:09:57 · 401 阅读 · 1 评论 -
如何实现视频的快进快退功能(整理)
最近在研究视频的播放的快进快退功能,先把相关的调研结果整理一下,做个记录。裸的H264码流,如果实现快进快退必须基于 I 帧才能实现:在播放前对整个码流进行统计,总共有多少帧,所有的 I 帧在什么位置。在播放的时候,再根据用户快进或快退的位置判断相邻最近的 I 帧在什么位置,然后从那一个 I 帧开始解码播放。H.264 要准确确定 I 帧比较麻烦。一个相对有效的方法是:对 slic转载 2017-07-25 15:51:39 · 11995 阅读 · 1 评论 -
H264—MP4格式及在MP4文件中提取H264的SPS、PPS及码流
一、MP4格式基本概念MP4格式对应标准MPEG-4标准(ISO/IEC14496) 二、MP4封装格式核心概念1 MP4封装格式对应标准为 ISO/IEC 14496-12(信息技术 视听对象编码的第12部分: ISO 基本媒体文件格式/Information technology Coding of audio-visual objects Part 12转载 2017-07-19 09:23:37 · 377 阅读 · 0 评论 -
直播-拉流和推流概述 转载
拉流(播放):根据协议类型(如RTMP、RTP、RTSP、HTTP等),与服务器建立连接并接收数据;解析二进制数据,从中找到相关流信息;根据不同的封装格式(如FLV、TS)解复用(demux);分别得到已编码的H.264视频数据和AAC音频数据;使用硬解码(对应系统的API)或软解码(FFMpeg)来解压音视频数据;经过解码后得到原始的视频数据(转载 2017-06-14 10:21:14 · 1172 阅读 · 0 评论 -
jitter buffer QoS的解决方案
本文主要介绍一种QoS的解决方案,文章来自博客园RTC.Blacker,欢迎关注微信公众号blacker,更多详见www.rtc.help QoS出现的背景:而当网络发生拥塞的时候,所有的数据流都有可能被丢弃;为满足用户对不同应用不同服务质量的要求,就需要网络能根据用户的要求分配和调度资源,对不同的数据流提供不同的服务质量:1、对实时性强且重要的数据报文优先处理;转载 2017-06-09 08:47:14 · 470 阅读 · 0 评论 -
通俗的解释mp4文件格式
一直想写一篇文章来描述一下mp4文件格式的组织情况,一开始笔者也是通过在百度搜“mp4文件格式解析” 或“mp4文件格式详解” 或者说的牛X一点就是"mp4文件格式剖析",最后一大堆box把我看晕了,对于box内容的理解确实对于mp4文件格式的了解有很大帮助,但是很不幸,这些文章都是堆叠abox:abox的描述,实在是让人捉摸不透。诚然,box是为了实现某些功能,或者达到目的而产生的。今天我就来写转载 2017-07-10 16:53:23 · 1604 阅读 · 1 评论 -
FFMPEG--最简单的视频网站(点播、直播)
本文记录一个最简单的视频网站系统。此前做过一些基于JavaEE中的 SSH (Strut2 + spring + hibernate)的网站系统,但是一直没有做过一个视频网站系统,所以就打算做一个“精简”的视频网站系统,以方便以后测试以及学习使用。本视频网站支持直播(通过RTMP实现)和点播(通过HTTP实现)。为了保持精简,这个视频网站系统仅制作了网络视频的管理功能(增删改查),以及相关的参数配转载 2017-06-05 10:22:34 · 1841 阅读 · 0 评论 -
H265(HEVC) nal 单元头介绍及rtp发送中的fu分组发送详解
转自:http://blog.csdn.NET/water1209/article/details/43706525首先来介绍下h265(HEVC)nal单元头,与h264的nal层相比,h265的nal unit header有两个字节构成,如下图所示:从图中可以看出hHEVC的nal包结构与h264有明显的不同,hevc加入了nal所在的时间层的ID,取转载 2017-05-27 16:18:13 · 478 阅读 · 0 评论 -
实现WebRTC的几个想法
不借助第三方应用,快速且安全地在浏览器中传输视频——这有可能实现吗?根据你的需求,有不止一种方式能够将WebRTC添加到你的站点之中。WebRTC(Web实时通信,Web Real-Time Communication)是一项开源技术,用来在Web浏览器中实现实时直接的多媒体通信功能。它能够在两个或更多的人之间建立端到端的连接,这对于传输媒体(音频和视频流)来说是非常合适的。这项技术已经在转载 2017-05-27 10:02:22 · 2102 阅读 · 1 评论 -
WebRTC学习笔记_Demo收集
1. WebRTC学习1.1 WebRTC现状本人最早接触WebRTC是在2011年底,那时Google已经在Android源码中加入了webrtc源码,放在/external/webrtc/,但是Android并没有用到它,更没有被浏览器使用。当时试图在Android 2.3(Gingerbread)高通平台的手机上用H.264 硬件codec替换掉WebRTC缺转载 2017-05-27 09:55:50 · 393 阅读 · 0 评论 -
ffmpeg主要数据结构及其之间的关系
一、FFMPEG数据结构 AVCodecContext:这是一个描述编解码器上下文的数据结构,包含了众多编解码器需要的参数信息。 如果是单纯使用libavcodec,这部分信息需要调用者进行初始化;如果是使用整个FFMPEG库,这部分信息在调用 av_open_input_file和av_find_stream_info的过程中根据文件的头信息及媒体流内的头转载 2015-10-22 14:00:46 · 512 阅读 · 0 评论 -
使用FEC改善UDP(RTP)音视频传输效果
实时音视频领域UDP才是王道 在 Internet 上进行音视频实时互动采用的传输层方案有TCP(如:RTMP)和UDP(如:RTP)两种。TCP协议能为两个端点间的数据传输提供相对可靠的保障,这种保障是通过一个握手机制实现的。当数据传给接收者时,接收者要检查数据的正确性。发送者只有接到接收者的正确性认可才能发送下一个数据块。如果没有接到确认报文,这个数据块就得重转载 2017-12-06 19:32:32 · 782 阅读 · 0 评论