
ffmpeg
F_Reading
这个作者很懒,什么都没留下…
展开
-
ffmpeg基本介绍
AVFrame表示解码过后的一个数据帧,这个结构体用来描述解码出音视频数据。AVFrame必须使用av_frame_alloc分配()。AVFrame必须与av_frame_free释放()。AVFrame通常分配一次,然后重复使用多次,不同的数据(如一个AVFrame持有来自解码器的frames。)在再次使用时,av_frame_unref()将自由持有的任何之前的帧引用并重置它变成初始态。AV...原创 2018-04-23 19:10:40 · 412 阅读 · 0 评论 -
硬解码后的surface渲染d3d
opengl 方式渲染需要将gpu数据copy到内存,然后再存入显存,优化点是数据的拷贝!其实现在觉得最好的方式还是d3d的RTT:https://bbs.youkuaiyun.com/topics/290074793如果是需要把渲染的结果当成纹理在别的地方使用的话,可以用“渲染到纹理”技术,把显存中的指定纹理表面作为渲染的目标,渲染的结果会直接保存到那个纹理表面中,不需要进行复制操作,速度非常快...转载 2019-01-05 20:57:09 · 929 阅读 · 0 评论 -
avformat input context 超时
解决方式:static int interrupt_cb(void *ctx) { AVFormatContext* formatContext = reinterpret_cast<AVFormatContext*>(ctx); //timeout after 5 seconds of no...转载 2018-12-29 20:42:51 · 263 阅读 · 0 评论 -
ffmpeg的基本参数解析
参数学习转载 2018-12-27 15:49:22 · 287 阅读 · 0 评论 -
关于stride pitch linesize
参考深圳大神著作参考图像pitch总结性写法其实开始的时候怎么保存的数据都是错的,各种扭曲,只有ffmpeg 的avio_write写法是对的,无法理解,大神说用align16去存取数据试试,其实这个主要是涉及到数据对齐。最后的解决方式是通过output_file = fopen("out.rgb", "wb+");将w+改为wb+..................w+以纯文...原创 2018-12-15 17:55:11 · 321 阅读 · 0 评论 -
yuv rgb 数据的转换及保存bmp
参考雷神转载 2018-12-15 17:40:47 · 433 阅读 · 0 评论 -
ffmpeg解码后frame数据存储
方式共有两种,其实存储数据只是为了检测解码后的数据是否正确./* retrieve data from GPU to CPU */ if ((ret = av_hwframe_transfer_data(sw_frame, frame, 0)) < 0) { fprintf(stderr, "Error transferring t...原创 2018-11-30 17:35:17 · 4129 阅读 · 0 评论 -
ffmpeg为AVPacket添加解码头信息
参考学习文档抛弃了原有的api,使用了新的api,为packet添加了spa,pps,便于播放!const AVBitStreamFilter *absFilter = NULL;AVBSFContext *absCtx = NULL;AVCodecParameters *codecpar = NULL;//1. 找到相应解码器的过滤器if(strcasecmp(codecNa...转载 2018-11-29 11:32:58 · 2294 阅读 · 0 评论 -
处理加速解码后视频数据copy的方法
首先是Intel的方式intel 官方文档其次是可以使用intel指令集 sse4再然后可以使用ffmpeg的:void av_image_copy_uc_from ( uint8_t * dst_data[4], const ptrdiff_t dst_linesizes[4], const uint...原创 2018-11-24 16:38:58 · 1187 阅读 · 0 评论 -
ffmpeg的qsv的编译
我用mingw和msys2试了下,不知道咋的msys2好像编译总有毛病,后来使用了miingw进行编译,参考链接(参考1),mfx_dispatch网上搜一下地址(mfx下载地址)(github下载地址) 编译此libmfx.pc,首先需要将下载完的源代码放入msys文件夹下面,然后cd到此目录下:感觉有两种方式:1:编译libmfx。 ./config;make;make i...原创 2018-08-03 13:42:32 · 2772 阅读 · 2 评论 -
windows下编译ffmpeg(2)
安装msys2,然后编译ffmpeg(参考链接)注意点是msys2安装在c盘,ffmpeg源码必须放在local下面。如图:原创 2018-06-10 18:59:56 · 291 阅读 · 0 评论 -
windows下编译ffmpeg
因为需要根据自己的要求增加功能,所以需要进行编译,整整搞了3天,真的是想爆粗口,贴上一个参考链接吧(参考链接1)(参考链接2)(参考链接3)我知道的编译方法可能有以下几种:1:直接下载mingw然后在安装的时候直接安装msys。然后下载别的yasm.exe添加进去2:msys2加上mingw,这种方式没有尝试3:下载压缩包mingw和msys压缩包,解压后按照1的路径添加我遇到的问题是1: 内存不...原创 2018-06-07 16:44:33 · 307 阅读 · 0 评论 -
windows下librtmp编译
摸索了很多天,大概一个星期,总结下,参考链接如下(参考1)(参考2)遇到的问题真的很多。转载 2018-06-13 18:10:35 · 1634 阅读 · 0 评论 -
h264保存的packet.data数据无法播放,主要是没sps,pps
https://blog.youkuaiyun.com/leixiaohua1020/article/details/11800877https://blog.youkuaiyun.com/qingkongyeyue/article/details/54023323H.264码流第一个 NALU是 SPS(序列参数集Sequence Parameter Set)对应H264标准文档 7.3.2.1 序列参数集的语法进行解...原创 2018-04-23 19:29:56 · 3073 阅读 · 0 评论 -
avframe中的linesize与width的关系
linesize是指每一行占多少字节,可能比宽度nwidth要大,它是根据cpu来对齐的,可能是16或32的整数倍,不同的cpu有不同的对齐方式。要通过上面的for循环将yuv数据放到一个bufer中:for (int i=0; i < nheight; i++) { ...转载 2019-04-09 09:49:44 · 1534 阅读 · 0 评论