
音视频开发
JohnnyDeng94
行成于思,毁于随。
展开
-
FFmpeg源码(四)大军未动粮草先行——avformat_open_input
写在前面本节主要分析avformat_open_input:打开输入流的过程中所做的操作。源码解析首先我们先给出avformat_open_input的完整代码及详解注释(代码中标注的两个TODO的解析在后面):avformat_open_input/** * Open an input stream and read the header. The codecs are not o...原创 2019-11-28 14:09:18 · 852 阅读 · 0 评论 -
雷神simplest_ffmpeg_player解析(三)
写在前面学习雷神的博客,向雷神致敬~看了雷神的小学期视频课,在Github上下载了simplest_ffmpeg_player的代码,为代码加上了注释,作为留存。2019.07.22前置知识点simplest_ffmpeg_player.cpp注释链接及参考资料《基于 FFmpeg + SDL 的视频播放器的制作》课程的视频SDL视频显示WSAStartup函数知识...原创 2019-07-22 22:43:58 · 843 阅读 · 0 评论 -
FFmpeg源码(二)开疆拓土——mem.c
mem.cmem.c中的函数负责FFmpeg中的内存操作,内存的分配、重新分配、释放等。最常使用的几个函数:av_malloc(),av_realloc(),av_mallocz(),av_calloc(),av_free(),av_freep()。c语言基础源码分析前,先看一下当中用到的几个c常用函数1.C/C++中extern关键字详解 extern可以置于变量或者函数前,以标示...原创 2019-07-17 22:50:37 · 730 阅读 · 0 评论 -
FFmpeg源码(一)梦开始的地方——av_register_all()
av_register_all()本篇主要解析av_register_all()所在文件libavformat–allformats.c及av_register_all()在调用过程中引用到的libavcodec–allcodecs.c。ffmpeg注册复用器,编码器等的函数av_register_all()。该函数在所有基于ffmpeg的应用程序中几乎都是第一个被调用的。只有调用了该函数,才...原创 2019-07-17 22:44:44 · 2372 阅读 · 0 评论 -
雷神simplest_ffmpeg_player解析(四)
写在前面学习雷神的博客,向雷神致敬~看了雷神的小学期视频课,在Github上下载了simplest_ffmpeg_player的代码,为代码加上了注释,作为留存。2019.07.24simple_ffmpeg_play_sdl2r.cpp注释simple_ffmpeg_player_su.cpp注释simple_ffmpeg_play_sdl2r.cpp是单纯的SDL播放器,si...原创 2019-07-24 16:01:52 · 814 阅读 · 2 评论 -
雷神simplest_ffmpeg_player解析(一)
写在前面学习雷神的博客,向雷神致敬~看了雷神的小学期视频课,在Github上下载了simplest_ffmpeg_player的代码,为代码加上了注释,作为留存。2019.07.16视频中的前置知识点simple_ffmpeg_decoder.cpp注释simple_ffmpeg_decoder_pure.cpp注释链接及参考资料《基于 FFmpeg + SDL 的视频播放...原创 2019-07-16 22:00:54 · 1793 阅读 · 1 评论 -
FFmpeg源码(三)解码前世今生——avcodec_decode_video2、avcodec_send_packet与avcodec_receive_frame
写在前面本节主要讲AVPacket中的数据解码到AVFrame中的过程。前置知识点1.FFmpeg数据结构简介AVFormatContext:封装格式上下文结构体,也是统领全局的结构体,保存了视频文件封装格式相关信息AVInputFormat:每种封装格式对应一个该结构体AVStream:视频文件每个视频(音频)流对应一个该结构体AVCodecContext:编码器上下文结构体,...原创 2019-07-23 17:40:14 · 9183 阅读 · 5 评论 -
雷神simplest_ffmpeg_player解析(二)
写在前面学习雷神的博客,向雷神致敬~看了雷神的小学期视频课,在Github上下载了simplest_ffmpeg_player的代码,为代码加上了注释,作为留存。2019.07.18前置知识点simplest_ffmpeg_helloworld.cpp注释知识点URLProtocol其中 url_protocols[] 在 protocol_list.c 中static ...原创 2019-07-18 14:48:37 · 621 阅读 · 0 评论 -
Vim常用命令
Vim键位图菜鸟教程中的分类基本上 vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是:命令模式:用户刚刚启动 vi/vim,便进入了命令模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。以...原创 2019-06-30 10:59:40 · 260 阅读 · 0 评论 -
FFmpeg的安装、编译——教程及踩坑
写在前面FFmpeg的安装和编译,四处踩坑,总结在这里,持续更新~2019.06.29Ubuntu、Mac安装Ubuntu下编译WindowsMac安装安装十分简单,参考MAC 系统安装FFmpeg ,一共两步:第一步是下载Homebrew,将官方的最新链接复制到终端上:第二步,下载、安装ffmpeg编译// TODO在FFmpeg Builds可以下载编译...原创 2019-06-29 10:37:36 · 5659 阅读 · 0 评论 -
《FFmpeg从入门到精通》读书笔记(五)
写在前面2019.06.24第六章 FFmpeg滤镜使用(至 6.5 结束)FFmpeg滤镜使用FFmpeg滤镜Filter描述格式参数排列方式[输入流或标记名] 滤镜参数 [临时标记名]; [输入流或标记名] 滤镜参数 [临时标记名]...例如:输入两个文件,一个视频文件input1.mp4,一个图片logo.jpg,将图像流缩放为2000×2000分辨率,放置在视频的左上...原创 2019-06-24 23:25:50 · 3691 阅读 · 0 评论 -
《FFmpeg从入门到精通》读书笔记(四)
写在前面2019.06.23第五章 FFmpeg流媒体第五章 FFmpeg流媒体一、FFmpeg发布与录制RTMP流知识点:RTMP实时消息协议(英语:Real-Time Messaging Protocol,缩写RTMP)也称实时消息传输协议,是最初由Macromedia为通过互联网在Flash播放器与一个服务器之间传输流媒体音频、视频和数据而开发的一个专有协议。Macro...原创 2019-06-23 23:20:18 · 2573 阅读 · 0 评论 -
音视频学习-从入门到精通到放弃
写在前面汇总贴,音视频相关的文章目录,持续更新~《FFmpeg从入门到精通》《FFmpeg从入门到精通》读书笔记(一)《FFmpeg从入门到精通》读书笔记(二)《FFmpeg从入门到精通》读书笔记(三)...原创 2019-06-23 17:34:15 · 2147 阅读 · 2 评论 -
《FFmpeg从入门到精通》读书笔记(六)
写在前面2019.06.25第六章 FFmpeg滤镜使用( 6.6 至结束)FFmpeg音频音量探测音频音量获得FFmpeg可以获取到音频的音量分贝、音频相关信息等,使用滤镜volumedetect获得ffmpeg -i output.wav -filter_complex volumedetect -c:v copy -f null /dev/null上图中,获得的音频的...原创 2019-06-25 22:23:37 · 2566 阅读 · 0 评论 -
《FFmpeg从入门到精通》读书笔记(三)
写在前面2019.06.20第四章 知识点(未进行排版,暂未加入硬编解码部分)FFmpeg转码FFmpeg软编码H.264与H.265FFmpeg本身不支持H.264的编码器,是由FFmpeg的第三方模块对其进行支持,当前常用的编码器为x264,所支持的像素格式主要包括以下几种(使用ffmpeg -h encoder=libx264进行查询)Encoder libx264 [l...原创 2019-06-20 23:54:05 · 2953 阅读 · 1 评论 -
《FFmpeg从入门到精通》读书笔记(二)
写在前面2019.06.18第三章 知识点(未进行排版)第三章 FFmpeg转封装一、MP4格式标准MP4文件由许多个Box与FullBox组成;每个Box由Header和Data两部分组成;FullBox是Box的扩展,其在Box结构的基础上,在Header中增加8位version标志和24为flags标志;Header包含了整个Box的长度的大小(size)和类型(ty...原创 2019-06-18 21:51:56 · 6390 阅读 · 0 评论 -
《FFmpeg从入门到精通》读书笔记(一)
写在前面最近在读《FFmpeg从入门到精通》这本书,结合着雷神的博客,学习音视频的知识~ 在学习的过程中,也记录了一些摘要。因为是边看边记的,所以一些要点在看到后面的时候,需要反过来整理前面的。我用有道云笔记写的markdown没法加图片,所以就先把这部分发了出来。后续会针对内容和排版一步步的优化,如果你被这凌乱的内容辣到了眼睛,请谅解哈哈哈~2019.06.18第一章+第二章 知识点(未...原创 2019-06-18 19:47:32 · 49926 阅读 · 21 评论