2014-06-13 97 views
1

我已經得到了來自網絡攝像機的視頻流的勝利窗體應用程序... 我使用一個lib是已經avaliable .. LIB網站 VideoLAN的DOTNET的WinForm的供,WPF &的Silverlight 5開始記錄按鈕點擊使用VLC流點網庫

爲了STRAM視頻我這樣做:

string path = "rtsp://****:****@192.168.5.223/profile2/media.smp"; 
LocationMedia media = new LocationMedia(path); 
vlcControl1.Media = media; 
vlcControl1.Play(); 

我現在想要的是流保存到一個按鈕,單擊文件,我的意思是,在播放視頻時,然後我按下按鈕錄製視頻...

我該怎麼辦?

啓動視頻我可以做到這一點,以節省當

..

string path = .... 
LocationMedia media = new LocationMedia(path);  media.AddOption(":sout=#transcode{vcodec=theo,vb=800,scale=1,acodec=flac,ab=128,channels=2,samplerate=44100}:std{access=file,mux=ogg,dst=C:\\Users\\hsilva\\Desktop\\123.mp4}"); 
vlcControl1.Media = media; 
vlcControl1.Play(); 

所以我怎樣才能添加選項,如果視頻已在播放...

+0

你解決了嗎? – Gavin

+0

因此,我所做的就是停止正在播放的視頻,然後用sout選項開始新視頻。但是,我正在嘗試查找代碼完成的完整代碼,然後我將在此處發佈它。 –

+0

非常感謝。我已經提出了相同的過程,使用#duplicate指令停止然後開始,以便預覽也被呈現。有點笨重,但總比沒有好。 – Gavin

回答

0

我使用libVlc和只是偶然在你的問題和答案。 我採取了類似的方法,但我也抓住了time(libvlc_media_player_get_time(IntPtr p_mi))當我點擊record (start)按鈕。然後我用那段時間作爲開始time(libvlc_media_player_set_time(IntPtr p_mi, Int64 newTime))來恢復播放並開始錄製。

在我的實現中,再次單擊錄製按鈕會停止錄製,獲取並設置時間,然後繼續在屏幕上播放視頻。

這種方法的缺點是恢復播放的明顯延遲,只有一秒鐘左右,但並不像我所希望的那樣無縫。我懷疑這是由於不得不尋求指定的時間。

我還發現一些libvlc_media_player_record_[start|stop](IntPtr p_mi,...) API的參考,但沒有官方。 我有興趣瞭解您是否能夠找到更好的方法來完成此操作,以及您是如何做到的。