我想重新编码音频文件的音频流。以下gstreamer管道可以正常工作:
BaseResult
但是,当我将编码器/解码器切换到libav aptx时,出现以下错误:
public class ARRAY
{
public string Item1 { get; set; }
public string Item2 { get; set; }
}
public class Result
{
public int ID { get; set; }
public string TITLE { get; set; }
public List<ARRAY> ARRAY { get; set; }
}
public class BaseResult
{
public Result result { get; set; }
}
我收到以下错误:
gst-launch-1.0 filesrc location=input.flac ! decodebin ! audioconvert ! \
sbcenc ! sbcdec ! autoaudiosink
我在管道中缺少什么?如何使用FFMPEG / libav编解码器?
我是gstreamer的新手,并且想使用cli工具将音频流重新编码为一堆不同的编解码器。 libav似乎具有所有必需的编解码器。
答案 0 :(得分:1)
一切正常,但是...
执行gst-launch-1.0 --version
来检查Gstreamer的版本。
在Gstreamer版本1.15.90中,我用avenc_aptx
检查了gst-inspect-1.0 avenc_aptx
,发现此编码器的SRC(源)功能是“未知”的。而且,Gstreamer元素需要共享功能才能相互连接。
另一方面,avenc_aptx的文档明确指出了具有SRC功能(音频/ aptx ....)。
对于解码器avdec_aptx
,SINK功能“未知”,但文档中显然提到了SINK功能。
因此,您的问题很可能是由于您的Gstreamer版本已经部分(不完全)实现了aptx编码器和解码器而引起的。
尝试将Gstreamer升级到最新版本,再次检查aptx编码器/解码器,如果可见SRC / SINK功能,请重新运行管道。