自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (5)
  • 收藏
  • 关注

原创 x264的参数

x264的参数繁多,开发者为了方便使用者、简化输入和提出编码建议,设计了一套快速调用参数的系统。如果没有特别的需要,请尽量使用preset和tune系统。这套开发者推荐的参数比各种道听途说的参数更合理。在使用了preset和tune以后,依然可以指定里面已经有的参数。手动指定的参数会覆盖preset和tune里的参数。--preset 通过--preset的参数调节编码速度和质量的平衡。--p

2015-07-06 16:57:58 866

转载 ffmpeg参数说明:

基本选项:-formats输出所有可用格式-f fmt指定格式(音频或视频格式)-i filename指定输入文件名,在linux下当然也能指定:0.0(屏幕录制)或摄像头-y覆盖已有文件-t duration记录时长为t-fs limit_size设置文件大小上限-ss time_off从指定的时间(s)开始, [-]hh:mm:ss[.xxx]的格式也支持-itsoffset time

2015-07-06 16:33:06 736

转载 A Few Words about my ProRes Encoder

Some people wanted to have ProRes encoder in Libav so I wrote one. And from what I gather it even has one user (not me).In case someone is interested here is the list of possible options:profi

2015-06-11 16:06:24 511

转载 live555学习笔记2-基础类

二 基础类讲几个重要的基础类:BasicUsageEnvironment和UsageEnvironment中的类都是用于整个系统的基础功能类.比如UsageEnvironment代表了整个系统运行的环境,它提供了错误记录和错误报告的功能,无论哪一个类要输出错误,就需要保存UsageEnvironment的指针.而TaskScheduler则提供了任务调度功能.整个程序的运行发动机就

2015-06-08 10:30:01 405

转载 live555学习笔记1-引子

一直想研究live555,没有时间,终于因为项目的原因可以深入无间地研究一下了.所以在此著文以记之.一 如何编译live555利用mingw环境很容易:在live555文件夹下,genMakefiles mingwmake即可.可以用genWindowsMakefiles.cmd生成VC可用的makefile,但是对比较新的v

2015-06-08 10:25:42 389

转载 live555学习笔记7-RTP打包与发送

七 RTP打包与发送rtp传送开始于函数:MediaSink::startPlaying()。想想也有道理,应是sink跟source要数据,所以从sink上调用startplaying(嘿嘿,相当于directshow的拉模式)。看一下这个函数:[cpp] view plaincopyBoolean MediaSink::s

2015-06-08 10:16:48 650

转载 live555学习笔记-RTSPClient分析

八 RTSPClient分析有RTSPServer,当然就要有RTSPClient。如果按照Server端的架构,想一下Client端各部分的组成可能是这样:因为要连接RTSP server,所以RTSPClient要有TCP socket。当获取到server端的DESCRIBE后,应建立一个对应于ServerMediaSession的ClientMediaSession。对应每

2015-06-08 10:14:57 641

转载 live555 源代码简单分析1:主程序

live555是使用十分广泛的开源流媒体服务器,之前也看过其他人写的live555的学习笔记,在这里自己简单总结下。live555源代码有以下几个明显的特点:1.头文件是.hh后缀的,但没觉得和.h后缀的有什么不同2.采用了面向对象的程序设计思路,里面各种对象 好了,不罗嗦,使用vc2010打开live555的vc工程,看到live555源代码结构如下:

2015-06-08 10:02:59 406

转载 live555源代码分析

liveMedia 项目(http://www.live555.com/)的源代码包括四个基本的库,各种测试代码以及Media Server。四个基本的库分别是: UsageEnvironment&TaskScheduler, groupsock, liveMedia和BasicUsageEnvironment。UsageEnvironment 和TaskScheduler 类用于事件的调度,

2015-06-04 17:25:05 436

转载 新版FFmpeg音频编解码处理

fmpeg版本更新近一年跟打了鸡血一样,刷刷刷的往上升(貌似现在很多软件版本升级都相当快,而且都是大版本升级),应用软件也就算了,升就升吧,最多新版可能运行速度稍慢些,可API的版本升级太快,对开发来说,就不是一件让人愉快的事。用ffmpeg也有快两年的时间,前段时间将项目中的ffmpeg库从1.0升级到了2.1(老实说,这样升级API库风险太大),发现不少API发生了变化,以前项目中写的音频

2015-06-04 16:39:32 1166

转载 live555 分析—— OpenRtsp

通过分析live库提供的例子程序 OpenRTSP,可以清晰地了解客户端接收来自网络上媒体数据的过程。注意,RTP协议和RTCP协议接收的数据分别是视音频数据和发送/接收状况的相关信息,其中,RTP协议只负责接收数据,而RTCP协议除了接收服务器的 消息之外,还要向服务器反馈。main函数流程void main(int argc,char *argv[]){1.      

2015-06-04 10:51:37 576

转载 在windows使用vs2008编译live555

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

2015-06-03 16:45:03 367

原创 苹果ProRes422分析

这几天在研究苹果ProRes422编码,查了很多资料居然都没有,经过几天的研究。ffmpeg 新版本现在是可以支持封装格式MOV,编码格式PRORES422编码的。其视频编码子类型//ProRes422视频编码子类型enum enumProRes422VideoEncodeSubType{eWXProRes422_Proxy = 0, // apcoeWXProRes4

2015-06-03 15:59:58 10340

转载 ffmbc——为广播电视以及专业用途量身定制的FFmpeg

无意中发现了个为广播电视以及专业用途量身定制的FFmpeg。也是开源的,记录之。ffmbc 全称是 FFMedia Broadcast,是个改版的FFmpeg,有如下功能:创建可以导入Final Cut Pro, AVID Media Composer, Adobe Premiere中的文件创建 XDCAM HD422 文件(.mov 或 .mxf)创建 XDCAM I

2015-05-27 10:55:15 1517

转载 HEVC/H.265与AVC/H.264对比总结

HEVC(H.265)的技术亮点作为新一代视频编码标准,HEVC(H.265)仍然属于预测加变换的混合编码框架。然而,相对于H.264,H.265 在很多方面有了革命性的变化。HEVC(H.265)的技术亮点有:1.      灵活的编码结构在H.265中,将宏块的大小从H.264的16×16扩展到了64×64,以便于高分辨率视频的压缩。同时,采用了更加灵活的编码结构来提高

2015-05-26 14:59:09 15031

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

=====================================================最简单的视频编码器系列文章列表:最简单的视频编码器:编译最简单的视频编码器:基于libx264(编码YUV为H.264)最简单的视频编码器:基于libx265(编码YUV为H.265)最简单的视频编码器:libvpx(编码YUV为VP8)

2015-05-26 14:56:57 1454

转载 x265 (HEVC编码器,基于x264) 介绍

x265要出来了。简单翻译了一下项目网站首页的介绍。x265是一个开源项目,是一个将视频编码为h.265/高效率的视频编码(HEVC)格式的免费的库,在GNU GPL条款下发布。它的源代码是免费提供个人或私人使用的。项目目标基于x264编码器(公认的最高质量的H.264编码器的实现)创造世界上最好的HEVC(h.265)视频编码器-在任何给定

2015-05-26 14:54:14 1404

转载 最简单的视频编码器:编译(libx264,libx265,libvpx)

=====================================================最简单的视频编码器系列文章列表:最简单的视频编码器:编译最简单的视频编码器:基于libx264(编码YUV为H.264)最简单的视频编码器:基于libx265(编码YUV为H.265)最简单的视频编码器:libvpx(编码YUV为VP8)

2015-05-26 14:53:50 786

转载 最简单的基于FFmpeg的视频编码器-更新版(YUV编码为HEVC(H.265))

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

2015-05-26 14:50:52 1005

转载 最简单的视频编码器:基于libx265(编码YUV为H.265)

=====================================================最简单的视频编码器系列文章列表:最简单的视频编码器:编译最简单的视频编码器:基于libx264(编码YUV为H.264)最简单的视频编码器:基于libx265(编码YUV为H.265)最简单的视频编码器:libvpx(编码YUV为VP8)

2015-05-26 14:49:59 1277

转载 最简单的视音频播放示例1:总述

=====================================================最简单的视音频播放示例系列文章列表:最简单的视音频播放示例1:总述最简单的视音频播放示例2:GDI播放YUV, RGB最简单的视音频播放示例3:Direct3D播放YUV,RGB(通过Surface)最简单的视音频播放示例4:Direct

2015-04-16 16:02:57 568

转载 最简单的基于FFmpeg的封装格式处理:视音频复用器(muxer)

=====================================================最简单的基于FFmpeg的封装格式处理系列文章列表:最简单的基于FFmpeg的封装格式处理:视音频分离器简化版(demuxer-simple)最简单的基于FFmpeg的封装格式处理:视音频分离器(demuxer)最简单的基于FFmpeg的封装格式处理

2015-04-16 15:53:48 924 1

转载 最简单的基于FFmpeg的封装格式处理:视音频分离器(demuxer)

=====================================================最简单的基于FFmpeg的封装格式处理系列文章列表:最简单的基于FFmpeg的封装格式处理:视音频分离器简化版(demuxer-simple)最简单的基于FFmpeg的封装格式处理:视音频分离器(demuxer)最简单的基于FFmpeg的封装格式处理

2015-04-16 11:08:04 553

转载 最简单的基于FFmpeg的封装格式处理:视音频分离器简化版(demuxer-simple)

=====================================================最简单的基于FFmpeg的封装格式处理系列文章列表:最简单的基于FFmpeg的封装格式处理:视音频分离器简化版(demuxer-simple)最简单的基于FFmpeg的封装格式处理:视音频分离器(demuxer)最简单的基于FFmpeg的封装格式处理

2015-04-16 10:54:50 486

转载 最简单的基于FFmpeg的内存读写的例子:内存转码器

=====================================================最简单的基于FFmpeg的内存读写的例子系列文章列表:最简单的基于FFmpeg的内存读写的例子:内存播放器最简单的基于FFmpeg的内存读写的例子:内存转码器==============================================

2015-04-15 17:51:52 1006

转载 最简单的基于FFMPEG的封装格式转换器(无编解码)

=====================================================最简单的基于FFmpeg的封装格式处理系列文章列表:最简单的基于FFmpeg的封装格式处理:视音频分离器简化版(demuxer-simple)最简单的基于FFmpeg的封装格式处理:视音频分离器(demuxer)最简单的基于FFmpeg的封装格式处理

2015-04-15 17:49:07 490

转载 最简单的基于FFmpeg的推流器(以推送RTMP为例)

本文记录一个最简单的基于FFmpeg的推流器(simplest ffmpeg streamer)。推流器的作用就是将本地的视频数据推送至流媒体服务器。本文记录的推流器,可以将本地的 MOV / AVI / MKV / MP4 / FLV 等格式的媒体文件,通过流媒体协议(例如RTMP,HTTP,UDP,TCP,RTP等等)以直播流的形式推送出去。由于流媒体协议种类繁多,不一一记录。在这里记录将本地

2015-04-15 17:49:03 750

转载 ffmpeg转码器移植VC的工程:ffmpeg for MFC

本文介绍一个自己做的FFMPEG移植到VC下的开源工程:ffmpeg for MFC。本工程将ffmpeg工程中的ffmpeg转码器(ffmpeg.c)移植到了VC环境下。并且使用MFC做了一套简单的界面。它可以完成一个视频转码的基本功能:封装格式以及编码格式的转换。通过本程序可以学习视频转码器的原理,以及Windows的消息机制等知识。平台:VC2010类库:FFmp

2015-04-15 15:59:20 792

转载 ffplay播放器移植VC的工程:ffplay for MFC

本文介绍一个自己做的FFPLAY移植到VC下的开源工程:ffplayfor MFC。本工程将ffmpeg项目中的ffplay播放器(ffplay.c)移植到了VC的环境下。并且使用MFC做了一套简单的界面。它可以完成一个播放器播放视频的基本流程:解协议,解封装,视频/音频解码,视音频同步,视音频输出。此外还包含一些控制功能:播放,暂停/继续,前进,后退,停止,逐帧播放,全屏等;以及一些简单的视频码

2015-04-15 15:57:43 762

转载 最简单的基于FFmpeg的AVfilter例子(水印叠加)

FFMPEG中有一个类库:libavfilter。该类库提供了各种视音频过滤器。之前一直没有怎么使用过这个类库,最近看了一下它的使用说明,发现还是很强大的,有很多现成的filter供使用,完成视频的处理很方便。在此将它的一个例子基础上完成了一个水印叠加器,并且移植到了VC2010下,方便开发人员学习研究它的使用方法。该例子完成了一个水印叠加的功能。可以将一张透明背景的PNG图片作为水印叠加

2015-04-15 15:53:57 668

转载 [总结]RTMP流媒体技术零基础学习方法

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

2015-04-15 15:36:55 520

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

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

2015-04-15 15:32:37 785

转载 最简单的基于FFMPEG的转码程序

本文介绍一个简单的基于FFmpeg的转码器。它可以将一种视频格式(包括封转格式和编码格式)转换为另一种视频格式。转码器在视音频编解码处理的程序中,属于一个比较复杂的东西。因为它结合了视频的解码和编码。一个视频播放器,一般只包含解码功能;一个视频编码工具,一般只包含编码功能;而一个视频转码器,则需要先对视频进行解码,然后再对视频进行编码,因而相当于解码器和编码器的结合。下图例举了一个视频的转码流程。

2015-04-15 15:17:08 675

转载 视频参数(流媒体系统,封装格式,视频编码,音频编码,播放器)对比

发现了几个视频参数对比的资源,是Wikipedia上的,总结的非常好:流媒体系统对比:http://en.wikipedia.org/wiki/Comparison_of_streaming_media_systems封装格式对比:http://en.wikipedia.org/wiki/Comparison_of_container_formats

2015-04-15 10:48:54 328

转载 FFMPEG使用参数详解

目前又开始测MPEG1和MPEG2的解码,在准备编码好的测试序列过程中,需要通过编码器来进行原始视频序列的编码操作,以生成我们需要的测试数据。由于IPP example提供的Encoder不支持MPEG1,经过查询,决定MPEG1的编码使用FFMPEG。FFMEPG是个啥子东西呢,这里简单说一下:FFmpeg是用于录制、转换和流化音频和视频的完整解决方案,一套领先的音/视频编解码类库。FFmp

2015-04-15 10:48:10 569

原创 灵活、易用、强大的TS切片和M3U8构建工具

HTTP Live Streaming (HLS) 是由Apple公司提出的基于HTTP协议的流媒体播出协议。由于其只使用HTTP协议,因此具有开放、简洁、能穿越防火墙、与CDN系统对接方便的特点。在终端类型上,所有苹果iOS终端(包括Phone、iPod Touch、iPad、Mac)都支持HLS流媒体播放,最新发布的Android系统也开始加入对HLS的支持。HLS流由众多TS小文件和

2015-04-13 17:58:05 17532

转载 X264编码h264

前言前段时间一直在搞视频编解码与传输的东西,现在基本上整个系统能够实现服务器实时编码打包传输给客户端,客户端实时解码并显示的功能,故将上一阶段的工作整理记录一下,将我使用x264进行h.264编码的过程,使用jrtplib进行h264数据包传输的过程以及使用ffmpeg进行解码的过程都记录下来,一方面是自己做一个总结,另外一方面也是想帮助那些跟我做同样工作的人更快的熟悉这些内容。

2015-04-09 17:41:30 578

转载 windows下编译配置x264

最近项目需要开发网络视频应用,因为视频要编码,选择使用h.264进行编码,从网上找到x264这个库使用,但是不幸的是这个库是linux下的,但是我们的应用需要部署在windows系统上,故我只能自己编译成动态链接库来使用了,从网上找了好多方法,但是发现都不太好用,到我这老是出问题,特在此将我自己的配置过程记录下来。我采用的mingw进行编译的方式首先从网上下载mingw,地址htt

2015-04-09 17:27:22 732 1

转载 x264重要结构体详细说明(2): x264_image_t、x264_picture_t、x264_nal_t

/******************************************************************************************** x264_image_t 结构用于存放一帧图像实际像素数据。该结构体定义在x264.h中******************************************************

2015-04-09 17:24:31 598

转载 I帧和IDR帧区别

I 帧和 IDR 帧的区别:    IDR 帧属于 I 帧。解码器收到 IDR frame  时,将所有的参考帧队列丢弃 (用x264_reference_reset 函数实现——在 encoder.c 文件中) 。这点是所有 I 帧共有的特性,但是收到IDR 帧时,解码器另外需要做的工作就是:把所有的 PPS 和 SPS 参数进行更新。由此可见,在编码器端,每发一个 IDR ,就相应

2015-04-09 17:20:47 519

librtmp (32位和64位)编译源码

librtmp (32位和64位)编译源码 已经经过调试分享给大家使用

2015-03-13

librtmp静态库(32位和64位)

librtmp静态库 (32位和64位)

2015-03-13

INI文件读取和写入例子

读取和写入INI文件的类库。很好用。很好用很好用很好用很好用

2013-06-14

TCP的封装库

TCP封装库,方便使用便于开发。可以自己学习下。

2012-03-20

UDPSDK 封装

UDP封装可以直接调用,方便开发使用。可以多方面使用

2012-03-20

空空如也

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

TA关注的人

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