libvlcsharp - iOS 转码不接受媒体选项参数

libvlcsharp - iOS transcode not accepting media option parameters

我在 iOS 和 Android 上使用 Xamarin libVLCSharp 播放器有一段时间了,它运行良好。我添加了转码功能,但出于某种原因,我的 libVLCSharp 代码可以很好地在 Android 上进行转码(更改编解码器、比特率、fps),但在 iOS 上进行相同的转码媒体选项(iPhone 12 pro, iOS 14.4.2) 与输入视频文件相比,输出视频文件没有变化。我附上了我正在尝试转码的示例视频文件。

这是我的 C# 代码(其中包含适用于 Android 但不适用于 iOS 的转码媒体选项):

    Core.Initialize();

    _vlc = new LibVLC();

    _player = new LibVLCSharp.Shared.MediaPlayer(_vlc);

    _media = new Media(_vlc, _source, FromType.FromPath);

    _media.AddOption ($":sout=#transcode{{vcodec=h264,vb=700000,acodec=aac,ab=96,channels=2,samplerate=44100,scodec=none}}:std{{access=file,mux=ts,dst={destination}}}");

    var result = _player.Play(_media);

任何关于此转码命令为何未在输出媒体文件中产生与原始文件相比没有任何变化的任何帮助或指示将不胜感激!

iOS 日志文件 https://drive.google.com/file/d/1C0UGzE7hqCJYozTvubyK1BKWcZvG18VY/view

我用来测试转码的示例文件: https://drive.google.com/file/d/1MvJKJnu2ii6XMANuWRkHLqmu78e9x03q/view

试试

$":sout=#transcode{venc={module=avcodec{codec=h264_videotoolbox}, vcodec=h264},venc={module=vpx{quality-mode=2},vcodec=VP80},samplerate=44100,soverlay}:file{dst={destination},mux=ts}"

随意删除不必要的选项,但根据我的发现,这个确切的字符串应该有效。