Jak skonfigurować VLC do prawidłowego odtwarzania treści 4K

12

Obecnie moim głównym odtwarzaczem multimedialnym w systemie Windows (10 Pro x64) jest VLC, ale zauważyłem, że kiedy chcę odtwarzać treści UHD (filmy 2K, 4K), zawiesza się.

Konfiguracja mojego komputera: Intel i7 3770, 16 GB pamięci RAM, 512 GB SSD, nVidia GTX 970 4 GB.

Dźwięk jest OK, ale obraz jest nieruchomy (2-3 klatki na minutę ).

Próbowałem ustawić kodeki lub włączyć / wyłączyć przyspieszenie GPU bez powodzenia.

Co powinienem ustawić, aby odtwarzać tego rodzaju treści bez przepływu?

PS: Media Player Classic odtwarza ten sam plik tak płynnie, ale chcę zachować VLC jako główny odtwarzacz.

Bálint Babics
źródło
Czy dźwięk jest odtwarzany bez żadnych problemów, tylko wideo się zawiesza?
dExIT 11.11.16
@dExIT Poprawnie.
Bálint Babics
Czy próbowałeś zmienić czasy buforowania i pomijanie filtra pętli FFmpeg, czy zmieniłeś ustawienia wyjścia wideo, powiedzmy DirectX DirectDraw lub OpenGL?
dExIT 11.11.16
Tak, zrobiłem wszystkie bez powodzenia. Dzięki OpenGL ekran był całkowicie purpurowy. Mam najnowszy sterownik nV.
Bálint Babics
Pamiętaj, że normalnie VLC może być domyślnie skonfigurowany. Wideo jest dekodowane przez procesor - czyli zintegrowaną grafikę. Zobacz i spróbuj skonfigurować dekodowanie GPU. wiki.videolan.org/VLC_GPU_Dekodowanie konfiguracji GPU, a następnie ustawienia wyjściowe muszą być Direct X
dExIT 11.11.16

Odpowiedzi:

9

Udało mi się odtworzyć problem za pomocą VLC w wersji 2.2.4.

Problem zamrażania istnieje tylko wtedy, gdy „Dekodowanie przyspieszane sprzętowo” jest ustawione na coś innego niż „Wyłącz”.

Najwyraźniej VLC obsługuje teraz dekodowanie GPU, ale uważam, że odbywa się to w bardzo nieefektywny sposób.
Artykuł Jak włączyć przyspieszone dekodowanie GPU w VLC mówi:

dane są dekodowane w GPU na etapie dekodowania, a następnie przesyłane z powrotem do odtwarzacza, aby umożliwić przetworzenie innych etapów, na przykład filtrowania i przesyłania strumieniowego.

Udało mi się uzyskać lepszą liczbę klatek na sekundę po ustawieniu „Dekodowania przyspieszanego sprzętowo” na „Wyłącz”. To obciąża cały procesor, dlatego wymaga silnego procesora.

User Journeyman Geek zaleca zwiększenie liczby wątków w menu Narzędzia / Preferencje / Kodeki wideo "/ FFMPEG / Wątki, ale działało to dla mnie z domyślną wartością 0, co oznacza" Auto ". Możesz eksperymentować dalej z innymi wartościami dla Wątków. Po prostu zauważ, że biblioteka FFMPEG nie jest używana we wszystkich formatach wideo.

Najwyraźniej VLC obecnie nie obsługuje (2016) kodeka x265, ponieważ filmy x265 nie były odtwarzane po pobraniu z 4ksamples.com . Jednak wszystko działało bez zarzutu w Media Player Classic.

Edycja (2018): VLC działa teraz pomyślnie z tymi plikami.

harrymc
źródło
Z jakiegoś powodu moje wideo 4k działa bez zarzutu, kiedy wyłączyłem przyspieszenie sprzętowe. Dzięki
Chan,
1

Trochę eksperymentowałem z kąpielą dla szczeniąt w wideo 4k poza 4ksamples.com, a także w kilku innych. Mam kombinację, która działa z moim filmem testowym. Zwracam uwagę, że dość szybkie przechowywanie ma zasadnicze znaczenie dla jakości odtwarzania. Biorąc pod uwagę, że potrzebna jest próba i błąd, wykonaj kopię zapasową bieżących ustawień. Te ustawienia działają na 3770, 16 GB pamięci RAM i gforce 980TI, o których wiem, że jest zdolny do 4k

Zmieniłem sporo zaawansowanych ustawień, aby działało. W teorii chcę DXVA być włączona, ale powoduje, że VLC do katastrofy.

W trybie prostym w preferencjach przejdź do Narzędzia -> Preferencje i wejścia / kodeki, aw rozwijanym polu Pomiń filtr odblokowujący w pętli H.264 zmień go na Wszystkie. Jest to zalecane przez VLC

Przełącz, aby pokazać wszystkie w preferencjach i wypróbuj te zmiany

Wyłączyłem wszystkie filtry w sekcji Filtry wideo. To była ostatnia rzecz, którą zrobiłem i chyba najbardziej pomogłem, więc zacznę od tego

W sekcji „Kodeki wideo” -> FFMPEG ustawiłem wątki na 3. Możesz eksperymentować z wyższymi lub niższymi liczbami.

Upewnij się, że wszystko w modułach wyjściowych / DirectX jest odznaczone.

Wydaje się, że te zmiany zadziałały.

Dla porównania, kiedy usunąłem skomentowane linie, mój vlcrc wygląda

[directdraw] 
directx-hw-yuv=0
directx-3buffering=0
[direct3d] 
direct3d-shader=Disabled
[swscale] 
swscale-mode=9
[qt4] 
qt-privacy-ask=0
[x264] 
sout-x264-profile=main
sout-x264-preset=veryfast
sout-x264-tune=film
[qsv] 
sout-qsv-software=1
sout-qsv-h264-profile=decide
sout-qsv-h264-level=decide
sout-qsv-mpeg2-profile=decide
sout-qsv-mpeg2-level=decide
[avcodec] 
avcodec-skiploopfilter=4
avcodec-hw=any
avcodec-threads=3
[waveout] 
waveout-volume=0.700000
[directsound] 
directx-volume=0.700000
[filesystem] 
filetypes=m3u,db,nfo,ini,jpg,jpeg,ljpg,gif,png,pgm,pgmyuv,pbm,pam,tga,bmp,pnm,xpm,xcf,pcx,tif,tiff,lbm,sfv,txt,sub,idx,srt,cue,ssa
[core] 
aout=any
video-deco=0
vout=direct3d
video-filter=swscale
vod-server=any

Mam sedno z moim pełnym vlcrc dla 4k tutaj

Journeyman Geek
źródło
1
Niestety nie rozwiązało to mojego problemu. Próbowałem odtwarzać filmy 4k z 4ksamples, ale nie działa. Próbowałem tylko z tym, że napisałeś i wypróbowałeś z pełną wersją gits vlcrc. I wierzę, że nie korzysta z GPU.
Bálint Babics
Tak, tylko jego procesor. Dziwne, ale mam tę samą jednostkę centralną i te ustawienia działają zarówno na tych, jak i na innych plikach
Journeyman Geek
Zauważyłem, że ustawienie Pomiń ramkę w Input / Codecs-> Video codecs-> ffmpeg zrobiło dla mnie dużą różnicę. Pomiń WSZYSTKO powoduje, że żadne klatki nie trafiają na wyjście, co oznacza, że ​​tylko dźwięk byłby odtwarzany bez obrazu. BiDir i Non-ref dały mi największą poprawę prędkości odtwarzania.
Tony Sepia