我目前正在做一个学校项目,我必须在 C# 中使用 VLC 开始我的网络摄像头流。 我面临的主要问题是我认为编解码器(媒体选项)是错误的。 每次我尝试在 VLC 中查看我的 Stream 时,我都会收到一个错误或只是一个没有任何音频的黑屏。
代码:
public void StartStream()
{
var currentDirectory = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
var libDirectory = new DirectoryInfo(Path.Combine(currentDirectory, "libvlc", IntPtr.Size == 4 ? "win-x86" : "win-x64"));
using (var mediaPlayer = new VlcMediaPlayer(libDirectory))
{
var mediaOptions = new[]
{
":sout =#transcode{vcodec=h264,scale=Auto,acodec=s16l,ab=128,channels=2,samplerate=44100,scodec=none}",
":rtp{sdp=rtsp:" + _ip + ":8554/live.sdp}",
":no-sout-all",
":sout-keep"
};
//_ip = Local IPv4 Address
mediaPlayer.SetMedia(new Uri(@"dshow://"), mediaOptions);
mediaPlayer.Play();
MessageBox.Show("Streaming on rtsp://" + _ip + ":8554/live");
}
}
亲切的问候,
马可