FFVCL/FFOCX 功能特性
基本功能
- 对音频视频进行编码播放的 All-In-One 解决方案
- 对 FFmpeg 库的完美封装, 简单、灵活、强大
- 对输入视频帧进行编辑, 如文本覆盖和图像覆盖
- 支持合并: 将多个不同格式的文件, 合并为一个文件
- 支持 帧输入 (Canvas, BMP Data, DeviceContext, YUV)
- 支持 帧输出 (RGB, MJPEG, H.264, H.264, YUV)
- 支持 包输入 (H.263, H.264, MJPEG, M4V, MPEGVideo, VC1)
- 支持 PCM Wave 数据输入
- 支持 PCM Wave 数据输出
- 支持 DirectShow 采集
- 支持 屏幕录像
- 支持 录音
- 支持 摄像头录像
- 支持 Video Filters, 如镜像、负片、缩放、旋转等
- 转换时支持实时预览
- 支持 多实例播放
- 支持 变速播放
- 支持 多线程编码
- 内置支持对多个文件转换的批处理
- 可设置任务线程优先级
- 支持“暂停”、“恢复”和“终止”操作
- FFLogger 组件的日志信息事件
- 转换进度事件
Video Hook
- 通过 OnVideoHook 事件, 作为内部 Video Hook 实现对输入帧画面的编辑功能, 比如文本覆盖和图像覆盖、反转帧画面、以及更多通过位图处理得到的各种效果.
- 通过 OnFrameHook 事件, 以原始帧格式对视频帧画面进行编辑.
Audio Hook
- 通过 OnAudioHook 事件, 对输入的音频采样数据进行特殊效果处理.
FFEncoder
- FFEncoder 用于音频和视频格式的转换: 输入 -> 解码(解压) -> 编码(压缩) -> 输出.
- FFEncoder 功能强大, 且有一点复杂, 请参考 Encoder 说明文档.
FFPlayer
- FFPlayer 用于播放音频和视频文件.
- FFPlayer 使用简单, 但功能不够强大, 请参考示例程序.
FFDecoder
- FFDecoder 用于获得媒体文件信息, 解码视频文件的帧画面以及解码音频获得 PCM 音频采样数据.
- FFDecoder 使用简单, 请参考示例程序.
FFLogger
- FFLogger 捕获其他组件输出的日志(包括 Add-ons, FFEncoder, FFPlayer, FFDecoder 和 DLLs).
- FFLogger 是一个辅助组件, 当需要的时候会自动创建一个全局实例, 并且只允许一个实例.
扩展插件
- MemoryAccessAdapter 为输入和输出提供内存读写接口 (open, read/write, seek, close).
- FrameInputAdapter 提供直接输入视频帧的接口 (Bitmap canvas, Bitmap data, Bitmap DeviceContext, YUV).
- FrameOutputAdapter 提供直接输出视频帧的接口 (RGB, MJPEG, H.263, H.264, YUV).
- PacketInputAdapter 提供直接输入视频包的接口 (H.263, H.264, MJPEG, M4V, MPEGVideo, VC1).
- WaveInputAdapter 提供直接输入 PCM Wave 数据的接口.
- WaveOutputAdapter 提供直接输出 PCM Wave 数据的接口.
- GDICapture 提供屏幕捕捉接口作为视频输入和录音接口作为音频输入.
- DShowCapture(ffmpeg 库内置) 提供摄像头捕捉接口作为视频输入和录音接口作为音频输入.