2016-07-28 139 views
1

我在winforms中使用vlc player。它的工作正常,但問題是它的播放速度更快。
我有以10fps記錄的視頻。我認爲vlcControl以30fps播放,這就是爲什麼視頻播放速度更快。推薦this,但它沒有幫助。我找不到像set_play_back_speed函數在vlcControl1下的任何功能。視頻
我以爲vlcControl會自動找出相應的fps &播放。
如果我從安裝在我的Windows PC上的vlc媒體播放器打開相同的視頻,它會以適當的速度播放。 任何線索如何解決這個問題?

P.S:如果我打開以29.97fps記錄的任何視頻,winforms中的vlcControl以適當的速度播放它。在vlc dot net(winforms)中設置播放速度

回答

3

那麼,沒有功能可以通過Vlc.DotNet將FPS設置爲視頻,我不確定您是使用WinForms還是WPF應用程序,但是我可以幫助的最好的方法是,如果您想使用轉換視頻中的速率設置。

它在vlcControl1.rate(這是浮點值默認爲1.00)發現,如果你有每秒30幀,並且只想10fps的好,你可以嘗試設置:

vlcControl1.rate = (int)(33/100); 

然後將降低視頻和音頻從30fps轉換爲10fps(假設1.00 = 30fps)。

+0

!不確定這個!,但默認情況下VideoLAN也啓用了視頻/音頻同步。您可以在開始時禁用VlcMediaPlayerOptions上的所有同步,或者打開常規VLC並禁用同步,然後從VideoLAN播放器所在的相同路徑加載libvlc(即使在C#開放播放器之前,也可以使用VideoLAN直接禁用某些功能)碼)。 – ITK

+1

感謝您的回答。就像我提到的問題一樣,我在winforms中使用。在嘗試使用代碼播放視頻之前,我嘗試將設置速率設置爲0.33,但速度非常慢,所以我認爲vlc以33fps播放是錯誤的。我猜測它本身是以10fps的速度播放,因爲當我將Rate設置爲0.9時,它播放的很好(它的播放速度比現場錄製的速度還快)。任何其他值會使vlc播放速度更快或更慢。目前我只專注於視頻,因此可以稍後檢查音頻同步。 但如何確定什麼fps vlc播放視頻? 謝謝 –

+0

嗯,唯一我能想到的是視頻卡驅動程序的垂直同步(垂直同步),因爲30fps聽起來像60Hz監視器的一半,根據顯示器刷新率將速度鎖定到30,60,120 fps。因此,請嘗試不使用「vlcControl1.rate」設置,並嘗試在視頻卡驅動程序的3D設置中禁用/關閉vsync。 – ITK