
FFmpeg
文章平均质量分 83
iteye_7202
这个作者很懒,什么都没留下…
展开
-
dts/pts
DTS(解码时间戳)和PTS(显示时间戳)分别是解码器进行解码和显示帧时相对于SCR(系统参考)的时间戳。SCR可以理解为解码器应该开始从磁盘读取数据时的时间。mpeg文件中的每一个包都有一个SCR时间戳并且这个时间戳就是读取这个数据包时的系统时间。通常情况下,解码器会在它开始读取mpeg流时启动系统时钟(系统时钟的初始值是第一个数据包的SCR值,通常为0但也可以不从0开始)。DTS时间戳决定了...原创 2014-05-10 21:37:26 · 267 阅读 · 0 评论 -
FFmpeg的一些关键的数据结构(二)
4.11 AVPacket 结构体typedef struct AVPacket{//显示时间戳int64_t pts; //解码时间戳int64_t dts; //记录在文件或网络中的流中的字节的位置int64_t pos; //实际数据指针uint8_t *data;//实际的数据的大小int size;//该packet所属的流的索...原创 2014-10-29 17:45:22 · 221 阅读 · 0 评论 -
ffmpeg函数介绍
本文对在使用ffmpeg进行音视频编解码时使用到的一些函数做一个简单介绍,我当前使用的ffmpeg版本为:0.8.5,因为本人发现在不同的版本中,有些函数名称会有点小改动,所以在此有必要说明下ffmpeg的版本号。ffmpeg本人也是刚接触,本文将采用累加的方法逐个介绍我使用到的函数,如有不妥之处,还望谅解! 头文件引入方法:extern "C" {#include "l...原创 2014-11-09 21:43:20 · 181 阅读 · 0 评论 -
ffplay.c函数结构简单分析
最近重温了一下FFplay的源代码。FFplay是FFmpeg项目提供的播放器示例。尽管FFplay只是一个简单的播放器示例,它的源代码的量也是不少的。之前看代码,主要是集中于某一个“点”进行研究,而没有从总体结构上进行分析。本文就打算弥补之前学习的不足,从总体结构上分析一下FFplay的源代码,画图理一下它的结构。其中还有诸多不足,以后有机会慢慢完善。说明一下自己画的结构图的规则:图中仅画出了...原创 2014-11-10 10:11:00 · 186 阅读 · 0 评论 -
视频压缩编码和音频压缩编码的基本原理
1.视频编码基本原理 (1) 视频信号的冗余信息以记录数字视频的YUV分量格式为例,YUV分别代表亮度与两个色差信号。例如对于现有的PAL制电视系统,其亮度信号采样频率为13.5MHz;色度信号的频带通常为亮度信号的一半或更少,为6.75MHz或3.375MHz。以4:2:2的采样频率为例,Y信号采用13.5MHz,色度信号U和V采用6.75MHz采样,采样信号以8bit量化,...原创 2014-11-10 13:24:57 · 88 阅读 · 0 评论 -
最简单的基于FFMPEG的转码程序
本文介绍一个简单的基于FFmpeg的转码器。它可以将一种视频格式(包括封转格式和编码格式)转换为另一种视频格式。转码器在视音频编解码处理的程序中,属于一个比较复杂的东西。因为它结合了视频的解码和编码。一个视频播放器,一般只包含解码功能;一个视频编码工具,一般只包含编码功能;而一个视频转码器,则需要先对视频进行解码,然后再对视频进行编码,因而相当于解码器和编码器的结合。下图例举了一个视频的转码流程...原创 2014-11-10 13:39:17 · 119 阅读 · 0 评论 -
流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)
RTP 参考文档 RFC3550/RFC3551 Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输层协议。RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式。RTP协议常用于流媒体系统(配合RTCP协议),视频会议和一键通(Push to Talk)系统(配合H.323或SIP),...原创 2014-11-11 17:36:49 · 89 阅读 · 0 评论 -
在windows上编译ffmpeg
转自:http://blog.sina.com.cn/s/blog_4ae178ba01010353.html ffmpeg开源库在linux系统下弄的,是一个很全的音频和视频的编解码库。要在windows下编译出用于开发的lib库确实比linux下要麻烦。百度了很久,参照别人的见解终于成功编译出自己需要的可以用于开发的库(dll的形式,附带dll的lib,静态库不会编)...原创 2014-11-21 12:34:03 · 207 阅读 · 0 评论 -
FFMPEG视音频编解码零基础学习方法
0. 背景知识本章主要介绍一下FFMPEG都用在了哪里(在这里仅列几个我所知的,其实远比这个多)。说白了就是为了说明:FFMPEG是非常重要的。使用FFMPEG作为内核视频播放器:Mplayer,ffplay,射手播放器,暴风影音,KMPlayer,QQ影音...使用FFMPEG作为内核的Directshow Filter:ffdshow,lav filters....原创 2014-12-05 11:26:43 · 164 阅读 · 0 评论 -
ffmpeg解复用视频文件
转自:http://blog.chinaunix.net/uid-24922718-id-3692670.html 解复用视频文件:就是提取出音频文件和视频文件的ES流数据。而对于aac和h264来说,提取出来的数据直接保存并不能成功的播放,原因就在ffmpeg解出的ES数据比较纯净,没有ADTS头,而很多解码器都是需要ADTS头信息来进行解码的,所以就要对aac数据进行头部adts结...原创 2014-12-05 14:46:55 · 156 阅读 · 0 评论 -
FFmpeg的一些关键的数据结构(一)
ffmpeg定义的数据结构很有特色:有一些是动态与静态的关系,比如, URLProtocol 和 URLContex t ,AVInputFormat 和 AVFormatContext , AVCodec 和 AVCodecContext。从前面播放器的一般原理我们可知,播放器内部要实现的几大功能是,读文件, 识别格式,音视频解码,音视频渲染。其中音视频渲染由 SDL 实现,我...原创 2014-10-29 17:41:27 · 228 阅读 · 0 评论 -
FFmpeg常用基本命令
1.分离视频音频流ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流ffmpeg -i input_file -acodec copy -vn output_file_audio //分离音频流2.视频解复用ffmpeg –i test.mp4 –vcodec copy –an –f m4...原创 2014-10-28 16:33:18 · 73 阅读 · 0 评论 -
FFMPEG源码分析
转自:http://blog.youkuaiyun.com/beitiandijun/article/details/8466432 以FFMPEG 1.0为参考,对FFMPEG源码分析,其中调用以H264为例 一、main()中;在ffmpeg.c文件中1、OptionsContext o ={ 0 }:初始化结构体变量o,这个结构体主要是一些参数选项;初始化的结果是:整型和...原创 2014-07-04 21:07:21 · 467 阅读 · 0 评论 -
FFMPEG-数据结构解释(AVCodecContext,AVStream,AVFormatContext)
AVCodecContext这是一个描述编解码器上下文的数据结构,包含了众多编解码器需要的参数信息如 果是单纯使用libavcodec,这部分信息需要调用者进行初始化;如果是使用整个FFMPEG库,这部分信息在调用 av_open_input_file和av_find_stream_info的过程中根据文件的头信息及媒体流内的头部信息完成初始化。其中几个主要 域的释义如下:extr...原创 2014-08-07 10:52:46 · 93 阅读 · 0 评论 -
码流 / 码率 / 比特率 / 帧速率 / 分辨率 / 高清
1, 码流 /码率 / 比特率 / 帧速率 / 分辨率 码流 / 码率 码流(Data Rate)是指视频文件在单位时间内使用的数据流量,也叫码率或码流率,通俗一点的理解就是取样率,是视频编码中画面质量控制中最重要的部分,一般我们用的单位是kb/s或者Mb/s。一般来说同样分辨率下,视频文件的码流越大,压缩比就越小,画面质量就越高。码流越大,说明单位时间内取样率越大,数据流,精度就...原创 2014-08-12 19:43:48 · 504 阅读 · 0 评论 -
I,P,B帧和PTS,DTS的关系
转自:http://www.cnblogs.com/qingquan/archive/2011/07/27/2118967.html 基本概念:I frame :帧内编码帧 又称intra picture,I 帧通常是每个 GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随机访问的参考点,可以当成图象。I帧可以看成是一个图像经过压缩后的产物。P fra...原创 2014-09-05 13:29:52 · 89 阅读 · 0 评论 -
开源ffmpeg项目记录
1. ffmpeg github https://github.com/FFmpeg/FFmpeg 2.FFmpeg build for android random architectures with example jnihttps://github.com/appunite/AndroidFFmpeg 3.ijkplayer - Android/iOS video...原创 2014-09-05 18:18:50 · 94 阅读 · 0 评论 -
ijkplayer学习系列之环境搭建
环境准备硬件环境:PC机一台操作系统:Ubuntu 12.04(我是Ubuntu+XP双系统)软件环境:除Ubuntu预装的所有应用,还需要以下工具:git, ant, ccache, sdk, ndk。其中git,ant和ccache直接使用sudo apt-get install XXX安装即可。sdk和ndk可以在android developer网站下载,下面给出分别...原创 2014-09-12 21:40:46 · 91 阅读 · 0 评论 -
android编译ffmpeg+x264
编译x264:下载最新版的x264ftp://ftp.videolan.org/pub/videolan/x264/snapshots/1.解压到指定的目录2.切换当前目录为该目录3.创建一个shell脚本build_x264.sh,内容如下:export NDK=/home/robin/桌面/android-ndk-r8cexport PREBUILT=$NDK/toolcha...原创 2014-09-12 21:42:29 · 96 阅读 · 0 评论 -
MP4文件格式的解析,以及MP4文件的分割算法
转自:http://www.cnblogs.com/haibindev/archive/2011/10/17/2214518.html mp4应该算是一种比较复杂的媒体格式了,起源于QuickTime。以前研究的时候就花了一番的功夫,尤其是如何把它完美的融入到视频点播应用中,更是费尽了心思,主要问题是处理mp4文件庞大的“媒体头”。当然,流媒体点播也可以采用flv格式来做,flv也可以...原创 2014-10-11 16:29:51 · 105 阅读 · 0 评论 -
视频会议及流媒体十大开源项目
转自:http://my.oschina.net/zhangxu0512/blog/315704 目录[-]视频会议传输模块的开发选择视频会议的图像清晰度由什么决定ffmpeg名词含义项目组成多媒体处理功能视频采集功能视频格式转换功能视频截图功能给视频加水印功能支持的格式和协议支持的编码支持的格式支持的协议相关版权...原创 2014-10-27 11:30:38 · 157 阅读 · 0 评论 -
ffmpeg 从mp4上提取H264的nalu
转自:http://blog.youkuaiyun.com/gavinr/article/details/7183499 1.获取数据ffmpeg读取mp4中的H264数据,并不能直接得到NALU,文件中也没有储存0x00000001的分隔符。下面这张图为packet.data中的数据从图中可以发现,packet中的数据起始处没有分隔符(0x00000001), 也不是0x65、0x67、0x68...原创 2014-12-08 17:46:07 · 142 阅读 · 0 评论