FFMPEG学习记录及总结

=====================================================

最简单的基于FFmpeg的推流器系列文章列表:

《最简单的基于FFmpeg的推流器(以推送RTMP为例)》

《最简单的基于FFMPEG的推流器附件:收流器》

=====================================================

FFMPEG是一套非常强大的软件,他主要提供音视频格式转换,图像拉升,添加水印,视频截图等功能。关于FFMPEG的学习资料非常的多,以雷神为主的博客非常详细介绍了FFMPEG的使用和具体实现。但是雷神的博客多以Windows平台开发,对于我等初学者,能做的就是把他们应用到linux平台。还有就是FFMPEG版本更新的比较快,在新的版本中,出现了一些新的接口,同时对于旧板的一些接口则不再支持,这对于学习FFMPEG还是添加了不少的麻烦。

    首先是软件安装和环境配置,可以参考:

    linux FFMPEG 完整安装

    mjpeg-streamer源码分析

     V4L2百科


    在linux系统中,最简单的FFMPEG程序实例:

    linux 平台最简FFMPEG 程序


    使用FFMPEG操作V4L2,比起自己写接口操作V4 L2方便得多,且输出数据格式可以任意的装换,及其的方便。

    FFMPEG(一) 从V4L2捕获摄像头数据

    FFMPEG(二) v4l2 数据格式装换

    FFMPEG(三) v4l2 数据编码H264


    FFMPEG的内存操作,可以参考:

    FFMPEG内存操作(一) avio_reading.c 回调读取数据到内存解析

    FFMPEG内存操作(二)从内存中读取数及数据格式的转换

    FFmpeg内存操作(三)内存转码器


    使用FFMPEG进行图像的缩放,添加水印,数据格式的装换,可以参考:

    FFMPEG 图像拉伸缩放及数据格式转换

    FFMPEG 最简滤镜filter使用实例(实现视频缩放,裁剪,水印等)

    FFMPEG 编码YUYV 数据



你可能感兴趣的:(C语言)