1、开源库 支持window,Andriod,Ios,linux等

 

2、音视频处理功能

①音视频源输入

②音视频流输出

③音视频流处理

3、基本模块

①AVCodec  音视频的编码和解码相关的方法   如H264的编码方式

②AVFormat  格式 比如视频流是TS流,实际上就是指ts封装格式。如果这个文件是mp4那么封装格式就是mp4的,但是Codec可能是H264的

③AVFilter  过滤器,源是1080p结果输出640*480p的,将大的视频转化为小的视频

④SwrResample 重采样 主要用于音频,视频不存在重采样,可以修改采样率 AVFilter也可以设置采样率他和SwrResample功能有重叠

⑤Swrscale  缩放,主要用于视频,比如将大的视频缩小,将小的视频放大

⑥其它模块 如devices设备模块  可以视频ffmpeg获取电脑的硬件信息和计算模块

4、基本流程 ffmpeg 官网流程

ffmpeg学习3 初识ffmpeg

 

5、开发语言C

 

6、为什么用ffmpeg

最关键的好处是节省开发时间,比如手动获取rtsp视频流保存到本地,不使用ffmpeg库的时候应该做

①实现RTSP客户端,还需要实现RTCP控制音视频包,接收音视频包

②解视频包(RTSP--->H264)

③解音频包(RTP-->PCM(alaw))

④音频转码(PCM-->AAC)

⑤重新封装音视频包

如果使用ffmpeg库,这几个步骤直接使用ffmpeg提供的函数接口就可以了,如下

①avformat_open_input  

②avformat_find_stream_info  

③av_read_frame  

④avformat_alloc_output_context2 

⑤av_write_frame

整个过程ffmpeg直接就将RTSP流产生的数据存储到本地了。

相关文章:

  • 2021-05-10
  • 2021-10-02
  • 2021-11-05
  • 2021-08-21
  • 2021-10-18
  • 2022-02-04
  • 2021-07-25
  • 2021-06-29
猜你喜欢
  • 2022-02-21
  • 2021-10-07
  • 2021-10-05
  • 2022-02-13
  • 2021-08-29
  • 2021-09-03
  • 2021-07-05
相关资源
相似解决方案