項目中遇到需要用html頁面播放視頻,客戶用的大華的視頻監控,由於也是第一次接觸,於是就開始百度查詢了一堆,都需要在瀏覽器裝插件,最后采用VCL媒體播放器進行RTSP流轉換。
一、大華視頻流地址
主碼流:rtsp://admin:admin123456@192.168.0.121:554/cam/realmonitor?channel=1&subtype=0
URL組成說明:
username: 用戶名;
password: 密碼;
ip: 網絡攝像機IP地址;
port: 端口號,默認554;
codectype:有h264/h265/mjpeg;
channel: 通道號。
subtype: 碼流類型,主碼流:0,子碼流:1。
二、VLC媒體播放器轉流操作
下拉框選項:流。
點擊添加
點擊流
三、VLC后台命令操作
項目通過前端通過AJAX調用后台VLC轉流指令,返回Http地址與端口號賦給Video標簽src屬性。
這里貼出后台轉流測試方法,指令可能會有所改變,感興趣的朋友可以嘗試一下,共同學習,但是開的多的話還是比較占用服務器CPU資源!
1 using System; 2 using System.Collections.Generic; 3 using System.Diagnostics; 4 using System.Linq; 5 using System.Text; 6 using System.Threading.Tasks; 7 8 namespace ConsoleApplication 9 { 10 class Program 11 { 12 static void Main(string[] args) 13 { 14 Process process = new Process(); //創建進程對象 15 process.StartInfo.FileName = "cmd.exe"; //要執行的程序名 16 process.StartInfo.UseShellExecute = false; ////不使用系統外殼程序啟動進程 17 process.StartInfo.CreateNoWindow = true; //不顯示dos程序窗口 18 process.StartInfo.RedirectStandardInput = true; 19 process.StartInfo.RedirectStandardOutput = true; 20 process.StartInfo.RedirectStandardError = true; 21 process.StartInfo.CreateNoWindow = true;//不顯示程序窗口 22 process.Start(); //進程開始 23 process.StandardInput.WriteLine("d:"); 24 process.StandardInput.WriteLine("cd VLC"); 25 string test = @"vlc -I dummy -vvv rtsp://賬號:密碼@網絡攝像機IP:554/cam/realmonitor?channel=1&subtype=0 --sout=#transcode{vcodec=theo,vb=800,acodec=vorb,ab=128,channels=2,samplerate=44100}:http{access=http,mux=ogg,dst=172.16.177.21:8803} --sout-all --sout-keep"; 26 process.StandardInput.WriteLine(test); 27 } 28 29 30 } 31 }