Como configurar o VLC para reproduzir o conteúdo 4K corretamente

12

Atualmente, meu principal media player no Windows (10 Pro x64) é VLC, mas notei que quando quero reproduzir conteúdo UHD (vídeos de 2K, 4K) congela.

Configuração do meu PC: Intel i7 3770, 16 GB de RAM, SSD de 512 GB, nVidia GTX 970 4 GB.

O som está bom, mas a imagem está congelando (2-3 quadros por minuto ).

Tentei definir os codecs ou habilitei / desabilitei a aceleração da GPU sem êxito.

O que devo definir para reproduzir esse tipo de conteúdo sem fluxo?

PS: O Media Player Classic reproduz o mesmo arquivo de maneira suave, mas quero manter o VLC como player principal.

Bálint Babics
fonte
O áudio continua tocando sem problemas, apenas o vídeo congela?
dExIT
@dExIT Correto.
Bálint Babics 11/11
Você tentou alterar os tempos de armazenamento em cache e ignorar o filtro de loop FFmpeg e alterou as configurações de saída de vídeo, digamos DirectX DirectDraw ou OpenGL?
dExIT
Sim, eu fiz todos eles, sem sucesso. Com o OpenGL, a tela ficou completamente magenta. Eu tenho o driver nV mais recente.
Bálint Babics
Lembre-se de que normalmente o VLC pode ser por configuração padrão O vídeo é decodificado através da CPU - também conhecida como placa gráfica. Por favor, veja e tente configurar a decodificação da GPU. wiki.videolan.org/VLC_GPU_Decoding GPU de configuração e as configurações de saída precisam ser o Direct X
dExIT 11/11/16

Respostas:

9

Consegui reproduzir o problema usando o VLC versão 2.2.4.

O problema do congelamento existe apenas se "Decodificação acelerada por hardware" estiver definida como algo diferente de "Desativar".

Aparentemente, o VLC agora suporta decodificação de GPU, mas acredito que é feito de uma maneira muito ineficiente.
O artigo Como habilitar a decodificação acelerada por gpu no VLC diz o seguinte:

os dados são decodificados na GPU no estágio de decodificação e depois transferidos de volta para o player para que os outros estágios, como filtragem e streaming, por exemplo, possam ser processados.

Eu consegui uma melhor taxa de quadros ao definir "Decodificação acelerada por hardware" para "Desativar". Isso coloca toda a carga na CPU e, portanto, requer uma CPU forte.

O usuário Journeyman Geek recomenda aumentar o número de threads em Ferramentas / Preferências / Codecs de vídeo "/ FFMPEG / Threads, mas funcionou para mim com o valor padrão de 0, que significa" Auto ". Você pode experimentar outros valores para Threads. observe que a biblioteca FFMPEG não é usada para todos os formatos de vídeo.

O VLC aparentemente não suporta no momento (2016) o codec x265, pois os vídeos x265 não eram reproduzidos quando baixados do 4ksamples.com . No entanto, tudo funcionou perfeitamente com o Media Player Classic.

Editar (2018): o VLC agora funciona com sucesso com esses arquivos.

harrymc
fonte
Por alguma razão, meu vídeo em 4k funcionou perfeitamente quando eu desliguei a aceleração do hardware. Obrigado
Chan
1

Eu tenho experimentado um pouco com o banho de filhotes no vídeo em 4k do 4ksamples.com e em alguns outros. Eu tenho uma combinação que funcionou com o meu vídeo de teste. Observo que o armazenamento razoavelmente rápido é essencial para uma reprodução de qualidade. Considerando que são necessárias algumas tentativas e erros, faça backup das configurações atuais. Essas configurações funcionam em um 3770, 16gb de ram e uma gforce 980TI que eu sei que é capaz de 4k

Eu mudei algumas configurações avançadas para fazê-lo funcionar. Em teoria, eu quero que o DXVA seja ativado, mas isso causa o travamento do VLC.

No modo simples, nas preferências, vá para Ferramentas -> Preferências e entrada / codecs e, na caixa suspensa do filtro de desbloqueio em loop Skip H.264, altere-o para Todos. Isso é recomendado pelo VLC

Alterne para mostrar tudo sob preferências e tente essas alterações

Desliguei todos os filtros em Filtros de vídeo. Esta foi a última coisa que fiz e pareceu ajudar mais, então eu começaria aqui

Em "Video Codecs" -> FFMPEG, defino meus threads como 3. Você pode experimentar números mais altos ou mais baixos.

Verifique se tudo sob os módulos de saída / DirectX está desmarcado.

Essas mudanças parecem ter funcionado.

Para referência, uma vez que retirei as linhas comentadas, meu vlcrc parece

[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

Eu tenho uma essência com o meu vlcrc completo para 4k aqui

Journeyman Geek
fonte
1
Infelizmente não resolveu meu problema. Tentei reproduzir vídeos em 4k de 4ksamples, mas não funcionou. Tentei apenas com você escreveu e tentou com o gits completo vlcrc também. E acredito que não usa a GPU.
Bálint Babics
Sim, apenas sua CPU. É estranho, porém, eu tenho o mesmo processador e essas configurações funcionam tanto nesses arquivos como em outros arquivos
Journeyman Geek
Notei que a configuração Skip Frame em Input / Codecs-> Video codecs-> ffmpeg fez uma grande diferença para mim. Pular TUDO apenas resulta em nenhum quadro chegando à saída, o que significa que apenas o som seria reproduzido sem imagem. BiDir e Non-ref me deram as maiores melhorias na velocidade de reprodução.
Sep