使用 AVCaptureMovieFileOutput 实例时将视频编解码器设置为 H.264?赛马林
Set the Video Codec to H.264 when using an AVCaptureMovieFileOutput instance? Xamarin
在使用 AVCaptureMovieFileOutput 实例时需要帮助将视频编解码器设置为 H.264。
查看 Apple 文档,我发现它们支持 AVVideoCodecType 类型的结构,但是,我在 Xamarin.iOS 文档中没有看到这一点。
非常感谢您的帮助,因为我不想重写视频捕捉逻辑来使用 AVAssetWriter。
所以,我找到了解决方案,这里是为那些追随我的人提供的。
步骤 1: 创建一个 AVCaptureMovieFileOutput 实例。
var output = new AVCaptureMovieFileOutput();
第 2 步:创建一个 NSDictionary,在其中列出所需电影输出设置的键和值。
var outputSettings = new NSDictionary(AVVideoCodecType.H264, AVVideo.CodecKey);
第三步:设置输出设置
output.SetOutputSettings(outputSettings, output.ConnectionFromMediaType(AVMediaType.Video))
这里的技巧是调用 ConnectionFromMediaType 方法,在您的 AVCaptureMovieFileOutput 实例上传入 MediaType,其中 returns 一个 AVCaptureConnection。
我必须执行以下操作才能使它在 Xamarin.iOS 中工作:
var videoOutput = new AVCaptureMovieFileOutput();
var outputSettings = new NSDictionary(AVVideo.CodecKey, AVVideo.CodecH264);
videoOutput.SetOutputSettings(outputSettings, videoOutput.Connections[0]);
在使用 AVCaptureMovieFileOutput 实例时需要帮助将视频编解码器设置为 H.264。
查看 Apple 文档,我发现它们支持 AVVideoCodecType 类型的结构,但是,我在 Xamarin.iOS 文档中没有看到这一点。
非常感谢您的帮助,因为我不想重写视频捕捉逻辑来使用 AVAssetWriter。
所以,我找到了解决方案,这里是为那些追随我的人提供的。
步骤 1: 创建一个 AVCaptureMovieFileOutput 实例。
var output = new AVCaptureMovieFileOutput();
第 2 步:创建一个 NSDictionary,在其中列出所需电影输出设置的键和值。
var outputSettings = new NSDictionary(AVVideoCodecType.H264, AVVideo.CodecKey);
第三步:设置输出设置
output.SetOutputSettings(outputSettings, output.ConnectionFromMediaType(AVMediaType.Video))
这里的技巧是调用 ConnectionFromMediaType 方法,在您的 AVCaptureMovieFileOutput 实例上传入 MediaType,其中 returns 一个 AVCaptureConnection。
我必须执行以下操作才能使它在 Xamarin.iOS 中工作:
var videoOutput = new AVCaptureMovieFileOutput();
var outputSettings = new NSDictionary(AVVideo.CodecKey, AVVideo.CodecH264);
videoOutput.SetOutputSettings(outputSettings, videoOutput.Connections[0]);