【C#】【ffmpeg】外部调用线程执行ffmepg读取返回的信息乱码问题

起因

C#使用FFmpeg获取电脑音视频可以用设备,当返回内容包含中文时,出现乱码问题

解决方案

image

ffmpeg本身的输出都是使用的错误输出,所以设置的是StandardErrorEncoding,如果你用的不是ffmpeg,而且使用东西,也遇到了乱码问题,那么你应该去修改相应输出流的编码。

public Process process = new Process();
//省略
this.process.StartInfo.StandardErrorEncoding = Encoding.UTF8;
//中间省略
this.process.StartInfo.RedirectStandardError = true;
//省略

上面的是我用的,那么你可能不是new Process()
比如你是var startInfo = new ProcessStartInfo()
那么就应该是startInfo.StandardErrorEncoding = Encoding.UTF8;

image

posted @ 2022-10-18 09:17  萌狼蓝天  阅读(161)  评论(0编辑  收藏  举报