ffmpeg
文章平均质量分 55
VintNee
老夫聊发少年狂
十年生死两茫茫
一树梨花压海棠
展开
-
编译ffmpeg x264 1.2.1版本
这一切的安装,不能简单用apt-get install x264;apt-get install yasm因为这些安装,有好多选项都要自己处理,况且还有版本的问题。x264需要1.2的yasm1. x264编译下载,解压./configure --enable-static --disable-opencl \ --disable-avs \原创 2013-07-18 21:01:07 · 1618 阅读 · 2 评论 -
ffmpeg开发 av_init_packet()和av_new_packet()
说明几点:1. AVPacket中的buf, 是AVBufferBuf结构体,这个结构体是个单链表, 只有data和size两个元素, 分别指向的是AVPacket中的data和sizevoid av_init_packet(AVPacket *pkt){ pkt->pts = AV_NOPTS_VALUE; pkt->dts原创 2014-01-01 14:37:30 · 10376 阅读 · 0 评论 -
ffmpeg开发系列-源码阅读
还是回到最初的源码阅读, 读到哪算哪吧int main(int argc, char **argv){ int ret; int64_t ti; register_exit(ffmpeg_cleanup); setvbuf(stderr,NULL,_IONBF,0); /* win32 runtime needs this */ av_lo原创 2014-01-02 15:49:20 · 2220 阅读 · 0 评论 -
ffmpeg开发系列-YUV转RGB
常用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)(U)(V) public static int[] I420ToRGB(byte原创 2013-12-23 21:47:08 · 1742 阅读 · 0 评论 -
ffmpeg.c中的主要函数
对应最新版ffmpeg2.1首先上传一张整体的函数表,1. 参数分析部分:ffmpeg_parse_options();网络处理部分也包含在其中,对应这个函数里面的open_files()整个核心函数transcode()见上图2. 进入到transcode()中,初始化工作transcode_init();里面有个while(!received_sigte原创 2014-04-02 17:19:18 · 2312 阅读 · 1 评论 -
ffmpeg ommon.h(30) : fatal error C1189: #error : missing -D__STDC_CONSTANT_MACROS / #define __STDC_
ommon.h(30) : fatal error C1189: #error : missing -D__STDC_CONSTANT_MACROS / #define __STDC_CONSTANT_MACROS原因:FFmpeg is written in C99, thus some features may not be compilable or usable in C原创 2014-04-05 00:49:07 · 5089 阅读 · 1 评论 -
内存中数据输出到stdout, ffmpeg如何直接读取stdio
我们知道,ffmpeg可以原创 2014-04-07 12:42:34 · 3549 阅读 · 0 评论 -
SDL2.0 播放YUV
/** =====================================================================================** Filename: main.cpp ** Description: ** Version: 1.0* Created: 2014年05月10日 1原创 2014-05-20 17:36:56 · 2461 阅读 · 2 评论 -
ffmpeg_doc(一)makefile
选取ffmpeg源码中的doc文件夹,学习里面的sample. 所谓他山之石,可以攻玉.sampel里面包含了几乎大部分的应用,可以说,解决了大部分视频处理的问题.每个demo只解决一个特定的例子,短小精悍,值得学习. 先看makefile# use pkg-config for getting CFLAGS and LDLIBSFFMPEG_LIBS= libavdevice原创 2014-12-01 20:12:10 · 1767 阅读 · 0 评论 -
ffmpeg_doc(二)decoding_encodeing.c
包含四个函数,视频编码解码和音频的编码解码原创 2014-12-01 20:58:55 · 858 阅读 · 0 评论 -
ffmpeg开发系列--av_read_frame()
int av_read_frame(AVFormatContext *s, AVPacket *pkt){ const int genpts = s->flags & AVFMT_FLAG_GENPTS; //missing pts? int eof = 0; int ret; AVStream *st; if (!genpts) {原创 2014-01-01 14:18:08 · 3205 阅读 · 0 评论 -
ffmpeg开发中出现的问题(五)
1. 如果要链接c++库, 这样用g++编译程序时, 会提示如下错误:uint64_t未定义, 而且还是头文件中的函数中使用的参数中的类型, 这个不能轻易修改.h文件解决:在程序中添加:#ifndef INT64_C#define INT64_C(c) (c ## LL)#define UINT64_C(c) (c ## ULL)#endif原创 2013-10-22 10:52:48 · 1710 阅读 · 0 评论 -
ffmpeg开发中的问题(十一)
今天开发一个blackmagic的程序, 要用到ffmpeg的编码库当然,对于视频,很好处理, 没一上午,就得到了清晰可见的视频, 甚是满意.但处理音频时颇费周折,具体曲折如下:1. 硬件不支持 blackmagic的产品各异, 有的支持获取声音, 有的不支持, 虽然用到的板卡可以抓取声音, 并存入文件.但打开的文件全为0, 要么全是噪声.刚开始分析问题如下:原创 2013-12-16 21:06:32 · 1440 阅读 · 0 评论 -
ffmpeg开发中出现的问题
ffmpeg开发中出现的问题,问题虽微,却困扰数天,确属遗憾。事后仅一笑而已..1. 视频一直很模糊:bit_rate设置太小2. 视频越来越模糊:non-strictly-monotionic PTS警告引起原因:当decode时,如果再encode,不能直接用decode的frame, 因为这样会对encode有干扰,原因是两者的frame只有data, lines原创 2013-10-11 12:06:15 · 2232 阅读 · 0 评论 -
makefile for ffmpeg
本人开发时的makefile,仅供参考# use pkg-config for getting CFLAGS and LDLIBSFFMPEG_LIBS= libavdevice \ libavformat \ libavfil原创 2013-10-11 12:12:27 · 2569 阅读 · 1 评论 -
ffmpeg开发中出现的问题(二)
接上5. sws_scale()函数可以转格式和大小当frame转frame时,要用avpicture_fill()分配dst_frame的大小和格式avpicture_fill()中的buff需要另外分配,int num = avpicture_get_size(PIX_FMT_YUV420P, width, height);uint8_t *buffer =原创 2013-10-11 15:08:03 · 1595 阅读 · 0 评论 -
ffmpeg提取音频存为PCM
写的一个小程序,用来测试文件音频,并存储为PCM. PCM可用专门软件来读取. 功能很简单,不值一提 /************************************************************************* > File Name: audio_test.c > Author: niwenxian > Ma原创 2013-10-15 08:57:14 · 6176 阅读 · 2 评论 -
PCM格式
算是上课吧,感谢原作者~1. 音频简介 经常见到这样的描述: 44100HZ 16bit stereo 或者 22050HZ 8bit mono 等等. 44100HZ 16bit stereo: 每秒钟有 44100 次采样, 采样数据用 16 位(2字节)记录, 双声道(立体声); 22050HZ 8bit mono:转载 2013-10-15 09:37:34 · 1855 阅读 · 1 评论 -
ffmpeg开发出现的问题(四) ftp/rstp/ts 流输出
之于使用ffmpeg完成流的输入和流的输出. 之前一直以为困难重重, 做好看协议的打算了.阅读源码方晓新版的ffmepg支持流的输入和流的输出.现在测试通过了. 实现的仅仅是最简单的ftp流输入/转码/ftp流输出. 并且效果和本地的文件一样,速度亦不相上下.实在是值得记录的大事之一. 网上关于流的输入或者输出,都是怎么实现协议和封装般的长篇累牍. 资料更是寥若星辰, 针对不同的应原创 2013-10-17 15:37:59 · 3553 阅读 · 0 评论 -
ffmpeg开发中出现的问题(三)
不足请指正.... 请勿转载,因为结论还不成熟1. provide packet is too small原因:编码的时候, packet没有释放就使用解决:av_free_packet();av_init_packet();avcodec_encode_vidoe2();这里如果把av_free_packet()写在后面都不行,真是怪了2. sws_sca原创 2013-10-13 17:15:46 · 2590 阅读 · 0 评论 -
ffmpeg开发中出现的问题(七)
继续足迹...1. AVFrame中, 如果格式是nv12, RGB, YUV420p则RGB data1,2,3分别指示R, G, B 大小width*height YUV420 分别指YUV, 大小width*height, width*height/4,width*height/4NV12 data[0]指Y, 大小w*h. data[1]指示uvuv...大小w*h/4,原创 2013-10-24 11:52:27 · 2152 阅读 · 0 评论 -
ffmpeg开发中的问题(十)
这两天一直在处理音频的工作。走了不少弯路。还好问题解决了,特此记录一下。音频出现过好多问题,包括:0. 无法打开某一个codec1. 没有声音2. 有噪声,但能听到所要的音频3. 完全噪声4. 无法转码到特定的格式,比如AAC,MP3等先说明一下几个重要的参数吧1. sample_fmt. 对应音频格式,主要是音频raw data的解释方法enum AV原创 2013-10-29 16:04:44 · 2868 阅读 · 1 评论 -
音视频解决方案开源项目
开源项目live555ffmpegvlcmediainfo原创 2016-02-29 14:12:45 · 2546 阅读 · 0 评论