FFmpeg音视频开发入门--Apple的学习笔记

之前看过一个流媒体开发的音视频基础,并且搭建过FFmpeg的VS2017调试环境。所以现在要通过使用FFmpeg库来入门。

目标

  1. 会使用基本的FFmpeg命令,实现简易播放--ok
  2. 通过FFmpeg的API+SDL,实现简易播放--ok

关于音视频中的关键步骤

解协议:对象为流媒体RTMP等数据。
解封装:对象为封装为MP4,AVI等格式的数据。
解码:对象为压缩过的包括H.264/AAC等的数据,目的是输出最终的YUV视频裸数据及PCM音频裸数据。

FFmpeg C++编码

参考FFmpeg简易播放器的实现1-最简版
关键函数流程
1.media_file ---[av_read_frame()]
2.p_packet ---[avcodec_send_packet()] 发送数据到ffmepg,放到解码队列中
3.decoder ---[avcodec_receive_frame()]将成功的解码队列中取出1个frame
4.p_frm_raw ---[sws_scale()] SDL窗口设置
5.p_frm_yuv ---[SDL_UpdateYUVTexture()] SDL更新
6.display

参考网址

1.FFmpeg官网
2.ffmpeg 基本用法
3.使用FFmpeg制作一个简易录屏软件

你可能感兴趣的:(FFmpeg音视频开发入门--Apple的学习笔记)