![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ffmpeg
奔向火星005
该博客只是本人记录笔记用的,非分享和教程,有很多描述不清或错误的地方,请多多包涵,当然,欢迎指正~
展开
-
ffmpeg解复用流程
与解复用有关的结构体解复用流程init_input(s, filename)的流程为: MP4对应的AVFormatContextAVInputFormat ff_mov_demuxer = { .name = "mov,mp4,m4a,3gp,3g2,mj2", .long_name = NULL_IF_CONFIG_SMALL("QuickTime原创 2017-05-11 21:09:26 · 1047 阅读 · 0 评论 -
ijkplayer解码后缓冲队列简析
因为ios硬解b帧并没有经过重排序,研究了下ijkplayer的处理,在此做个小记录。 硬解后回调如下:static void VTDecoderCallback(void *decompressionOutputRefCon, void *sourceFrameRefCon, OSStatus ...原创 2018-02-27 20:02:11 · 2277 阅读 · 0 评论 -
ISO/IEC 14496-12翻译(ISO Base Media File Format)
介绍The ISO Base Media File Format是被设计用来容纳一个为了便于交互,管理,展示的灵活,可扩展性的的多媒体文件的timed媒体信息。这个描述可以是本地的,或者是一个通过网络或其他传送机制的流。这个文件结构是面向对象的,一个文件可以被非常简单地解压到多个对象中,这些对象的结构直接从他们的类型中推测。当使能高效支持时,这些文件格式是独立于任何特殊网络协议而设计的翻译 2018-02-06 18:18:51 · 3020 阅读 · 0 评论 -
iOS 编译包含 bitcode 的 fdk-aac 静态库(包含 arm64)(转)
转载自:http://blog.csdn.net/chaoyuan899/article/details/51701100不多说了,这里是编译脚本。下载下来这个编译脚本后,修改一下 CFLAGS 选项,添加 -fembed-bitcode ,如下:细心的话,你设置一下 XCode 的 bitCode 选项的 enable 为 YES 的话,在 sourcetree 里查看批文件的修改也可看到其实修改转载 2017-09-08 15:32:29 · 709 阅读 · 0 评论 -
flv结构
发现一篇文章写的简洁一目了然,在此记录:https://segmentfault.com/a/1190000007361184转载 2017-08-22 14:37:03 · 241 阅读 · 0 评论 -
ios编译ffmpeg
转载自:http://www.cocoachina.com/ios/20150514/11827.html最近刚接触ffmpeg,找了很多相关的编译资料,都没有编译成功,前几天在 github上找到一个脚本(https://github.com/kewlbear/FFmpeg-iOS-build-script),就可完美编译准备条件先下载文件:https://github.com/libav/gas转载 2017-08-19 20:03:43 · 614 阅读 · 0 评论 -
AVIOContext结构体分析
相关图如下:原创 2017-08-19 11:32:34 · 344 阅读 · 0 评论 -
rtmp在ffmpeg中的连接流程
如下:原创 2017-05-28 10:19:29 · 797 阅读 · 1 评论 -
rtmp协议各字段的理解
主要参考文章来自:http://blog.csdn.net/shangmingyang/article/details/508378521.Chunk Stream ID: 简称CSID, 0,1,2由协议保留的,2代表该chunk是控制信息和一些命令信息,其他[3~65599]可以由用户自定义,可见它并不是一个chunk的标识符;2.message type id:(消息的类型id):占用1个字节原创 2017-05-28 09:56:05 · 355 阅读 · 0 评论 -
ffplay音视频同步分析(一)
先给出与同步有关的Clock的结构体,为了简化分析,我把Clock的一些字段删掉了,如有有兴趣可查看源码:typedef struct Clock { double pts; /* clock base */ double pts_drift; /* clock base minus time at which we updated the clock *原创 2017-05-26 12:11:42 · 2288 阅读 · 1 评论 -
ffplay中的parse_options()分析
简单的写了一下,还是放上来吧:原创 2017-05-26 11:09:29 · 603 阅读 · 0 评论 -
ffplay主要流程
ffplay是FFmpeg下的一个播放器,其代码比较简洁,有很好的参考意义,下面是它的主要流程:原创 2017-05-26 11:00:43 · 344 阅读 · 0 评论 -
rtmp协议整理
一直感觉网上rtmp协议的说明材料很烦杂,所以按照自己的思路理一理。 先不管分块,只看消息: 消息类型主要有几种 1.Set Chunk Size(Message Type ID=1); 2.Abort Message(Message Type ID=2); 3.Acknowledgement(Message Type ID=3); 4.Window Acknowledgemen原创 2017-05-20 07:20:14 · 243 阅读 · 0 评论 -
ffmpeg之rtmp分析(一)
ffmpeg自身写了一个的支持rtmp协议的代码,与rtmp对应的AVInputFormat为:AVInputFormat ff_flv_demuxer = { .name = "flv", .long_name = NULL_IF_CONFIG_SMALL("FLV (Flash Video)"), .priv_data_size = size原创 2017-05-20 07:18:46 · 923 阅读 · 0 评论 -
ffmpeg中MP4的解复用过程
主要流程1.在s->io_open()中创建了URLContext和它的prot成员(URLProtcol)。其中URLProtcol对应的协议为file;其中MP4的URLProtcol为:const URLProtocol ff_file_protocol = { .name = "file", .url_open = file原创 2017-05-12 08:08:57 · 1885 阅读 · 0 评论 -
ffmpeg命令行main函数简析
以命令行ffmpeg -i input.mp4 -crf 22 -preset veryslow -o output.mp4为例,main函数首先调用ffmpeg_parse_options(),解析命令参数,打开输入,输出文件,并初始化相关滤镜,然后调用transcode()开始处理。transcode()的大体流程见下图: 1.2.3.4....原创 2018-04-07 23:03:41 · 1341 阅读 · 0 评论