Brak synchronizacji audio / wideo podczas odtwarzania MP4 w MPlayerze

10

Kiedy próbuję odtwarzać pliki MP4 w mplayerze, po kilku sekundach pojawia się komunikat „Twój system jest zbyt wolny, aby odtwarzać to!” ostrzeżenie, a wideo zacznie opóźniać się w stosunku do dźwięku. Zdarza się to tylko w przypadku MP4 i wydaje się, że dzieje się tak w przypadku prawie wszystkich. mplayer nie wydaje się przeciążać mojego systemu, to po prostu gra z tym konkretnym formatem. Próbowałem wszystkich sugestii mplayera (inny sterownik wideo -framedropitp.); jedynym, który nawet częściowo pomaga -autosync 30, jest hack. Co może być nie tak? Jak przejść do debugowania / naprawy?


Edycja : Moja karta wideo to nVidia; Używam oficjalnych sterowników . Moje dostępne sterowniki wyjściowe wideo według mplayera to:

    xv  X11/Xv
    gl_nosw OpenGL no software rendering
    x11 X11 ( XImage/Shm )
    xover   General X11 driver for overlay capable video output drivers
    gl  OpenGL
    gl2 X11 (OpenGL) - multiple textures version
    matrixview  MatrixView (OpenGL)
    null    Null video output
    mpegpes MPEG-PES file
    yuv4mpeg    yuv4mpeg output for mjpegtools
    png PNG file
    jpeg    JPEG file

Nie próbowałem żadnych innych odtwarzaczy (chyba nie mam żadnych), ale spróbuję zainstalować inny i sprawdzę, czy ma ten sam problem. Zapomniałem wspomnieć, że mam ten problem na wielu komputerach, ale wszystkie mają zasadniczo tę samą konfigurację, więc prawdopodobnie jest to częsta przyczyna

Michał Mrożek
źródło
2
Błędny kodek? Czy próbowałeś grać w MP4 na innym odtwarzaczu? Potencjalnie przydatne informacje: jakie sterowniki wideo (sterowniki -vo) w mplayerze, jakie sterowniki wideo w X?
Gilles „SO- przestań być zły”,
Albo użyj vdpau, albo użyj argumentu mplayer „framedrop”. Być może któryś z nich ci pomoże.
SHW
wypróbuj także mpv (widelec mplayera), który wydaje się mieć wiele małych obszarów, w których został ulepszony ... Przełączyłem się na mpv i nie zauważam już żadnych problemów z synchronizacją audio / wideo.
Peter

Odpowiedzi:

1

Z NVIDIA zawsze są takie problemy. Twój mplayer używa prawdopodobnie jakiegoś rodzaju przyspieszania sprzętowego, które czasami mogą być wadliwe (widziałem również dobre działające i błędne systemy NVIDIA). Proste wyjście x11 ( -vo x11) prawdopodobnie będzie działać.

Możesz jeszcze wypróbować -framedropflagę. Jeśli to nie działa, to z a -hardframedropbędzie również działać, jeśli użyjesz jakiegoś sterownika wyjściowego niskiego poziomu.

Na dzisiejszych komputerach PC proste -vo x11 -framedropjest również w porządku i przynajmniej eliminuje problemy z błędami na niskim poziomie (co w przypadku NVIDII jest bardzo prawdopodobne).

W praktyce istnieją 3 różne sterowniki NVIDIA:

  • sterownik w X.Org
  • sterownik NVIDIA o zamkniętym źródle
  • i jest także klon open source nvidii o otwartym kodzie źródłowym.

Te mają różne kombinacje. Jeśli nie jesteś zadowolony -vo x11, możesz zacząć z nimi grać.

peterh - Przywróć Monikę
źródło
Użyłem mplayera dość często ze sprzętem nVidia i VDPAU. Wydaje się, że głównie działa. I nie mogę sobie przypomnieć, że kiedykolwiek widziałem problem -vo xv(który powinien być szybszy niż -vo x11i obsługuje skalowanie sprzętowe). OP twierdzi -autosync, że to naprawiło, ale to nie powinno pomóc, jeśli w rzeczywistości wystąpił błąd wideo powodujący spowolnienie. -autosynczwykle działa wokół błędów sterownika audio.
derobert
@derobert Poza bazą X.Org znajduje się sterownik nvidia typu open source, a także zamknięty. Może twoja kombinacja hw-sw była w porządku. Doświadczyłem również dobrze działających systemów NVIDIA. Rozszerzyłem swoją odpowiedź, może warto zmienić głosowanie.
peterh - Przywróć Monikę