FFmpeg.AutoGen 获取注册的编解码类型
使用FFmpeg.AutoGen 获取注册的编解码类型
1 获取版本
Debug.WriteLine($"FFmpeg version info: {ffmpeg.av_version_info()}");
FFmpeg version info: 6.0-full_build-www.gyan.dev
2 获取注册的编解码类型(注 支持硬件加速需要对源码编译)
// 使用 av_codec_iterate 获取编解码器信息 void* opaque = null; AVCodec* codec; // 用于存储已处理的编解码器名称 var codecsSet = new HashSet<string>(); while ((codec = ffmpeg.av_codec_iterate(&opaque)) != null) { // 获取编解码器的名称和类型 string codecName = ffmpeg.avcodec_get_name(codec->id); string codecType = codec->type == AVMediaType.AVMEDIA_TYPE_VIDEO ? "Video" : codec->type == AVMediaType.AVMEDIA_TYPE_AUDIO ? "Audio" : "Other"; // 如果此编解码器名称已被记录,则跳过 if (!codecsSet.Add(codecName)) continue; Debug.WriteLine($"Codec: {codecName}, Type: {codecType}"); }