首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >libvlcsharp - iOS转码不接受媒体选项参数

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

Stack Overflow用户
提问于 2021-04-22 00:17:14
回答 1查看 93关注 0票数 0

我在iOS和Android上使用Xamarin libVLCSharp播放器已经有一段时间了,它工作得很好。我已经添加了转码功能,但出于某种原因,我的libVLCSharp代码可以很好地在Android上进行转码(更改编解码器、比特率、fps),但在iOS (iPhone 12 pro,iOS 14.4.2)上相同的转码媒体选项与输入视频文件相比,在输出视频文件中不会产生任何变化。我已经附上了样本视频文件,我试图转码。

以下是我的C#代码(其中包含可以在安卓系统上运行的转码媒体选项,但不能在iOS上运行):

代码语言:javascript
复制
    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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-26 09:41:16

尝试使用

代码语言:javascript
复制
$":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}"

可以随意删除不必要的选项,但从我的发现来看,这个字符串应该是有效的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67199654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档