![无法在 FFMPEG 转码的输出文件名中使用 unicode](https://linux22.com/image/1452201/%E6%97%A0%E6%B3%95%E5%9C%A8%20FFMPEG%20%E8%BD%AC%E7%A0%81%E7%9A%84%E8%BE%93%E5%87%BA%E6%96%87%E4%BB%B6%E5%90%8D%E4%B8%AD%E4%BD%BF%E7%94%A8%20unicode.png)
我在C#windows 服务来转换视频。转换工作正常。但是当我指定包含 unicode 的输出文件名时,转码失败。这是一个已知问题,还是有什么方法可以让 FFMPEG 支持 unicode 字符?这是我用于转换的参数:
ffmpeg.exe -i “输入文件路径“-y -s 640x360 -b:v 1024k -r 29.7 -movflags faststart -pix_fmt yuv420p”输出文件名.mpg“
当我在“outputfilename”中使用unicode时,它将会失败
编辑: 我是从 C# 代码提交这些值的,而不是从 Windows 控制台提交。我需要传递其他任何内容来支持 unicode 吗?我需要支持完整的 Unicode 字符集,因为输出名称可以是任何语言。
答案1
这不是 ffmpeg 的问题,而是您的 Windows 控制台未设置为使用 Unicode。要在命令提示符下将代码页更改为 Unicode 类型:
chcp 65001
并将控制台字体更改为 Unicode 字体(例如 Lucida Console,但它不包含完整的 Unicode 字符集,您需要找到一个具有特定语言字符的字符集)。