当前位置:   article > 正文

深入理解FFmpeg-学习记录1

深入理解ffmpeg

概要

提示:这里可以添加技术概要

例如:

openAI 的 GPT 大模型的发展历程。

FFmpeg简介

FFmpeg包含多媒体相关的工作集,包含ffmpeg, ffprobe,ffplay,分别用于转码,播放和分析。其次,他还提供了一组饮食篇编解码、媒体处理的开发套件,为开发者提供丰富的多媒体处理的AI调用接口及相应的辅助工具库。

其中我们最常用的就是ffmpeg, ffprobe,ffplay这三个工具。

FFmpeg编译

Windows编译(我这里按照书中的方法进行安装)

1、拉取代码

git clone https://github.com/FFmpeg/FFmpeg.git
  • 1

2、安装msys2
上msys2官网(https://www.msys2.org/),下载exe安装包,傻瓜式安装即可

2、运行msys2,安装mingw64和make命令行工具

pacman -S mingw-w64-ucrt-x86_64-gcc
pacman -S make
  • 1
  • 2

3、开始编译
分别运行如下命令,直接make非常慢,可以设置-j 4或者更好并行编译,加快速度

./configure
make
make install
  • 1
  • 2
  • 3

FFmpeg组成

命令行工具

  • ffmpeg:转码命令行工具
ffmpeg -s 1920x1080 -pix_fmt yuv420p -i test.yuv test.png
  • 1
  • ffplay:基于SDL的简单播放器(SDL(Simple DirectMedia Layer)是一个跨平台的开源多媒体库,用于处理图形、音频、输入设备和事件。它提供了一套简单而强大的接口,使开发者能够轻松地创建多媒体应用程序,如游戏、模拟器、多媒体播放器等)
ffplay test.mp4
  • 1
  • ffprobe:多媒体信息获取工具
ffprobe test.mp4
  • 1

基础库

  • 封装/解封装 AVFormat
    包含多媒体领域中的大多数媒体封装格式,例如MP4,MKV等等,以及RTMP,RTSP等网络流媒体协议

  • 编解码 AVCodec
    AVCodec不仅以原生的方式支持H264,MPEG等媒体编解码格式外,还可以通过集成第三方库的方式来支持第三方编解码器,例如x264 x265

  • 滤镜 AVFilter
    提供通用的音频,视频,字幕等滤处理框架

  • 设备 AVDevice
    提供常用的输入输出设备的处理框架。macOS上使用AVFoundation调用底层的音视频及共享桌面输入。Windows常用dshow作为音视频输入

  • 图像转换 swscale
    swscale提供了底层的图像转换API接口,允许进行图像缩放和像素格式转换,例如上述的ffmpeg使用案例

  • 音频转换 swresample
    swresample允许操作音频采样,音频通道布局转换和布局调整。

小结

FFmpeg是一个强大的工具,希望学完能有打个音视频处理的基础,最终能自主设计和高完成度的音视频处理软件。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号