随笔分类 -  ffmpeg

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

1
点击右上角即可分享
微信分享提示