ffmpeg
wu_cai_
这个作者很懒,什么都没留下…
展开
-
ffmpeg rgb与yuv的转换
原文链接:https://blog.csdn.net/jklinux/article/details/94432008ffmpeg里的libswscale库用于图像数据格式的转换.AVFrame 类型对象用于描述非压缩的音视频数据信息, 此对象本身不提供存储音视频数据的缓冲区,只用于记录数据格式,图像分辨率,数据缓冲区地址等信息.typedef struct AVFrame { ...转载 2020-02-29 21:57:31 · 1552 阅读 · 0 评论 -
MP4文件格式详解——结构概述
MP4文件格式详解(ISO-14496-12/14)Author:Pirate LeoEmail:codeevoship@gmail.com一、基本概念1、 文件,由许多Box和FullBox组成。2、 Box,每个Box由Header和Data组成。3、 FullBox,是Box的扩展,Box结构的基础上在Header中增加8bits version和24bits flags。4、 Header...转载 2018-05-22 15:51:31 · 1307 阅读 · 0 评论 -
ffplay流程分析
最近想做一个基于ffmpeg的播放器,最好的方法就是参考ffplay。简单分析一下在stream_open后启动三个线程 read_thread: 关键函数av_read_frame 作用是读取帧 推测单独拿出一个线程是因为接受网络数据时,怕因堵塞丢包 video_thread: 关键函数avcodec_decode_video2 解码视频,单独解码线程,解码后放入队列,能够减少绘制时延时 ...转载 2018-05-18 11:40:57 · 209 阅读 · 0 评论 -
自定义PROTOCOLS添加进FFMPEG源码的编译过程
ffmpeg是一套多媒体音视频处理工具,集成了采集、转码、转流、编解码等的功能,最近遇到了需要替换ffmpeg中传输协议的问题(添加自定义的编解码器道理是一样的),苦于网上没有详细教程,所以费了好大周章才搞清楚这一套流程。 所以特别写了这个帖子,希望其他小伙伴们遇到相同问题时可以参考一下,编写的时间比较仓促,不详细的地方还请见谅。私有传输协议编写:1. 当我们想要添加私有协议到ffmpeg中时...转载 2018-05-11 09:25:17 · 1724 阅读 · 0 评论 -
ffmpeg静态库的裁剪
直接对ffmpeg的源码进行编译链接生成的静态库非常大,仅仅avcodec就有几十兆。因此根据我们自己的需求对ffmpeg进行裁剪是非常必要的。先不说具体的,直接上代码。在ffmpeg源码的根目录下新建shell脚本,命名为ffmpeg_small(随便起的),然后把下面的内容复制进去,修改执行权限,然后执行,大概十多分钟后就可以得到裁剪后的ffmpeg静态库啦。经过验证,生成的libavcode...转载 2018-05-03 17:22:37 · 1118 阅读 · 0 评论 -
av_read_frame分析
在读此文件之前最好先看看 avformat_find_stream_info读数据时的几个缓存数据的流向,这篇文章讲解了s->internal->packet_buffer这个队列中数据的来源。同时对read_frame_internal函数有图例说明。基本上看完这篇文件,对av_read_frame函数就一目了然了。av_read_frame流程图代码解释s->flags &a...转载 2018-05-09 17:02:46 · 905 阅读 · 0 评论 -
ffmpeg avcodec_encode_video2 前面10多帧不能实时编码
ffmpeg avcodec_encode_video2 前面10多帧不能实时编码,查找原因!版本v1.2.1 原因找到:需要设置编码的速度和是否实时编码;见红色的部分! 注意: #include <libavutil/opt.h> /* Add an output stream. */static AVStream *add_stream(AVForm...转载 2018-05-02 20:31:22 · 722 阅读 · 0 评论 -
ffplay播放器原理剖析
****************************************************************************** ffplay系列博客: ** ffplay播放器原理剖析 ...转载 2018-04-19 20:27:26 · 1820 阅读 · 0 评论 -
ubuntu上安装SDL2
执行这两个命令就可以了sudo apt-get install libsdl2-2.0sudo apt-get install libsdl2-dev引用SDL2库编译自己的程序gcc -o myprogram myprogram.c `sdl2-config --cflags --libs`以下摘自官网https://wiki.libsdl.org/InstallationSupported p...转载 2018-04-16 20:11:26 · 1702 阅读 · 0 评论