/// <summary> /// 暂停推流 /// </summary> public void PauseVideo() { for (int i = 0; i < VLCSteamList.Count; i++) { VLCSteamer vs = VLCSteamList[i]; int res = VLC_PauseMedia(vs.VLCSteamHandle, vs.Media_Name); Console.WriteLine("VLCSteaming : Pause Video " + getFinalResStr(res) + " Handdle : " + vs.VLCSteamHandle); } }
/// <summary> /// 程序退出时调用的VLC实例释放的方法 /// </summary> public void ApplicationExitFuntion() { for (int i = 0; i < VLCSteamList.Count; i++) { VLCSteamer vs = VLCSteamList[i]; VLC_StopMedia(vs.VLCSteamHandle, vs.Media_Name); VLC_Release(vs.VLCSteamHandle); } }
/// <summary> /// 开始推流 /// </summary> public void SteamVideo() { if (VLCSteamList.Count == 0) { Console.WriteLine("VLCSteaming : VlcSteamList count is zero"); } else { Console.WriteLine("VLCSteaming : Start Steaming"); for (int i = 0; i < VLCSteamList.Count; i++) { VLCSteamer vs = VLCSteamList[i]; int res = VLC_PlayMedia(vs.VLCSteamHandle, vs.Media_Name); Console.WriteLine("VLCSteaming : Media PLay Result " + getFinalResStr(res)); } } }
void CreateVLCInstance(string Videopath, int index) { VLCSteamer vs = new VLCSteamer(); IntPtr vlcHandle = VLC_Init(); vs.VLCSteamHandle = vlcHandle; string ChanelHao = getNVRChanel(); vs.Media_Sout = "#rtp{sdp=rtsp://admin:a1234567@:" + vlcPort + "/h264/ch" + ChanelHao + "/main/av_stream} --sout-keep"; vs.Media_Name = "VLCMediaName" + index.ToString(); vs.Media_URL = Videopath; VLCSteamList.Add(vs); int Boardres = VLC_Add_Broadcast(vs.VLCSteamHandle, vs.Media_Name, vs.Media_URL, vs.Media_Sout); // int PlayRes = VLC_PlayMedia(vs.VLCSteamHandle,vs.Media_Name); Console.WriteLine("VLCSteaming : Port :" + vlcPort + " Handle : " + vs.VLCSteamHandle + " Add BoardRess Result : " + getFinalResStr(Boardres)); }