ffmpeg decode, encode, transcode, mux, demux, stream, filter的区别

我知道decode解码encode编码transcode转码,其他的是什么
2025-05-20 08:56:16
推荐回答(2个)
回答1:

  1. ffmpeg--多媒体视频处理工具

    简单的说,ffmpeg有视频采集功能、视频格式转换、视频抓图、给视频加水印

    值得注意的是,ffmpeg只是提供了编码解码的接口。

  2. decode--译码,解码工具

    如:H264 decode

  3. encode--解码

    值得一提的是:encode+decode=codec(编码方式)

  4. demux是“解析格式”,比如MKV,MOV是格式(专业的叫法是容器)

  5. 格式内有stream,每个stream可能是影像,声音,或字幕,影像声音字幕

总的来说:demux是“解析格式”,比如MKV,MOV是格式,容器内有很多stream,每个stream可能是影像,声音,或字幕,影像声音字幕又各自有不同的编码方式,如H264,AAC,SRT。decode对应于编码方式,如H264 decode.

回答2:

1)windows平台static library/shared library, 编译工具:mingw-gcc或者在linux平台下交叉编译(推荐)
2)linux平台static library/shared library, 编译工具:gcc

模块:
libavcodec - 编码解码器
libavdevice - 输入输出设备的支持
libavfilter - 视音频滤镜支持
libavformat - 视音频等格式的解析
libavutil - 工具库
libpostproc - 后期效果处理
libswscale - 图像颜色、尺寸转换