- 博客(12)
- 资源 (8)
- 收藏
- 关注
原创 FFMPEG-AVFilter研究
FFMPEG中的libswscale是做像素转换的,但是对于一些复杂的操作,比如添加水印等,这个库就不行了,这时候就要说一下另外一个AVFilter。AVFilter完全可以替代libswscale的所有功能,也许有一天,ffmpeg也会这样去做。AVFilter虽然学起来有点复杂,但是为了学好FFMPEG,为了涨工资,我忍了。(*^__^*) 嘻嘻……概念:做个directsho
2015-01-30 11:57:35 6692
原创 Ffmpeg转码研究一
Ffmpeg是一款功能强大的视频处理工具,那么转码肯定不是问题的,因为项目的需求,对转码进行了研究。刚开始首先去看了ffmpeg源代码中的一个例子transcode.c,但是发现该例子更应该称之为remux的一个例子,并没有具体的涉及到转码。所以转而去ffmpeg工具中寻求帮助了。ffmpeg转码流程:举例:输入文件为ts格式,视频编码为H.264,音频编码为AAC,要
2015-01-29 16:14:30 3031
原创 MPEG-TS基础2
MPEG-2传送流系统层为了实现解码同步,在PES中插入PTS和DTS以及相关的系列标志符。由图可以看出,TS由4B的包头,可变长度的调整头和负载构成。包头由同步字节,1B传送数据包差错指示,1B净荷单元起始指示,1B传送优先权,13B的包标识符PID,2B传送加扰控制,2B调整字段控制和4B连续计数器组成。其中的净荷起始指示表示打包的原始流PES数据包字头或包含与节目有关的P
2015-01-21 17:14:47 8553
原创 Ffmpeg源代码解析之av_read_frame
av_read_frame从字面意思上来看,就是从内存中读取一帧,但是具体的实现如何?本文是在参考别人的代码的基础上,结合最新的源代码,进行分析研究!如果有不正确的地方,欢迎指正。
2015-01-19 10:45:24 23893 1
原创 ffmpeg的IO操作
网上类似介绍ffmpeg的文章其实挺多。但是让人看了之后还是一头雾水,并且一些结构已经没有了比如ByteIOContext已经改名为AVIOContext,所以决定根据自己的学习经历重新来介绍下IO。所谓IO就是数据的存取,主要的途径也就是文件或者网络。数据IO是基于文件格式的,与具体的编码标准无关。ffmpeg对各种协议实现了封装,使用同样的接口,完成对不同数据的读取。比较屌
2015-01-16 16:01:31 17868
原创 MPEG2-TS基础
一:基本概念1.ES--Elementary Streams(原始流)是直接从编码器出来的数据流,ES经过PES打包器之后,转换成PES包。ES仅是包含一种数据内容的数据流,如h.264视频或者aac音频数据。打包之后的PES也是只包含一种的ES,如只含视频ES的PES或者只含音频ES的PES。每个ES都由若干个存取单元(AU)组成,每个视频AU或者音频AU都由头部和编码数据两部分组成,一
2015-01-16 09:15:14 21843
原创 ffmpeg转码之TS转PS
写了一个ts转ps的demo。ts数据从文件中读取。ffmpeg怎么从从内存中获取看这篇博文http://blog.csdn.net/rootusers/article/details/42551935然后将ts流转换为ps流,存储在内存中。下面是代码:extern "C"{#include "libavformat/avformat.h"}FILE *file = NUL
2015-01-13 13:45:09 9553
原创 ffmpeg 如何探测网络流格式/如何从内存中获取数据
一般ffmpeg都是直接从文件中读取或者从网络流中读取,比如rtp://xx.xx.xx.xx:xxxx。事实上也支持从内存中获取。函数avio_alloc_context()实现该功能。AVIOContext *avio_alloc_context( unsigned char *buffer, int buffer
2015-01-09 10:39:43 17913 1
原创 Live555学习基础类
Live555主要用到的类介绍:1.UsageEnvironment类:抽象基类class UsageEnvironment {public: void reclaim(); // task scheduler: TaskScheduler& taskScheduler() const {return fScheduler;} // result message ha
2015-01-08 09:53:29 24290
原创 Directshow源码分析之推模式
在windowsSDK中有一个推模式的Source Filter例子,位于SDK安装目录samples\C++\Directshow\Ball下。下面做一下简要分析:功能:Live Source不断产生视频帧,演示在封闭围墙内碰撞的弹球的运动轨迹。使用该filter构建Filter Graph及其输出结果如下图:类的继承结构关系为:CBouncingBall继承自C
2015-01-06 15:11:39 4347
转载 Live555源码在vs2010/vs2013中的编译
Ⅰ live555简介 Live555 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。Live555实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+、DV、JPEG视频和多种音频编码。同时由于良好的设计,Live555非常容易扩展对其他格式的支持。目前,Live555
2015-01-04 16:40:19 5507
FFMPEG转码程序
2015-02-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人