- 博客(21)
- 资源 (32)
- 收藏
- 关注
原创 ffmpeg学习笔记目录
1、命令使用最开始看一下ffmpeg命令的中文解释,然后ffmpeg的基本用法,日常命令使用中最多的ffmpeg调用x264编码、mpeg4中的deblocking的用法,x264中输出值含义,x264编码之码率控制,x264参数介绍之一,x264参数介绍之二。2、编译ffmpegwin7用mingw+msys编译ffmpeg编译中遇到的文题解决各个组件下载地址,及编译方法,问
2015-06-19 10:05:19 4335 2
原创 ffmpeg实现录屏+录音
1、概述最简单的基于FFmpeg的AVDevice例子(屏幕录制+声音采集),视频采用mpeg4编码,音频采用aac编码,并生成mp4文件,其中fifo是此程序的关键,此程序只是一个demo很多优化都没做,仅供参考。2、代码/** *最简单的基于FFmpeg的AVDevice例子(屏幕录制+声音采集),视频采用mpeg4编码,音频采用aac编码,并生成mp4文件 *缪国凯 MK
2015-06-30 18:13:13 33405 32
原创 用ffmpeg实现录音
1、概述2、代码/**最简单的录音程序*缪国凯 MK*821486004@qq.com*本程序实现采集麦克风音频数据,压制为aac*2015-6-19*/#include "stdafx.h"#include <windows.h>#include <DShow.h>#include <comutil.h>#pragma co...
2015-06-19 15:31:47 14940 8
原创 最简单ffmpeg解码
1、概述用ffmpeg解码的例子,把解码数据保存为yuv文件。2、代码/* *最简单的FFmpeg的解码器 * *缪国凯 Mickel *821486004@qq.com * *本程序实现了视频解码保存为yuv,写yuv是用文件方式写的,没用到muxer */#include "stdafx.h"#ifdef __cplusplusextern "C"{
2015-06-19 11:59:50 1696
转载 avcodec_decode_video2少帧问题
使用libav转码视频时发现一个问题:使用下面这段代码解码视频时,视频尾巴上会丢掉几帧。[cpp] view plaincopywhile(av_read_frame(ifmt_ctx,&packet) >= 0){ ret = avcodec_decode_video2(video_dec_ctx, vframe,
2015-06-15 17:29:39 1391
原创 ffmpeg源码跟踪之时间基转换,时间戳比较笔记
1、概述经常在代码中我们转换时间基的时候用到av_rescale_q,av_rescale_q_rnd,av_compare_ts这些函数,也从来没有去好好看看代码,今天有时间好好看看代码。2、代码+解释av_rescale_q:int64_t av_rescale_q(int64_t a, AVRational bq, AVRational cq){ return av
2015-06-12 15:45:53 11671 2
原创 ffmpeg源码跟踪笔记之av_write_frame 与 av_interleaved_write_frame
1、函数介绍2、函数调用图3、han
2015-06-12 11:45:17 21300 1
原创 Huffman tree
1、定义给定n个权值作为n的叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。2、几个概念 路径和路径长度在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分支的数目称为路径长度。若规定根结点的层数为1,则从根结
2015-06-11 16:24:58 911
原创 ffmpeg源码跟踪笔记之avcodec_decode_video2
1、函数介绍 /** * Decode the video frame of size avpkt->size from avpkt->data into picture. * Some decoders may support multiple frames in a single AVPacket, such * decoders would then just decode the
2015-06-11 16:03:03 6851
原创 ffmpeg源码跟踪笔记之av_read_frame
1、函数介绍/** * Return the next frame of a stream. * This function returns what is stored in the file, and does not validate * that what is there are valid frames for the decoder. It will split wha
2015-06-11 14:16:42 4142 1
原创 ffmpeg源码跟踪笔记之avcodec_open2
1、函数介绍 /** * Initialize the AVCodecContext to use the given AVCodec. Prior to using this * function the context has to be allocated with avcodec_alloc_context3(). * * The functions avcodec_find_
2015-06-11 10:11:32 5174 5
原创 ffmpeg源码跟踪笔记之avformat_find_stream_info
1、函数介绍位于libavformat/avformat.h:/** * Read packets of a media file to get stream information. This * is useful for file formats with no headers such as MPEG. This * function also computes the re
2015-06-09 17:45:06 2796
原创 ffmpeg源码跟踪笔记之avformat_open_input
1、函数调用图2、带注释的源码int avformat_open_input(AVFormatContext **ps, const char *filename, AVInputFormat *fmt, AVDictionary **options){ AVFormatContext *s = *ps; i
2015-06-08 17:44:39 2429
原创 把自定义的decoder加入ffmpeg源码
第一步:在libavcodec目录下新建mkdecoder.c,并加入一下代码:/* *实现一个自己的decoder,编码工作其实就是把pkt的数据拷贝到frame*作者:缪国凯(MK) *821486004@qq.com *2015-6-5 */ #include "avcodec.h"static av_cold int mk_init_decoder(AVCodecC
2015-06-05 14:30:24 2403 1
原创 ffmpeg代码实现自定义decoder
1、概述本文主要讲述如何用ffmpeg代码实现自己的decoder。2、代码/* *本程序主要实现一个自己的decoder并加入到decoder链中去,供api调用*作者:缪国凯(MK) *821486004@qq.com *2015-6-4 */ #include "stdafx.h"#ifdef __cplusplusextern "C"{#endif#i
2015-06-05 13:45:33 1535
原创 把自定义encoder加入ffmpeg源码
第一步:在libavcodec目录下新建mkencoder.c并加入代码:/* *实现一个自己的encoder,编码工作其实就是把frame的数据拷贝到pkt*作者:缪国凯(MK) *821486004@qq.com *2015-6-4 */ #include "avcodec.h"#include "libavutil/pixdesc.h"static av_col
2015-06-04 14:32:28 1685
原创 ffmpeg代码实现自定义encoder
1、概述本文主要讲述如何用ffmpeg代码实现自己的encoder。2、代码/* *本程序主要实现一个自己的encoder并加入到encoder链中去,供api调用*作者:缪国凯(MK) *821486004@qq.com *2015-6-4 */ #include "stdafx.h"#ifdef __cplusplusextern "C"{#endif#i
2015-06-04 14:24:18 1697
原创 把自定义的demuxer加入ffmpeg源码
.简介:把上一篇文章中的demuxer加入ffmpeg源码中去,使可以用命令行方式调用自定义的demuxer第一步:在libavformat目录下新建mkdemuxer.c和mkdemuxer.h,代码如下:mkdemuxer.c:/* *实现一个自己的demuxer并加入到demuxer链中去*作者:缪国凯(MK) *821486004@qq.com
2015-06-03 17:06:59 2059
原创 ffmpeg代码实现自己的demuxer
1、概述继上一篇文章,本文主要讲述如何用ffmpeg代码实现自己的demuxer,实现的意义一是了解ffmpeg代码结构,二是可以自己整自己的视频格式,让别人播放不了,此demuxer解复用的是上一篇文章中复用的文件。2、代码// MyDemuxer.cpp : Defines the entry point for the console application.//#incl
2015-06-03 14:25:50 2653
原创 把自定义的muxer加入ffmpeg源码
.简介:把上一篇文章中的muxer加入ffmpeg源码中去,使可以用命令行方式调用自定义的muxer第一步:在libavformat目录下新建mkmuxer.c和mkmuxer.h,代码如下:mkmuxer.c:/**实现一个自己的muxer(只为了熟悉框架,这个muxer其实是yuv,muxer)*作者:缪国凯(MK)*821486004@qq.com*2015-6-2
2015-06-02 17:10:59 2913 1
原创 ffmpeg用代码实现自己的muxer
1、概述本代码实现了一个muxer并加入到ffmpeg的AVOutputFormat 链表中去,使代码能直接调用。实现的意义一是了解ffmpeg代码结构,二是可以自己整自己的视频格式,让别人播放不了。2、代码简单看下代码:/**本程序主要实现一个自己的muxer并加入到muxer链中去,使其可用,只有视频*作者:缪国凯(MK)*821486004@qq.com*2015-6
2015-06-02 14:45:30 3627
ffmpeg实现录屏+录音
2015-07-23
mpeg-ps文件分析器
2015-07-10
ffmpeg音频转码,采用swr_convert重取样
2015-05-11
faac-1.28.diff
2015-04-28
mingw-get-inst-20110802.exe
2014-11-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人