自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (3)
  • 收藏
  • 关注

转载 YUV420图像格式

YUV中的Y是指“灰度”或者“明亮度” ,英语表达为Luminance、Luma,luminance 表示为 Y, luma 表示为 Y'。Y与RGB的演算关系为:Y = 0.2126 R + 0.7152 G + 0.0722 B,Y' = 0.2126 R' + 0.7152 G' + 0.0722 B' ,符号' 表示使用了Gamma compression。(参见http://en.wik

2014-05-28 09:02:59 402

转载 LibRTMP源代码分析8:发送消息(Send RTMPPacket)

在详细分析函数RTMP_SendPacket()之前,让我们来看看RTMPPacket结构体的定义:typedef struct RTMPPacket{        uint8_t   m_headerType;// ChunkMsgHeader类型(4种)        uint8_t   m_packetType;// Message type ID(1-

2014-05-22 11:55:46 2684 1

原创 NSCondition的用法

使用NSCondition,实现多线程的同步,即,可实现生产者消费者问题。基本思路是,首先要创建公用的NSCondition实例。然后:消费者取得锁,取产品,如果没有,则wait,这时会释放锁,直到有线程唤醒它去消费产品;生产者制造产品,首先也是要取得锁,然后生产,再发signal,这样可唤醒wait的消费者。

2014-05-22 08:34:57 475

转载 rtmp协议简单解析以及用其发送h264的flv文件

http://blog.csdn.net/yeyumin89/article/details/8011362Adobe公司太坑人了,官方文档公布的信息根本就不全,如果只按照他上面的写的话,是没法用的。按照文档上面的流程,server和client连接之后首先要进行握手,握手成功之后进行一些交互,其实就是交互一些信息以确认大家都是用的同一个协议,交互成功之后就开始传数据了。

2014-05-17 10:03:49 882 1

转载 h264中avc和flv数据的解析

计算 AVCDecoderConfigurationRecord  得到 CodecPrivateData 数据(只有第一帧需要);计算 NALUs 得到帧数据。计算 AVCDecoderConfigurationRecord  得到 CodecPrivateData 数据

2014-05-17 09:41:06 671

转载 在iOS中如何设置默认语言

在iOS的开发中,我们需要做本地化的动作,对一些资源(主要是字符串),在不同的语言下显示各自的内容。比如edit,在英语下显示“Edit”,中文下就是“编辑”。最近做的项目客户要求支持两种语言,英语和意大利语,并且强调默认意大利语,要求当前语言非英语和意大利语是,显示意大利语。本来以为xcode里面的Localization native development reg

2014-05-16 09:43:40 446

转载 iOS的hook方案: Method Swizzling

在没有一个类的实现源码的情况下,想改变其中一个方法的实现,除了继承它重写、和借助类别重名方法暴力抢先之外,还有更加灵活的方法吗?在Objective-C编程中,如何实现hook呢?标题有点大,计划分几篇来总结。本文主要介绍针对selector的hook,主角被标题剧透了———— Method Swizzling 。Method Swizzling 原理

2014-05-16 09:29:16 483

转载 最简单的基于FFmpeg的音频编码器 PCM 转AAC

ffmpegpcmaac编码音频本文介绍一个最简单的基于FFMPEG的音频编码器。该编码器实现了PCM音频采样数据编码为AAC的压缩编码数据。编码器代码十分简单,但是每一行代码都很重要。通过看本编码器的源代码,可以了解FFMPEG音频编码的流程。本程序使用最新版的类库(编译时间为2014.5.6),开发平台为VC2010。所有的配置都已经做好,只需要运行就可以了。下面直接上代码:

2014-05-13 21:11:18 1234 1

转载 RTMP流媒体技术零基础学习方法

本文主要总结一些我在学习RTMP流媒体技术过程中积累的经验。也为后来学习RTMP流媒体技术的人们一个参考。本文力图从简到难,循序渐进的介绍RTMP流媒体技术的方方面面,先从应用说起,逐步深化剖析相关工程的源代码。看完本文的话应该会对RTMP流媒体技术有比较完整的了解。0.背景知识本章主要介绍一下RTMP流媒体技术都用在了哪里(在这里仅列几个我所知的,其实远比这个多)。说白了就是为了

2014-05-13 10:59:14 637

转载 [总结]FFMPEG视音频编解码零基础学习方法

在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视音频编解码的人,有的已经是有多年经验的“大神”,有的是刚开始学习的初学者。在和大家探讨的过程中,我忽然发现了一个问题:在“大神”和初学者之间好像有一个不可逾越的鸿沟。“大神”们水平高超,探讨着深奥的问题;而初学者们还停留在入门阶段。究竟是什么原因造成的这种“两极分化”呢?最后,我发现了问题的关键:FFMPEG难度比较大,

2014-05-13 10:58:01 648

转载 rtmp流媒体编程相关整理2013(crtmpserver,rtmpdump,x264,faac)

无特殊说明编译环境VC6.0第三方库尽可能包含,环境搭好,也有可能需要手动的地方(如DShow库要自己将头文件提前)CRtmpserver篇CRtmpserver源码获取CRtmpserver在UNIX下编译CRtmpserver在VS2010下编译CRtmpserver简易测试(之后提供简单的工具,这个太复杂了)CRtmpserver其它问题R

2014-05-08 17:59:12 1217

转载 使用librtmp库发布直播流

rtmp协议与flv封包格式基本相同(本来就是一家公司的嘛)将flv文件解析出类型,时间戳,数据大小,数据区对应写的rtmp包的位置进行发送即可rtmpdump官网:http://rtmpdump.mplayerhq.hu/这里是以flv文件做源,可以自己采集视频音频进行实时发送库版本 2.4下图,左边发送到服务器,右侧可正常观看(模拟的是实时流,发完该流也

2014-05-08 17:58:01 978

转载 ffmpeg 时间戳问题汇总

问题是这样的 用一个 VLC(流媒体客户端) 去请求流媒体服务器上的数据, 但是获得的数据播放速度明显快于1倍速,大概是 timestamp 不对, 不知道是服务器的错误,还是客户端解码时出错, 总感觉服务器那边有问题, 由于服务器端是客户端提供的,客户说是我们的问题, 我还不知道如何证明是谁的错。A:RFC3984 规定采用 90000 Hz 的时钟,因此如果编码帧频是 30,那么时

2014-05-08 17:55:33 737

转载 librtmp实时消息传输协议(RTMP)库代码浅析

没事碰到了librtmp库,这个库是ffmpeg的依赖库,用来接收,发布RTMP协议格式的数据。代码在这里:git clone git://git.ffmpeg.org/rtmpdump先看一段通过librtmp.so库下载RTMP源发布的数据的例子,从rtmpdump中抽取出来。使用的大体流程如下:RTMP_Init主要就初始化了一下RTMP*rtmp变量的成员。 RTMP_Se

2014-05-07 21:47:03 2482

转载 使用librtmp进行H264与AAC直播

libx264版本是128libfaac版本是1.281、帧的划分1.1 H.264帧对于H.264而言每帧的界定符为00 00 00 01或者00 00 01。比如下面的h264文件片断这就包函三帧数据00 00 00 01 67 42 C0 28 DA 01 E0 08 9F 96 10 0000 03 00 10 00 00 03 01 48 F1 83 2A 0

2014-05-07 21:42:06 1725

转载 [FMS]red5项目使用rtmp协议,且开启rtmpt,rtmps协议

red5默认开启rtmp协议,但是有些网络环境限制此协议。连接方式nc.connect( "rtmp://x.x.x.x:port/myapp");rtmpt协议是封装了rtmp的http协议,可以穿透防火墙。连接方式nc.connect( "rtmpt://x.x.x.x:port/myapp");rtmps协议使用了https的安全连接。连接方式nc.connect

2014-05-07 21:41:15 655

转载 iphone手机音频AAC视频H264推流(一) iphone手机推流最佳方案

这几个月一直在做iphone手机音视频的东西,由于个人比较懒,所以一直没整理,现在闲的蛋疼,并且以后项目要搁置了,在这里记录一下我做的iphone手机推流的东西。项目都是个人的调研与实验,可能很多不好或者不对的地方请多包涵。1    功能概况*  实现音视频的数据的采集*  实现音视频数据的编码,视频编码成h264,音频编码成aac*  实现音视频数据的发布,将编码好的音视

2014-05-07 21:38:53 2006

转载 利用LIBRTMP直播时 更改发送数据的包大小

在用RTMP协议做视频直播时,协议默认的发送消息的大小是128字节。开源库librtmp中说可以更改这个大小,因为用128的包发送数据,效率太低了,网络上一般MTU都在1400左右,所以还是改大点的好。网上搜了半天也没有找到参考的代码,可能关键词写的不对。rtmpdump里面没有参考代码,只能自己试验了,最后还是找到了正确的办法。RTMP *r;  //提前申请的RTM

2014-05-07 21:37:04 1283

转载 iOS 使用libx264编码视频

首先视频采集使用AVCaptureSession,输出参数设置如下AVCaptureVideoDataOutput *newVideoOutput = [[AVCaptureVideoDataOutputalloc]init];    [newVideoOutput setAlwaysDiscardsLateVideoFrames:YES];    NSDictio

2014-05-07 21:35:43 2341

转载 RTMP协议

RTMP协议RTMP协议封包 由一个包头和一个包体组成,包头可以是4种长度的任意一种:12, 8, 4,  1 byte(s).完整的RTMP包头应该是12bytes,包含了时间戳,AMFSize,AMFType,StreamID信息, 8字节的包头只纪录了时间戳,AMFSize,AMFType,其他字节的包头纪录信息依次类推 。包体最大长度默认为128字节,通过chunkSize

2014-05-07 21:33:49 489

转载 RTMP中FLV流到标准h264、aac的转换

一、分析FLV数据    我们先拿一个flv文件来简单分析一下flv数据的格式    flv标准文档下载地址http://www.cnblogs.com/chef/archive/2012/07/18/2597003.html    flv文件分析器flvprase下载地址http://www.cnblogs.com/chef/archive/2012/07/18/2596

2014-05-07 21:30:28 641

转载 RTMP协议以及提取RTMP视频流组成H264视频文件

首先我们获得h264的流,在监听里,我们通过参数可以获得RTMP包IStreamPacket,调用getData()方法直接获得包数据 放入IOBuffer。以下是提取并修改数据存成h264文件的步骤1. 添加监听 IStreamListener2. 通过IOBuffer的put函数将每次获得的包数据放入新的IObuffer3. 在流结束时将IOBuffer存成文件4. 用工具

2014-05-07 21:23:57 714

原创 iOS编译librtmp xcode5.1

iOS编译librtmp xcode5.1

2014-05-07 15:04:08 629

转载 ffmpeg 静态链接第三方库

动态(共享)链接库自是有诸多优于静态链接库的特点:如能共享内存空间; 节约整个系统的存储空间,从而使整个系统速度提高; 当只有某个动态链接库有更新时--便于维护--只用更新这个库。  但在有些情况下,如,服务器并不是你一个人独享;服务器上不止有一个版本的ffmpeg要用; 有一个集群的服务器需要你部署和维护,更新。这时能使用静态链接库就再好不过啦。   FFmpeg对第三方库通常是

2014-05-07 10:16:42 635

转载 录制视频(帧数版本) IOS

//// CameraHelp.h//  //// Created by Zhuang Chuan Xian. on 11-6-28.// Copyright 2011 . All rights reserved.//#import #import #undef PRODUCER_HAS_VIDEO_CAPTURE#define PRODUCER_HAS

2014-05-05 10:48:40 1655

转载 录制视频(无帧数版) IOS

利用网上提供的获取每一帧的代码更改过来的。//// GLRecord.h// PlayVideo//// Created by Ghost on 12-8-18.// Copyright (c) 2012年 ZEPPLAB. All rights reserved.//#import #import #undef PRODUCER_HAS_VID

2014-05-05 10:45:46 746

转载 [IOS开发]拍照,摄像,载图总结

1 建立Session 2 添加 input 3 添加output 4 开始捕捉5 为用户显示当前录制状态6 捕捉7 结束捕捉8 参考

2014-05-05 10:44:19 982

ios libx264 静态库 .a文件

ios libx264 静态库 .a文件 支持armv7 7s 模拟器

2014-06-04

iOS openssl 静态库 .a文件

iOS openssl 静态库 .a文件 支持 armv7 armv7s 模拟器

2014-06-04

iOS g729a ,voip 语音

iOS g729a ,voip 语音, 支持armv7 armv7s

2014-06-04

空空如也

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

TA关注的人

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