使用LibVLC.NET时转码错误

时间:2014-07-22 06:54:08

标签: c# .net vlc libvlc

尝试使用LibVLC.NET将一个流转码为一秒时,我会从库中找回4个错误:

  

错误输出主要:无法创建音频过滤器
  错误流输出stream_out_transcode:无法找到用于重采样的转换过滤器
  错误流出stream_out_transcode:无法创建音频链
  错误解码器main:无法创建打包输出(mp4a)

我模拟的完整来源'可以找到here,但基本上MRL是在PlayerOutput对象中设置的 (PlayerOutput class库中存在LibVLC.NET

var PlayerOut = new PlayerOutput(
    ":sout=#transcode{vcodec=none,acodec=mp3,ab=32,channels=1}:std{access=file,mux=ts,dst=bob.mp3}"
);

我已经搜索了多个论坛,试图找到解决这个问题的方法,但收效甚微 VLC版本LibVLC.NET使用的是1.1.9,我不确定这些转码选项是否存在错误,或者根本不支持。

删除转码模块后,它变为:

var PlayerOut = new PlayerOutput(":sout=#std{access=file,mux=ts,dst=bob.mp3}");

这一切变化后一切运行顺利,我得到了一个不断增长的mp3文件,但这是我想要做的事情,因为我的目标是让所有输出流保持不变到上面的设置(实际实现将使用UDP作为输出流。)

我有什么遗失的吗? 或者这个不支持这个版本? 如果这是一个旧版本'问题,我应该尝试更新'库,或者从新的开始,为libvlc创建我自己的桥/ interlop以实现我的目标?

注意,我还发现在转码选项中添加samplerate=44100,实际上会将应用程序vhost与应用程序本身一起崩溃,而在Visual Studio中没有出现异常。在VLC中似乎有一个known problem具有此特定设置,但为什么这会影响vhost本身?

0 个答案:

没有答案