流媒体
文章平均质量分 89
kmcfly
故不积蹞步,无以至千里;不积小流,无以成江海。
展开
-
FLV, TS, MP4封装格式大小比较
对于相同的音视频内容,使用三种不同的封装格式,则文件体积从大到小依次为TS -> MP4 -> FLV FLV和MP4封装格式的文件大小基本相等。例如:对于同一个文件,采用相同的编码设置,封装为不同的格式[root@localhost ffmpeg-2.1.1]# ffmpeg -i test_wei.flv -t 10 -vcodec libx264 -x2转载 2017-03-02 16:54:52 · 12738 阅读 · 0 评论 -
视频 ,音频打时间戳的方法
一 固定帧率1. 视频时间戳 pts = inc++ *(1000/fps); 其中inc是一个静态的,初始值为0,每次打完时间戳inc加1. 在ffmpeg,中的代码为 pkt.pts= m_nVideoTimeStamp++ * (m_VCtx->time_base.num * 1000 / m_VCtx->time_base.den);转载 2015-12-11 15:16:12 · 2551 阅读 · 0 评论 -
ffplay的音视频同步分析
以前工作中参与了一些音视频程序的开发,不过使用的都是芯片公司的SDK,没有研究到更深入一层,比如说音视频同步是怎么回事。只好自己抽点时间出来分析开源代码了,做音视频编解码的人都知道ffmpeg,他在各种音视频播放软件当中已经使用很多了。当然,这里不是来分析音视频播放软件,如果真的想学习,自己可以研究一下ffmpeg自带的一个简单播放器ffplay,在这里不对ffplay做详细分析,只拿出来他的音视转载 2015-12-15 16:22:21 · 761 阅读 · 0 评论 -
FFMPEG之TimeBase成员理解
FFMPEG的很多结构中有AVRational time_base;这样的一个成员,它是AVRational结构的typedef struct AVRational{ int num; /// int den; ///} AVRational;AVRational这个结构标识一个分数,num为分数,den为分母。 实际上time_base的意转载 2015-12-14 17:34:48 · 752 阅读 · 0 评论 -
FFMPEG结构体分析:AVFormatContext
原文http://blog.csdn.net/leixiaohua1020/article/details/14214705版权声明:本文为博主原创文章,未经博主允许不得转载。注:写了一系列的结构体的分析的文章,在这里列一个列表:FFMPEG结构体分析:AVFrameFFMPEG结构体分析:AVFormatContextF转载 2015-12-14 11:16:43 · 329 阅读 · 0 评论 -
pts dts yin shi pin tong bu
以前使用ffmpeg都是从网上找代码,然后直接使用,但是这样不是长久之计,所以想从源码提示开始学习。大概知道pts,dts是用于音视频同步的,那么他们是怎么使音视频同步的?为什么需要两个参数?难道一个参数不可以吗?ffmpeg描述dts: * Presentation timestamp in AVStream->time_base units; the time at which转载 2015-12-14 16:34:38 · 566 阅读 · 0 评论 -
FFMPEG中的时间问题
[cpp] view plaincopy"font-family: Arial, Helvetica, sans-serif;">视频的显示和存放原理 [cpp] view plaincopy对于一个电影,帧是这样来显示的:I B B P。现在我们需要在显示B帧之前知道P帧中的信息。因此,帧可能会按照这样的方式来转载 2015-12-11 17:23:29 · 763 阅读 · 0 评论 -
DTS和PTS的解释(FFMPEG、HLS相关)
FFmpeg里有两种时间戳:DTS(Decoding Time Stamp)和PTS(Presentation Time Stamp)。 顾名思义,前者是解码的时间,后者是显示的时间。要仔细理解这两个概念,需要先了解FFmpeg中的packet和frame的概念。FFmpeg中用AVPacket结构体来描述解码前或编码后的压缩包,用AVFrame结构体来描述解码后或编码前的信号帧。 对于视转载 2015-12-11 16:26:55 · 1222 阅读 · 0 评论 -
Rtmpdump
NAMErtmpdump − RTMP streaming media clientSYNOPSISrtmpdump −r url [−n hostname] [−c port] [−l protocol] [−S host:port] [−a app] [−t tcUrl] [−p pageUrl] [−s swfUrl] [−f flashVer] [−u auth]转载 2015-08-20 15:17:10 · 399 阅读 · 0 评论 -
Linux下安装FFMPEG 编译 以及基本的Demo开发
1.首先去官网下载ffmpeg最新版ffmpeg.2.3.1 version2.原创 2014-08-05 15:49:56 · 7216 阅读 · 2 评论 -
HTTP Live Streaming直播
HTTP Live Streaming直播(iOS直播)技术分析与实现 不经意间发现,大半年没写博客了,自觉汗颜。实则2012后半年,家中的事一样接着一样发生,实在是没有时间。快过年了,总算忙里偷闲,把最近的一些技术成果,总结成了文章,与大家分享。 前些日子,也是项目需要,花了一些时间研究了HTTP Live Streaming(HLS)技术,并实现了一个HLS编码器HLSL转载 2015-12-02 14:33:15 · 560 阅读 · 0 评论 -
rtmp+fms rtmp 视频发布环境
1.rtmp 推流 fp_send1 = fopen("cuc_ieschool.h264", "rb"); //初始化并连接到服务器 while(1) { bool bConnect = RTMP264_Connect("rtmp://127.0.0.1:1234/live/stream");//("rtmp://localhost/publishlive/livestream原创 2015-12-03 10:42:49 · 2095 阅读 · 0 评论 -
linux下搭建生成HLS所需的.ts和.m3u8文件
要想利用HLS来实现视频的在线播放,就得需要将一个完整的视频文件切割成多个ts视频流,然后利用m3u8的索引文件来播放。在Mac下,苹果提供了streamingTools的工具,里面有mediafilesegmenter和mediastreamsegmenter来分别实现文件和直播流的切割,一行命令直接就可以将输入的原始视频文件导出成几个ts和索引文件,直接就可以用了。但是一般服务器都是基转载 2015-12-04 10:34:53 · 868 阅读 · 0 评论 -
搭建简单hls直播测试服务
经过实践,通过h5 video 直接m3u8直播, ios 是都没有问题的。android 4.2以上才基本上没问题。4.2以下的各品牌有些问题需要做不同的兼容。HTTP Live Streaming(缩写是 HLS)是一个由苹果公司提出的基于HTTP的流媒体网络传输协议。是苹果公司QuickTime X和iPhone软件系统的一部分。它的工作原理是把整个流分成一个个小的基于HTTP的文件转载 2016-09-19 14:53:13 · 9747 阅读 · 0 评论 -
最简单的基于FFMPEG的封装格式转换器(无编解码)
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]=====================================================最简单的基于FFmpeg的封装格式处理系列文章列表:最简单的基于FFmpeg的封装格式处理:视音频分离器简化版(demuxer-simple)最简单的基于转载 2016-03-08 16:51:29 · 326 阅读 · 0 评论 -
视音频数据处理入门:FLV封装格式解析
=====================================================视音频数据处理入门系列文章:视音频数据处理入门:RGB、YUV像素数据处理视音频数据处理入门:PCM音频采样数据处理视音频数据处理入门:H.264视频码流解析视音频数据处理入门:AAC音频码流解析视音频数据处理入门:FLV封装格式解析视音转载 2016-03-08 14:28:46 · 476 阅读 · 0 评论 -
视音频数据处理入门:UDP-RTP协议解析
=====================================================视音频数据处理入门系列文章:视音频数据处理入门:RGB、YUV像素数据处理视音频数据处理入门:PCM音频采样数据处理视音频数据处理入门:H.264视频码流解析视音频数据处理入门:AAC音频码流解析视音频数据处理入门:FLV封装格式解析视音转载 2016-03-08 14:15:46 · 904 阅读 · 0 评论 -
视音频数据处理入门:AAC音频码流解析
=====================================================视音频数据处理入门系列文章:视音频数据处理入门:RGB、YUV像素数据处理视音频数据处理入门:PCM音频采样数据处理视音频数据处理入门:H.264视频码流解析视音频数据处理入门:AAC音频码流解析视音频数据处理入门:FLV封装格式解析视音转载 2016-03-08 14:09:04 · 590 阅读 · 1 评论 -
视音频数据处理入门:H.264视频码流解析
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]=====================================================视音频数据处理入门系列文章:视音频数据处理入门:RGB、YUV像素数据处理视音频数据处理入门:PCM音频采样数据处理视音频数据处理入门:H.264转载 2016-03-08 14:08:25 · 980 阅读 · 1 评论 -
FFMpeg处理RTMP流的总结
FFMpeg处理RTMP流有两种方式: 一个是使用自带的RTMP代码功能; 一个是使用第三方库librtmp;下面就这两种方式的一些使用和差异做了个总结;一、自带RTMP代码功能FFmpeg自带的RTMP代码只支持RTMP协议,不支持rtmpt,rtmpe,rtmpte和rtmps协议;命令行设置如下:1. 将RTMP流原样保存成文件# ./ffmpeg -转载 2015-12-07 14:31:18 · 1501 阅读 · 0 评论 -
HLS系统快速部署指南
作者:阿宝 版本:1.0.0 日期:2015-06-10介绍在开源环境下,实现HLS直播系统,较为常见的有两种方式,nginx+nginx-rtmp-module 或 SRS,这里采用前者,同时配合ffmpeg来实现。 本文是在 武爱敏博客 的基础上补充完善而成,在此一并表示感谢。goto环境系统:CentOS 6.6 x64 软件: yasm-1.3.转载 2015-12-04 17:07:21 · 1000 阅读 · 0 评论 -
最简单的基于librtmp的示例:发布(FLV通过RTMP发布)
=====================================================最简单的基于libRTMP的示例系列文章列表:最简单的基于librtmp的示例:接收(RTMP保存为FLV)最简单的基于librtmp的示例:发布(FLV通过RTMP发布)最简单的基于librtmp的示例:发布H.264(H.264通过RTMP发布)转载 2015-12-04 10:18:45 · 652 阅读 · 1 评论 -
为什么要使用RTP
2014-02-06 20:49 628人阅读 评论(0) 收藏 举报一提到流媒体传输、一谈到什么视频监控、视频会议、语音电话(VOIP),都离不开RTP协议的应用,但当大家都根据经验或者别人的应用而选择RTP协议的时候,你可曾想过,为什么我们要使用RTP来进行流媒体的传输呢?为什么我们一定要用RTP?难道TCP、UDP或者其他的网络协议不能达到我们的要求么?本文就是根据我在R转载 2015-07-20 16:23:31 · 458 阅读 · 0 评论 -
linux rtp 编程JRTLIB
Linux下的实时流媒体编程(RTP,RTCP,RTSP)2 (2010-04-30 20:07:18)转载▼标签: 杂谈分类: RTPRTP 是目前解决流媒体实时传输问题的最好办法,如果需要在Linux平台上进行实时流媒体编程,可以考虑使用一些开放源代码的RTP库,如LIBRTP、 JRTPLIB等。JRTPLIB是转载 2015-07-20 16:15:30 · 1188 阅读 · 0 评论 -
播放器设计与开发 相关目录
本文根据DawnLightPlayer的开发经验写成。DawnLithtPlayer是今天3月份开始,和maddrone一起在业余时间开发的一个跨平台,多线程的播放器,主要是在Linux下面开发的,文中所用示例代码均截自其中。 DawnLightPlayer目前可以运行在Linux和Windows系统上,并使用VC和Python开发了GUI,支持大部分的音视频文件格式和网络流,另外新增对CM转载 2014-07-13 17:08:24 · 418 阅读 · 0 评论 -
ffmpeg 函数介绍
本文对在使用ffmpeg进行音视频编解码时使用到的一些函数做一个简单介绍,我当前使用的ffmpeg版本为:0.8.5,因为本人发现在不同的版本中,有些函数名称会有点小改动,所以在此有必要说明下ffmpeg的版本号。 ffmpeg本人也是刚接触,本文将采用累加的方法逐个介绍我使用到的函数,如有不妥之处,还望谅解! 头文件引入方法:extern "C"{#inc转载 2014-08-05 11:46:25 · 483 阅读 · 0 评论 -
ffmpeg开发指南(使用 libavformat 和 libavcodec)
Ffmpeg 中的Libavformat 和 libavcodec库是访问大多数视频文件格式的一个很好的方法。不幸的是,在开发您自己的程序时,这套库基本上没有提供什么实际的文档可以用来作为参考(至少我没有找到任何文档),并且它的例程也并没有太多的帮助。这种情况意味着,当我在最近某个项目中需要用到 libavformat/libavcodec 库时,需要作很多试验来搞清楚怎样使用它们。这里是转载 2014-07-11 14:48:07 · 681 阅读 · 0 评论 -
ffmpeg 分离音频 保存
#include #include #include "libavutil/avstring.h"//修改colorspace.h中的inline为__inline#include "libavutil/colorspace.h"#include "libavutil/pixdesc.h"#include "libavutil/imgutils.h"#include "libavut转载 2014-07-29 16:32:47 · 1656 阅读 · 0 评论 -
linux安装编译ffmpeg
1、下载ffmpeg。下载网址:http://www.ffmpeg.org/download.html2、解压缩tar -zxvf ffmpeg-2.0.1.tar.gz3、配置,生成Makefile./configure --enable-shared --disable-yasm --prefix=/usr/local/ffmpeg如果执行结果不对,可以根据提示信息,并转载 2014-08-04 16:23:45 · 397 阅读 · 0 评论 -
ffmpeg 新老接口问题及对照集锦
ffmpeg 新老接口问题及对照集锦分类: ffmpeg 2014-03-19 17:42 341人阅读 评论(0)收藏 举报fmpeg源码包里面有个apichangs文档,里面有各种接口改变的记录,如果你发现接口不能用了,可以去搜索那个文档,可以找到对应的新接口,然后到新接口对应的头文件中找到说明文字网上很多关于ffmpeg (转载 2014-08-05 14:25:15 · 439 阅读 · 0 评论 -
如何用FFmpeg编写一个简单播放器详细步骤介绍(转载)
FFMPEG是一个很好的库,可以用来创建视频应用或者生成特定的工具。FFMPEG几乎为你把所有的繁重工作都做了,比如解码、编码、复用和解复用。这使得多媒体应用程序变得容易编写。它是一个简单的,用C编写的,快速的并且能够解码几乎所有你能用到的格式,当然也包括编码多种格式。唯一的问题是它的文档基本上是没有的。有一个单独的指导讲了它的基本原理另外还有一个使用doxygen生成的文档。这就是为什么转载 2014-07-11 14:51:15 · 1222 阅读 · 0 评论 -
基于live555中的liveMedia库的client开发流程 此博文包含图片
基于live555中的liveMedia库的client开发流程 转载▼如今流媒体无处不在,而主流流媒体服务器为Realworks、Windows Media Server、Apple Darwin server, 而客户端程序,即包括会话建立、接收以及解码播放,则百花齐放,如何利用一种开源的代码实现自己的流媒体客户端,同时可以支持新的媒体格式呢?这是本文重转载 2014-07-02 09:20:23 · 1622 阅读 · 0 评论 -
收藏博客
1.流媒体 视频 编解码 相关http://www.cnblogs.com/mcodec/category/213431.html原创 2014-07-13 18:42:49 · 400 阅读 · 0 评论 -
视频监控之 关键帧
关键帧就是独立桢,不以其他桢图像做参考,在mepg标准中图像桢的参考关系如下图像类型及其相互关系(参考关系如图的箭头所示)MPEG将图像分成四种类型:I、P、B、DI图像是帧内编码图像,它不参考其他任何图像而独立编码P图像是前向预测编码图像,相对于前一参考图像进行有运动补偿的预测编码B图像是双向预测编码图像,需要前向和后向的参考图像作运动补偿D图像的目的是提供一种简单的,但原创 2014-08-23 16:21:13 · 1911 阅读 · 0 评论 -
RTSP - RTP over TCP
Normally, RTSP provide streaming over UDP. By nature, UDP is a better choice as it provides robust streaming capability for media. However, it is unlikely to use UDP for streaming over the Internet.转载 2015-07-08 23:08:17 · 720 阅读 · 0 评论 -
nginx + rtmp 搭建流媒体服务器
Nginx RTMP 功能研究分类: 视频 流媒体 nginx2012-12-26 18:09 31125人阅读 评论(2) 收藏 举报目录(?)[+] Nginx-RTMP功能调研1. RTMP协议介绍...22.RTMP server.32.1当前的流媒体server.32.2Wowza功能...33.Nginx-base转载 2015-07-19 18:08:28 · 14624 阅读 · 0 评论 -
nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器
分类: 流媒体2015-04-17 09:03 959人阅读 评论(0) 收藏 举报流媒体服务器ffmpegnginxrtmp视频流Nginx本身是一个非常出色的HTTP服务器,FFMPEG是非常好的音视频解决方案.这两个东西通过一个nginx的模块nginx-rtmp-module,组合在一起即可以搭建一个功能相对比较完善的流媒体服务器.这个流媒体服务器可以支转载 2015-07-30 10:49:57 · 754 阅读 · 0 评论 -
FFmpeg常用基本命令
1.分离视频音频流ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流ffmpeg -i input_file -acodec copy -vn output_file_audio //分离音频流2.视频解复用ffmpeg –i test.mp4 –vcodec copy –an –f m4转载 2015-08-24 10:39:48 · 406 阅读 · 0 评论 -
用EasyDarwin开发分布式流媒体服务器
http://www.easydarwin.org/article/EasyDarwin/22.html我介绍的是如何在DSS的基础上进行改造,分别开发成为分布式流媒体系统中的设备接入服务(设备主动注册上线)与流媒体分发服务。大家肯定会奇怪,DSS怎么改造成设备接入服务呢,其实,以DSS的架构,完全可以改造成大部分类型的服务器系统,而且流媒体服务只是DSS的几个功能模块,其转载 2015-07-14 12:52:35 · 1335 阅读 · 0 评论 -
rtmp 协议分析及交互过程
RTMP流媒体播放过程分类: RTMP2013-09-15 11:19 13039人阅读 评论(9) 收藏 举报播放RTMP协议本文描述了从打开一个RTMP流媒体到视音频数据开始播放的全过程。注意:RTMP中的逻辑结构RTMP协议规定,播放一个流媒体有两个前提步骤:第一步,建立一个网络连接(NetConnection);第二步,建立一个网转载 2015-07-05 18:22:21 · 10036 阅读 · 0 评论