随笔分类 - ffmpeg
1
摘要:/** =====================================================================================** Filename: main.cpp ** Description: ** Ver...
阅读全文
摘要:我们知道,ffmpeg可以读取本地文件, 网络数据http,ftp, udp, http, rtsp等, 但是这些都只需要一个简单的-i参数,后面接所需要的数据地址就可以了.之所以如此方便, 是因为ffmpeg的open_intput_file()等函数封装了很多特性,以至于我们不需要关注这些细...
阅读全文
摘要:ommon.h(30) : fatal error C1189: #error : missing -D__STDC_CONSTANT_MACROS / #define __STDC_CONSTANT_MACROS原因:FFmpeg is written in C99, thus some feat...
阅读全文
摘要:对应最新版ffmpeg2.1首先上传一张整体的函数表,1.参数分析部分:ffmpeg_parse_options();网络处理部分也包含在其中,对应这个函数里面的open_files()整个核心函数transcode()见上图2. 进入到transcode()中,初始化工作transcode_ini...
阅读全文
摘要:还是回到最初的源码阅读, 读到哪算哪吧int main(int argc, char **argv){ int ret; int64_t ti; register_exit(ffmpeg_cleanup); setvbuf(stderr,NULL,_IONBF,0); /* ...
阅读全文
摘要:说明几点:1. AVPacket中的buf, 是AVBufferBuf结构体,这个结构体是个单链表, 只有data和size两个元素, 分别指向的是AVPacket中的data和sizevoid av_init_packet(AVPacket *pkt){ pkt->pts ...
阅读全文
摘要:int av_read_frame(AVFormatContext *s, AVPacket *pkt){ const int genpts = s->flags & AVFMT_FLAG_GENPTS; //missing pts? int eof = 0; i...
阅读全文
摘要:常用YUV转RGB java代码public class YuvToRGB { private static int R = 0; private static int G = 1; private static int B = 2; //I420是yuv420格式,是3个plane,排列方式为(Y...
阅读全文
摘要:今天开发一个blackmagic的程序, 要用到ffmpeg的编码库当然,对于视频,很好处理, 没一上午,就得到了清晰可见的视频, 甚是满意.但处理音频时颇费周折,具体曲折如下:1. 硬件不支持 blackmagic的产品各异, 有的支持获取声音, 有的不支持, 虽然用到的板卡可以抓取声音,...
阅读全文
摘要:这两天一直在处理音频的工作。走了不少弯路。还好问题解决了,特此记录一下。音频出现过好多问题,包括:0. 无法打开某一个codec1. 没有声音2. 有噪声,但能听到所要的音频3. 完全噪声4. 无法转码到特定的格式,比如AAC,MP3等先说明一下几个重要的参数吧1. sample_fmt. 对应...
阅读全文
摘要:继续足迹...1. AVFrame中, 如果格式是nv12, RGB, YUV420p则RGB data1,2,3分别指示R, G, B 大小width*height YUV420 分别指YUV, 大小width*height, width*height/4,width*height/4NV12 d...
阅读全文
摘要:1. 如果要链接c++库, 这样用g++编译程序时, 会提示如下错误:uint64_t未定义, 而且还是头文件中的函数中使用的参数中的类型, 这个不能轻易修改.h文件解决:在程序中添加:#ifndef INT64_C#define INT64_C(c) (c ## LL)#define UINT64...
阅读全文
摘要:之于使用ffmpeg完成流的输入和流的输出. 之前一直以为困难重重, 做好看协议的打算了.阅读源码方晓新版的ffmepg支持流的输入和流的输出.现在测试通过了. 实现的仅仅是最简单的ftp流输入/转码/ftp流输出. 并且效果和本地的文件一样,速度亦不相上下.实在是值得记录的大事之一. 网上关...
阅读全文
摘要:算是上课吧,感谢原作者~1. 音频简介 经常见到这样的描述: 44100HZ 16bit stereo 或者 22050HZ 8bit mono 等等. 44100HZ 16bit stereo: 每秒钟有 44100 次采样, 采样数据用 16 位(2字节)记录, 双声道(立体声); 220...
阅读全文
摘要:写的一个小程序,用来测试文件音频,并存储为PCM. PCM可用专门软件来读取. 功能很简单,不值一提 /************************************************************************* > File Name: audio_tes...
阅读全文
摘要:不足请指正.... 请勿转载,因为结论还不成熟1. provide packet is too small原因:编码的时候, packet没有释放就使用解决:av_free_packet();av_init_packet();avcodec_encode_vidoe2();这里如果把av_free_...
阅读全文
摘要:接上5. sws_scale()函数可以转格式和大小当frame转frame时,要用avpicture_fill()分配dst_frame的大小和格式avpicture_fill()中的buff需要另外分配,int num = avpicture_get_size(PIX_FMT_YUV420P, ...
阅读全文
摘要:本人开发时的makefile,仅供参考(略去些许细节)# use pkg-config for getting CFLAGS and LDLIBSFFMPEG_LIBS= libavdevice \ libavfor...
阅读全文
摘要:ffmpeg开发中出现的问题,问题虽微,却困扰数天,确属遗憾。事后仅一笑而已..此处严重鄙视百度,作为技术人员,用百度就是耻辱~1. 视频一直很模糊:bit_rate设置太小2. 视频越来越模糊:non-strictly-monotionic PTS警告引起原因:当decode时,如果再encode...
阅读全文
摘要:这一切的安装,不能简单用apt-get install x264;apt-get install yasm因为这些安装,有好多选项都要自己处理,况且还有版本的问题。x264需要1.2的yasmffmpeg是最新版1.2.11. x264编译下载,解压./configure --enable-stat...
阅读全文
1