自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

#维多利亚的秘密#

思念着你的人所在的地方就是你的归处。。。

  • 博客(223)
  • 资源 (1)
  • 收藏
  • 关注

转载 FFMPEG源码分析(二)

ffmpeg源码分析之数据流本文主要介绍ffmpeg的数据流,在ffmpeg中主要分有三个主要用途用于媒体流的解码播放,媒体流的转换(解码之后再编码)和媒体流录制。媒体流的解码播放在ffmpeg中媒体流的解码播放流程如下图: 其主要流程为从媒体文件中读取出媒体流,然后送入媒体格式解码器(demuxer)中去除多余的外衣--媒体格式。然后送入ffmpeg的codec的decode

2013-07-31 23:36:03 507

转载 ffmpeg开发指南

FFmpeg是一个集录制、转换、音/视频编码解码功能为一体的完整的开源解决方案。FFmpeg的开发是基于Linux操作系统,但是可以在大多数操作系统中编译和使用。FFmpeg支持MPEG、DivX、MPEG4、AC3、DV、FLV等40多种编码,AVI、MPEG、OGG、Matroska、ASF等90多种解码.TCPMP, VLC, MPlayer等开源播放器都用到了FFmpeg。    一、

2013-07-31 23:35:16 711

转载 深入浅出FFMPEG(一) SDK version 0.11

数字媒体处理的基本流程认识FFMPEGFFMPEG堪称自由软件中最完备的一套多媒体支持库,它几乎实现了所有当下常见的数据封装格式、多媒体传输协议以及音视频编解码器。因此,对于从事多媒体技术开发的工程师来说,深入研究FFMPEG成为一门必不可少的工作,可以这样说,FFMPEG之于多媒体开发工程师的重要性正如kernel之于嵌入式系统工程师一般。几个小知识:

2013-07-31 23:34:27 760

转载 深入浅出FFMPEG(二) SDK version 0.11

用户接口数据结构基本概念编解码器、数据帧、媒体流和容器是数字媒体处理系统的四个基本概念。首先需要统一术语:容器/文件(Conainer/File):即特定格式的多媒体文件。媒体流(Stream):指时间轴上的一段连续数据,如一段声音数据,一段视频数据或一段字幕数据,可以是压缩的,也可以是非压缩的,压缩的数据需要关联

2013-07-31 23:32:53 626

转载 FFMPEG中的一些基本概念

容器(container):就是文件格式,在视频文件进入处理后,我们会给这个视频文件一个抽象,这个抽象就是存放这种视频文件的容器,在FFMPEG中,用来抽象文件格式的容器就是AVFormatContext;数据流(stream):数据流就是我们平时看到的多媒体数据流,它包含几种基本的数据流,包括:视频流、音频流、字幕流;按照我的理解,这三种基本的数据流在时间轴上交错放置,只有这样才能满

2013-07-31 23:31:55 578

转载 FFMPEG源码分析

以FFMPEG 1.0为参考,对FFMPEG源码分析,其中调用以H264为例一、main()中;在ffmpeg.c文件中1、OptionsContext o ={ 0 }:初始化结构体变量o,这个结构体主要是一些参数选项;初始化的结果是:整型和浮点型都为0,指针型成员都为NULL疑问是,这种初始化方式到底是:(1)初始化结构体变量的第一个成员,其他成员变量由系统采用

2013-07-31 23:29:28 1086

转载 live555 类之间的依属关系和功能分析

今天给大家分析下周末看live555的心得。首先呢,不要指望一口气把live555能够肯下,那样代码你看着看着你就会发现涉及到的类越来,很快你自然的就投入很多时间去分析作者的设计架构.再坚固的堡垒,只要咱们保持着恒心,强攻总有一天可以攻下。今天就来分析下live555中设计的几个核心类.在接收到客户端发送的Descripture命令后,服务器会创建ServerMed

2013-07-31 23:25:50 656

转载 live555源码分析-live555大致流程

今天大致分析了下live555的流程,以H264为例子进行的分析.从连接到发送RTP/RTCP数据包。首先分析呢,不能太关注细节,先整体再局部。在分析的过程中,设计到live555自己封装的一个高级类:比如迭代器,哈希表,而且这2个类在live555中运用的范围还非常的广,但是无不例外都是用链表进行实现的。后面我们会专门花时间来分析live555是如何实现迭代器和哈希表

2013-07-31 23:24:35 667

转载 live555 实现一个最简单的RTSP服务器

用live555中的库写了一个最简单的RTSPServer程序,仅用于学习目的。从下例的代码中,可以清析的明白RTSPServer的函数调用流程。[cpp] view plaincopyprint?#include   #include "liveMedia.hh"       static ServerMediaSession* createNewSMS(Usag

2013-07-31 23:22:35 1030

转载 实现RTP协议的H.264视频传输系统

1.  引言       随着信息产业的发展,人们对信息资源的要求已经逐渐由文字和图片过渡到音频和视频,并越来越强调获取资源的实时性和互动性。但人们又面临着另外一种不可避免的尴尬,就是在网络上看到生动清晰的媒体演示的同时,不得不为等待传输文件而花费大量时间。为了解决这个矛盾,一种新的媒体技术应运而生,这就是流媒体技术。流媒体由于具有启动时延小、节省客户端存储空间等优势,逐渐成为人们的首选,流媒

2013-07-31 23:21:09 605

转载 live555源码分析----H264的数据处理

现在来分析live555中关于H264的处理部分,主要包括从文件中读取数据进行并进行frame(NALU)的分割,然后对frame进行分片,这些工作都是在frame交给RTP sink之前完成的。接着上篇分析文章(RTP的打包与发送)中提到的MultiFramedRTP::packFrame函数进行分析。[cpp] view plaincopyprint?void Mu

2013-07-31 23:20:20 992

转载 RTP时间戳相关

通过RTSP建立好会话之后,就可以开始传输RTP数据和RTCP SR包了(用来同步音视频)。这两者涉及到很重要的问题:时间戳。下面是《rtp_audio_and_video_for_the_internet》上的一个时间图。TimeStamp的初始值是随即生成的,然后每一帧数据固定增加一个增量,客户端在接收到数据时,根据这个时间戳就能以正确的时间恢复(其中被分包的视频桢是没有时间戳

2013-07-31 23:16:40 873

转载 RTSP会话

首先说说程序的大体结构。这是个服务端程序,客户端用的是VLC,因此首先需要开个线程来不断监听客户端的请求,也就是RTSP的请求与应答了(其实就是监听554端口)。RTSP的指令格式很多,最小系统的指令支持做到这几个就差不多了:OPTIONS,DESCRIBE,SETUP,TEARDOWN,PALY。下面是实际的请求与应答:RTSPRecvData : OPTIONS rtsp://192.16

2013-07-31 23:10:40 759

转载 RTSP 请求响应历程举例

RTSP 请求响应过程举例RTSP 请求相应过程,R -- request  A -- responseR:OPTIONS rtsp://192.168.1.152:554/cgi-bin/rtspStream/1 RTSP/1.0CSeq: 2User-Agent: LIVE555 Streaming Media v2012.01.13A:RTSP/1.0

2013-07-31 23:07:23 706

转载 VLC测试RTSP请求,附RTSP交互流程

rtsp简介Real Time Streaming Protocol或者RTSP(实时流媒体协议),是由Real network 和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。RTSP提供一种可扩展的框架,使能够提供能控制的,按需传输实时数据,比如音频和视频文件。源数据可以包括现场数据的反馈和存贮的文件。rtsp对流媒体提供了诸如暂停,快进等控制,而它本身并不传输数

2013-07-31 22:31:34 1764

转载 RTSP协议分析(二)

以下是某省IPTV的RTSP协商过程:DESCRIBE rtsp://118.122.89.27:554/live/ch10083121594790060557.sdp?playtype=1&boid=001&backupagent=118.122.89.27:554&clienttype=1&time=20100929182111+08&life=172800&ifpricereqsnd=1

2013-07-31 18:23:46 697

转载 RTSP 协议分析 (一)

RTSP 协议分析1.概述: RTSP(Real Time Streaming Protocol),实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学、网景和RealNetworks公司提交的IETF RFC标准。该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。类似HTTP协议的流控制协议。它们都使用纯文本来发送信息,而且rtsp协议的语法也和HTTP

2013-07-31 18:23:05 571

转载 P2P 之 UDP穿透NAT的原理与实现

NAT(Network Address Translators),网络地址转换:网络地址转换是在IP地址日益缺乏的情况下产生的,它的主要目的就是为了能够地址重用。NAT分为两大类,基本的NAT和NAPT(Network Address/Port Translator)。    最开始NAT是运行在路由器上的一个功能模块。    最先提出的是基本的NAT,它的产生基于如下事实:一个私有网络(

2013-07-31 17:29:21 529

转载 RTSP协议介绍

1. 实时流协议RTSPRTSP[3]协议以客户服务器方式工作,它是一个多媒体播放控制协议,用来使用户在播放从因特网下载的实时数据时能够进行控制,如:暂停/继续、后退、前进等。因此 RTSP 又称为“因特网录像机遥控协议”。1.1.   RTSP协议简介要实现 RTSP 的控制功能,不仅要有协议,而且要有专门的媒体播放器(media player)和媒体服务器(media server

2013-07-31 17:23:48 474

转载 RTP/RTCP协议介绍

1流媒体协议       当前在Internet上传输音频和视频等信息主要有两种方式:下载和流式传输。下载情况下,用户需要先下载整个媒体文件到本地,然后才能播放媒体文件。流式传输是指传输之前首先对多媒体进行预处理(降低质量和高效压缩),然后使用缓存系统来保证数据连续正确地进行传输。使用流式传输可以边下载边观看流媒体节目,可以实现网上直播、视频会议等。目前,支持流媒体

2013-07-31 17:18:51 597

转载 视频流传输协议RTP/RTCP/RTSP/HTTP的区别

用一句简单的话总结:RTSP发起/终结流媒体、RTP传输流媒体数据 、RTCP对RTP进行控制,同步。之所以以前对这几个有点分不清,是因为CTC标准里没有对RTCP进行要求,因此在标准RTSP的代码中没有看到相关的部分。而在私有RTSP的代码中,有关控制、同步等,是在RTP Header中做扩展定义实现的。另外,RFC3550可以看作是RFC1889的升级文档,只看RFC3550即可。

2013-07-31 00:13:37 918

转载 RTSP协议详解

关于 RTSP.RTSP协议是一个非常类似HTTP协议的流控制协议。它们都使用纯文本来发送信息,而且rtsp协议的语法也和HTTP类似。Rtsp一开始这样设计,也是为了能够兼容使用以前写的HTTP协议分析代码 。这是个好消息。它们主要的区别是HTTP协议是没有状态的, http协议在发送一个命令后,连接会断开,而且命令之间没有依赖性。不同的是RTSP的命令需要知道现在正处于一个什么状态,也

2013-07-30 22:53:01 619

转载 视频流传输协议RTP/RTCP/RTSP/HTTP的区别

用一句简单的话总结:RTSP发起/终结流媒体、RTP传输流媒体数据 、RTCP对RTP进行控制,同步。之所以以前对这几个有点分不清,是因为CTC标准里没有对RTCP进行要求,因此在标准RTSP的代码中没有看到相关的部分。而在私有RTSP的代码中,有关控制、同步等,是在RTP Header中做扩展定义实现的。另外,RFC3550可以看作是RFC1889的升级文档,只看RFC3550即可。

2013-07-30 17:38:05 723

转载 live555源代码简介--

live555源代码简介liveMedia项目的源代码包括四个基本的库,各种测试代码以及IVE555 Media Server。四个基本的库分别是UsageEnvironment&TaskScheduler,groupsock,liveMedia,BasicUsageEnvironment。UsageEnvironment和TaskScheduler类用于事件的调度,实现异步读取事件的

2013-07-30 10:57:00 591

转载 RTSP协议与HTTP协议

一。RTSP协议简介  流媒体技术是一系列的网络协议的集合,包括:  1. 实时传输协议RTP(Real-time Transport protocol)  2. 实时传输控制协议RTCP(Real-time Transport Control protocol)  3. 实时流协议RTSP(Real Time Streaming protocol)  4.

2013-07-30 10:52:58 1252 1

转载 RTSP 协议分析 (一)

RTSP 协议分析1.概述: RTSP(Real Time Streaming Protocol),实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学、网景和RealNetworks公司提交的IETF RFC标准。该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。类似HTTP协议的流控制协议。它们都使用纯文本来发送信息,而且rtsp协议的语法也和HTTP

2013-07-30 10:51:14 610

转载 ORTP库的一个例子讲解rtpsend.c

一. rtpsend.c主要内容这个例子主要是表示了PCMU格式的音频文件或者直接从声卡得到的音频流如何发送int main(int argc, char *argv[]) {     RtpSession *session;     unsigned char buffer[160];     int i;     FILE *infile;     char *

2013-07-25 16:30:27 2185 1

转载 RTP/RTCP的实现

RTP/RTCP的定义及用途,还是请大家自己google。对于wifi手机来说呢,RTP协议用来传送编码后的语音,RTCP协议用来传送控制信息,公司的RTCP附带了一些语音统计信息和jitter buffer的统计信息用来防止语音抖动。由于是公司的东西,我就不细说了。下面是这两个协议的具体实现代码: RTP和RTCP的头部信息如下,一会给出详细的字节图和编码过程。RTP的头部信息:  

2013-07-25 15:33:23 1036

转载 RTP/RTCP协议的补充(RTCP发送时间间隔)

RTP/RTCP协议相对来说是一个比较简单的协议,这里补充一点关于RTP/RTCP协议的知识。说是RTP/RTCP的知 识,其实这里只补充了RTCP发送时间间隔的一些要点,建议不懂的看RFC的文档,里面有非常清楚系统的描述。我在这里只不过是当个翻译而已。TAG: RTCP   关于RTP/RTCP协议的介绍,还是在早前的基于sip协议的Push To Talk项

2013-07-25 14:25:43 823

转载 RTP/RTCP流媒体服务器技术研究

本文对流媒体服务器技术的研究重点在于如何建立一个服务器,并且在实现流媒体传输的两个基本协议RTP/RTCP的基础上构建一个基本的流媒体服务器。TAG: RTP  RTCP  流媒体   1 引言      随着互联网的飞速发展,流媒体技术的应用越来越广泛,从网上广播、电影播放到远程教学以及在线的新闻网站等都用到了流媒体技术。但现有公开文献所报道的大多是利用现

2013-07-25 13:41:23 734

转载 RTP控制协议RTCP

jackyhwei 发布于 2011-09-27 21:46 点击:679次 来自:blog.csdn.net/ericbanerRTP控制协议(RTCP)向会议中所有成员周期性发送控制包,利用与数据包相同的传输机制.底层协议必须提供数据包和控制包的复用,例如用不同的UDP端口.RTCP执行四个功能.TAG: RTCP  RTP控制协

2013-07-25 13:39:06 691

转载 基于jrtplib的NAT穿透

4 基于jrtplib的NAT穿透 4.1 NAT穿透的基础只是 有关于NAT穿透的基础知识4.2 rtp/rtcp传输涉及到的NAT穿透     rtp/rtcp传输数据的时候,需要两个端口支持。即rtp端口用于传输rtp数据,即传输的多媒体数据;rtcp端口用于传输rtcp控制协议信息。rtp/rtcp协议默认的端口是rtcp port = rtp port

2013-07-25 13:24:36 656

转载 RTP协议--RR,SR,实例程序 并附有RTCP控制协议解释

RTCP默认5秒发送一次大概。   RTCP控制协议       RTCP控制协议需要与RTP数据协议一起配合使用,当应用程序启动一个RTP会话时将同时占用两个端口,分别供RTP和RTCP使用。RTP本身并不能为按序传输数据包提供可靠的保证,也不提供流量控制和拥塞控制,这些都由RTCP来负责完成。通常RTCP会采用与RTP相同的分发机制,向会话中的所有成员周期性地发

2013-07-25 13:23:43 771

转载 VLC简介及使用说明

VLC简介及使用说明2010-05-20 17:04:07 分类: LINUX一、简介    VLC的全名是Video Lan Client,是一个开源的、跨平台的视频播放器。VLC支持大量的音视频传输、封装和编码格式,完整的功能特性列表可以在这里获得http://www.videolan.org/vlc/features.html,下面给出一个简要的不完整

2013-07-25 13:21:34 1312

转载 RTP&&RTCP解释

RTP协议是real-time transport protocol的缩写,被设计来传输流媒体数据,有着广泛的应用,其它相关介绍自己去看RFC,我不打算讨论这些无聊的概念性的东西。    (1)了解RTP      可以说,RTP协议不依赖于底层协议,也就是说,它是独立的协议。而一般的,由于UDP包的快速、时实性高的特点,它通常和UDP结合在一起,作为UDP的上层载体数据的形式传播。 

2013-07-25 13:20:03 579

转载 ORTP协议栈

最近使用RTP传语音,使用的是ortp协议栈,没想到在接收的时候收不到数据包,调了半天也没有结果,一怒之下索性废掉了ortp,直接实现rtp。老实说,自己实现rtp还是比较简单的。分为接收和发送,接收的时候直接去掉12个字节的报头,然后向下送。而发送的时候稍微麻烦点,我的实现手法如下:初始化报头:      char rtppacket[172] = {0x80, 0x08

2013-07-25 13:18:47 650

转载 linphone源码分析----初始化部分

这几天比较轻松,所以打算好好来看看linphone的代码,源码版本为3.5.2。从linphone初始化的过程开始,首先来看linphone_core_new函数。 [cpp] view plaincopyprint?LinphoneCore *linphone_core_new(const LinphoneCoreVTable *vtable,            

2013-07-25 13:15:55 1525

转载 RTP/RTCP(实时传输协议/实时传输控制协议)自定义的相关C结构(参考)

wgscd转摘的RTP/RTCP(实时传输协议/实时传输控制协议)基于UDP派生出的协议,并增加了对实时传输的控制。一般用于网上传输实时视频数据,比如远程视频监控,视频点播等。有一本名叫《多媒体网络传输协议》的书上对此2个协议的结构和原理做了比较详细的介绍,好象是清华大学出版社出版的。    我去年做远程视频监控系统时,曾用基于2个协议,用Wonsock工具封装了一个网络传输动态连接库,专

2013-07-25 11:43:46 1008 2

转载 RTCP的实现

这是用RTP(RFC3350)按RFC2550封装MPEG ES流数据的发送程序。学习RTP的路真的辛苦。在网上收集的有关RTP的程序都是那种只负责RTP数据包发送的库,如jrtplib等,他们的DEMO程序都只是用来发发字符串,编编聊天程序,无论是国内还是国外,都没有结合真正的应用的DEMO。其实我的目的很简单,就是写发个视频流服务器,不用复杂,只用把基本原理弄懂,因为这样你才能有的放矢。与网上

2013-07-25 11:43:10 2391

转载 ES 流分析程序

这是用VC编写的一个ES流分析程序,可以把ES流文件按MPEG标准进行分析。MPEG标准为iso13818-2ES流文当时是由FFMPEG写的一个小程序从一个MPEG2 MPG文件中导出来的,后来才发现网上也有现成的提取工具。写这个程序是为了能更好的理解ES流的语法,以为日后的RTP发送作准备程序的原码:http://www.cnitblog.com/Files/tinnal/ES

2013-07-25 11:42:15 785

Z shell利剑

Z shell 是一种新的shell

2012-09-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除