自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(88)
  • 收藏
  • 关注

转载 流媒体基本要点简述:如何在H264数据中获取PTS?

当前位置: 主页>流媒体开发>流媒体开发>流媒体基本要点简述:如何在H264数据中获取PTS?jackyhwei 发布于 2011-10-08 09:15 点击:2105次 来自:hi.baidu.com/zorru这里pts的base_clock都是按照1000(毫秒)计算,如果复用到ts里,base_clock是90k

2016-09-02 17:28:12 616

转载 iOS RTMP 视频直播开发笔记(5)------- iOS H.264 实时硬编码实现原理

网上有两个实现,GDCL – AVEncoder 和 IFVideoPicker。IFVideoPicker 使用发现还有些问题,例如视频帧不连续(丢帧),简单调试后由于时间原因放弃,选择使用AVEncoder。不过其项目中有不少关于 MP4 和 FLV 文件格式处理的相关细节,值得看看。这里谈下它们的实现原理:想要采用硬件加速编码视频,苹果提供的只有 AVAssetWri

2016-09-01 17:06:06 457

转载 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-09-01 17:05:44 620

转载 iOS RTMP 视频直播开发笔记(3) --- 与帧相关的概念

H264是一种高压缩率的编码标准,如何压缩嘞?一般的视频采集都是25帧/秒,也就是每秒截图25次,其实每一张图片的内容都相差不大,压缩的办法就是利用算法,只将每张图片变动差异化的部分保存下来,这样视频文件就小多了。三种帧在H264协议里定义了三种帧,完整编码的帧叫I帧,参考之前的I帧生成的只包含差异部分编码的帧叫P帧,还有一种参考前后的帧编码的帧叫B帧。H264采用的核心算

2016-09-01 17:05:16 406

转载 iOS RTMP 视频直播开发笔记(2)----关于MP4及H.264

虽然我们不需要了解详细的编码实现细节,但对于文件格式和相关名词的了解,对于开发仍然是非常必要的。由于之后的 iOS 编码实现中需要首先生成 MP4 视频文件,然后从 MP4 文件中提取 NALU 交给下一步做处理,因此这里首先介绍一下 MP4 和 H.264 的相关知识吧。MP4 是一种视频容器格式,而 H.264 是一种图像编码标准。2.1 了解 MP4 文件格式

2016-09-01 17:04:54 538

转载 iOS RTMP 视频直播开发笔记(1)----- 采集摄像头图像

原文地址:http://blog.csdn.net/u014773226/article/details/51594643这里简单说下 iOS 的摄像头采集。首先初始化AVCaptureSession,说到Session,有没有人想到AVAudioSession呢?12// 初始化 AVCaptureSession_session = [[AVCaptu

2016-09-01 17:04:07 684

转载 H.264 NALU语法结构

关于VCL:VCL层是指视频编码层,VCL NAL 单元是指那些nal_unit_type 值等于 1 到 5(包括 1 和 5)的 NAL 单元,这些单元都包含了视频数据。所有其他的 NAL 单元都称作非 VCL NAL 单元,PPS和SPS都是非VCLNAL单元。关于字节流NAL单元的格式:(起始码中0的长度)除了流开头的字节流NAL单元,大多字节流NAL单元的开头没有leading_

2016-08-30 15:29:32 269

转载 h264 图像、帧、片、NALU

From: http://blog.csdn.net/zqnihao917/article/details/7760170图像、帧、片、NALU 是学习 H.264的人常常感到困惑的一些概念,我在这里对自己的理解做一些阐述,欢迎大家讨论:H.264 是一次概念的革新,它打破常规,完全没有 I 帧、P帧、B 帧的概念,也没有 IDR帧的概念。对于 H.264中出现的一些概念从

2016-08-30 14:46:57 509

转载 NALU(NAL单元)的顺序要求

NALU类型    标识NAL单元中的RBSP数据类型,其中,nal_unit_type为1, 2, 3, 4, 5及12的NAL单元称为VCL的NAL单元,其他类型的NAL单元为非VCL的NAL单元。   0:未规定    1:非IDR图像中不采用数据划分的片段    2:非IDR图像中A类数据划分片段    3:非IDR图像中B类数据划分片段  4:非IDR图像中C类数据划

2016-08-30 14:28:12 451

转载 图像、帧、片、NALU

H.264 是一次概念的革新,它打破常规,完全没有 I 帧、P帧、B 帧的概念,也没有 IDR 帧的概念。对于 H.264 中出现的一些概念从大到小排序依次是:序列、图像、片组、片、NALU、宏块、亚宏块、块、像素。这里有几点值得说明:(1)、在 H.264 协议中图像是个集合概念,顶场、底场、帧都可以称为图像(本文图像概念时都是集合概念)。因此我们可以知道,对于 H.264 协议来说,我们平

2016-08-30 11:35:18 283

转载 H.264中NALU、RBSP、SODB的关系 (弄清码流结构)

NALU:Coded H.264 data is stored or transmitted as a series of packets known as NetworkAbstraction LayerUnits. (NALU单元)      RBSP :A NALU contains a Raw Byte Sequence Payload, a sequence of bytes c

2016-08-30 10:50:01 508

转载 FLV文件格式解析

最近要用到flv,整理了一些flv格式的资料,供参考。 flv文件主要由两部分组成:header和body。1.headerheader部分记录了flv的类型、版本等信息,是flv的开头,一般都差不多,占9bytes。具体格式如下:文件类型3 bytes“FLV”版本1 byte一般为0x01流

2016-06-24 11:34:34 239

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

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

2016-06-14 11:44:33 2229

原创 libyuv编译(各平台)

最近用到视频格式转码,发现谷歌的开源库 libyuv 很好用,所以记录下编译过程直接贴 官网的编译流程https://chromium.googlesource.com/libyuv/libyuv/+/master/docs/getting_started.mdGetting StartedHow to get and build the libyuv code

2016-06-14 11:06:38 13225 2

转载 H.264 NAL层解析(0x00000001,编码,打包,NALU)

原文来自于百度文档1.引言H.264的主要目标:1.高的视频压缩比2.良好的网络亲和性解决方案:VCL  video codinglayer       视频编码层NAL  network abstraction layer  网络提取层VCL:核心算法引擎,块,宏块及片的语法级别的定义NAL:片级以上的语法级别(如序列参数集和图像参数集),同时支持以下功能

2016-06-13 19:07:41 461

转载 iOS8系统H264视频硬件编解码说明

公司项目原因,接触了一下视频流H264的编解码知识,之前项目使用的是FFMpeg多媒体库,利用CPU做视频的编码和解码,俗称为软编软解。该方法比较通用,但是占用CPU资源,编解码效率不高。一般系统都会提供GPU或者专用处理器来对视频流进行编解码,也就是硬件编码和解码,简称为硬编解码。苹果在iOS 8.0系统之前,没有开放系统的硬件编码解码功能,不过Mac OS系统一直有,被称为Video Tool

2016-06-13 16:46:13 1295

转载 YUV420格式解析

原以为MPEG和H.264与我很远,没想到现在就遇到了这方面的问题,看来视频编还是要好好看看一下的。下面这篇文章对特定格式的视频编码原理作了比较详尽的介绍,对理解YUV格式很有帮助,特转之。感谢原作者的分享。【转自http://hi.baidu.com/joygogo0130/blog/item/04b707529efbec090df3e345.html】YUV是指亮度参量和色度参

2016-06-13 11:33:05 476

转载 图文详解YUV420数据格式

原文地址:http://www.cnblogs.com/azraelly/archive/2013/01/01/2841269.htmlYUV格式有两大类:planar和packed。对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。对于packed的YUV格式,每个像素点的Y,U,V是连续交*存储的。 

2016-06-13 10:37:57 249

转载 H264码流结构分析

原文地址:http://blog.csdn.net/chenchong_219/article/details/379905411、码流总体结构:h264的功能分为两层,视频编码层(VCL)和网络提取层(NAL)。H.264 的编码视频序列包括一系列的NAL 单元,每个NAL 单元包含一个RBSP。一个原始的H.264 NALU 单元常由 [StartCode] [NALU Hea

2016-06-12 17:39:57 247

转载 移动互联网实时视频通讯之视频采集

本文章版权归环信所有,转载请注明出处。更多技术文章请访问http://blog.easemob.com/一 、前言一套完整的实时网络视频通讯系统包括视频采集、视频编码、视频传输、视频解码和播放。对于视频采集,大多数视频编码器对输入原始视频的格式要求是YUV420。YUV420格式是YUV格式的一种,YUV分为三个分量,Y代表亮度,也就是灰度值,U和V表示的是色度,用于描述图像的色彩

2016-06-12 09:56:55 473

转载 利用FFmpeg+x264将iOS摄像头实时视频流编码为h264文件

一、编译x264库如何编译x264源码获取支持iOS平台的静态库,可参考我的文章《编译iOS平台上使用的X264库》二、编译FFmpeg库如何编译FFmpeg源码获取支持iOS平台的静态库,可参考我的博客园上的文章《实战FFmpeg--编译iOS平台使用的FFmpeg库(支持arm64的FFmpeg2.6.2)》三、将x264库编译进FFmpeg库通过步骤二

2016-06-08 11:24:20 3213

转载 ios一步一步编译ffmpeg,x264实现h264编码

关于编码的部分一直网上的资料不多,自己也整理了一下,理出一条可通的路子给大家。此篇文章的环境:xcode4.2 sdk5.0编译的版本:真机armv7 一,x264库的编译首先到http://www.videolan.org/developers/x264.html下载x264的库,然后解压。打开shell,进入x264的目录,执行如下语句CC=/Develop

2016-06-07 17:30:41 538

转载 最简单的基于FFMPEG的视频编码器(YUV编码为H.264)

=====================================================最简单的基于FFmpeg的视频编码器文章列表:最简单的基于FFMPEG的视频编码器(YUV编码为H.264)最简单的基于FFmpeg的视频编码器-更新版(YUV编码为HEVC(H.265))最简单的基于FFmpeg的编码器-纯净版(不包含liba

2016-06-07 17:05:38 668

转载 ios 视频捕捉

[IOS开发]拍照,摄像,载图总结1 建立Session 2 添加 input 3 添加output 4 开始捕捉5 为用户显示当前录制状态6 捕捉7 结束捕捉8 参考 1 建立Session 1.1 声明session AVCaptureSession *session = [[AVC

2016-06-07 14:14:01 516

转载 基于GPUImage的实时美颜滤镜

1.背景     前段时间由于项目需求,做了一个基于GPUImage的实时美颜滤镜。现在各种各样的直播、视频App层出不穷,美颜滤镜的需求也越来越多。为了回馈开源,现在我把它放到了GitHub 上面,感兴趣的朋友可以去下载。下面将主要介绍实现美颜滤镜的原理和思路。2.GPUImage     GPUImage 是一个开源的基于GPU的图片或视频的处理框架,其本身内置了多达120

2016-06-04 11:35:12 1216 1

转载 图文详解YUV420数据格式

YUV格式有两大类:planar和packed。对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。对于packed的YUV格式,每个像素点的Y,U,V是连续交*存储的。 YUV,分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的则是色度(Chrominance或Chro

2016-06-03 17:46:30 354

转载 Webrtc服务器搭建 (coturn)

1.WebRTC后台服务:通话的房间服务器(Room Server)房间服务器是用来创建和管理通话会话的状态维护,是双方通话还是多方通话,加入与离开房间等等,我们暂时沿用Google部署在GAE平台上的AppRTC这个房间服务器实现,该GAE App的源码可以在github.com上获取.该实现是一个基于Python的GAE应用,我们需要下载Google GAE的离线开发包

2016-03-03 15:21:52 11564 1

转载 使用Node.js+Socket.IO搭建WebSocket实时应用

Web领域的实时推送技术,也被称作Realtime技术。这种技术要达到的目的是让用户不需要刷新浏览器就可以获得实时更新。它有着广泛的应用场景,比如在线聊天室、在线客服系统、评论系统、WebIM等。本文就让我们来看看如何搭建一个Web实时应用。AD:51CTO网+ 首届中国APP创新评选大赛火热招募中……Web领域的实时推送技术,也被称作Realtime技术。

2016-03-03 11:06:59 418

转载 Webrtc服务器搭建

1.WebRTC后台服务:通话的房间服务器(Room Server)房间服务器是用来创建和管理通话会话的状态维护,是双方通话还是多方通话,加入与离开房间等等,我们暂时沿用Google部署在GAE平台上的AppRTC这个房间服务器实现,该GAE App的源码可以在github.com上获取.该实现是一个基于Python的GAE应用,我们需要下载Google GAE的离线开发包到我们自

2016-03-02 15:14:19 635

转载 使用WebRTC搭建前端视频聊天室——数据通道篇

本文翻译自WebRTC data channels在两个浏览器中,为聊天、游戏、或是文件传输等需求发送信息是十分复杂的。通常情况下,我们需要建立一台服务器来转发数据,当然规模比较大的情况下,会扩展成多个数据中心。这种情况下很容易出现很高的延迟,同时难以保证数据的私密性。这些问题可以通过WebRTC提供的RTCDataChannel API来解决,他能直接在点对点之间传输数据。这篇文章将

2016-02-25 12:03:56 720

转载 使用WebRTC搭建前端视频聊天室——点对点通信篇

WebRTC给我们带来了浏览器中的视频、音频聊天体验。但个人认为,它最实用的特性莫过于DataChannel——在浏览器之间建立一个点对点的数据通道。在DataChannel之前,浏览器到浏览器的数据传递通常是这样一个流程:浏览器1发送数据给服务器,服务器处理,服务器再转发给浏览器2。这三个过程都会带来相应的消耗,占用服务器带宽不说,还减缓了消息从发送到接收的时间。其实最理想的方式就是浏览器1直接

2016-02-25 12:02:36 626

转载 使用WebRTC搭建前端视频聊天室——信令篇

博客原文地址建议看这篇之前先看一下使用WebRTC搭建前端视频聊天室——入门篇如果需要搭建实例的话可以参照SkyRTC-demo:github地址其中使用了两个库:SkyRTC(github地址)和SkyRTC-client(github地址)这两个库和demo都是我写的,如果有bug或是错误欢迎指出,我会尽力更正前面的话这篇文章讲述了WebRTC中所涉及的信令交换以及

2016-02-25 12:00:56 765

转载 使用WebRTC搭建前端视频聊天室——入门篇

什么是WebRTC?众所周知,浏览器本身不支持相互之间直接建立信道进行通信,都是通过服务器进行中转。比如现在有两个客户端,甲和乙,他们俩想要通信,首先需要甲和服务器、乙和服务器之间建立信道。甲给乙发送消息时,甲先将消息发送到服务器上,服务器对甲的消息进行中转,发送到乙处,反过来也是一样。这样甲与乙之间的一次消息要通过两段信道,通信的效率同时受制于这两段信道的带宽。同时这样的信道并不适合数据

2016-02-25 11:58:27 461

转载 手把手教你ARC——iOS/Mac开发ARC入门和使用

04 Jun 2012 • 于 能工巧匠集手把手教你ARC——iOS/Mac开发ARC入门和使用本文部分实例取自iOS 5 Toturail一书中关于ARC的教程和公开内容,仅用于技术交流和讨论。请不要将本文的部分或全部内容用于商用,谢谢合作。欢迎转载本文,但是转载请注明本文出处:http://www.onevcat.com/2012/06/arc-hand-by-ha

2016-01-17 14:24:24 298

转载 手把手教你ARC——iOS/Mac开发ARC入门和使用

OneV's Den上善若水,人淡如菊嗨,我是王巍 (@onevcat),一名来自中国的 iOS / Unity 开发者。现居日本,就职于 LINE。正在修行,探求创意之源。Swifter.tips - 我维护的 Swift 使用技巧分享网站,每周三更新,欢迎访问博客 项目 关于订阅     

2016-01-17 14:21:44 604

转载 iOS开发ARC内存管理技术要点

原文地址:http://www.cnblogs.com/flyFreeZn/p/4264220.html本文来源于我个人的ARC学习笔记,旨在通过简明扼要的方式总结出iOS开发中ARC(Automatic Reference Counting,自动引用计数)内存管理技术的要点,所以不会涉及全部细节。这篇文章不是一篇标准的ARC使用教程,并假定读者已经对ARC有了一定了解和使用经

2015-12-07 17:21:33 505

转载 NSArray, NSSet, NSOrderedSet, and NSDictionary

原文地址:https://www.objc.io/issues/7-foundation/collections/Foundation’s collection classes are the basic building blocks of every Mac/iOS application. In this article, we’re going to have an in-dept

2015-12-04 17:28:16 710

转载 AsyncDisplayKit

本文翻译自 http://www.raywenderlich.com/86365/asyncdisplaykit-tutorial-achieving-60-fps-scrolling原作者:René Cacheaux译者:@nixzhuAsyncDisplayKit 教程:达到 60 FPS 的滚动帧率Facebook 的 Paper 团队给我们带来另

2015-12-01 15:11:20 452

原创 ios 易用库

http://www.csdn.net/article/2015-07-21/2825264-27-ios-open-source-libraries/4

2015-07-29 18:51:40 292

转载 How to Make an iOS VoIP App With Pjsip: Part 5

Welcome to the 5th part of this tutorial series!In the previous tutorial, we have created an iOS project, and made pjsip functions ready to be called. In today’s tutorial, we are going to actual

2015-07-28 14:43:52 1963

空空如也

空空如也

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

TA关注的人

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