LINUX.ORG.RU

mplayer-vaapi

 


0

1

Собственно или не собирается или падает, однако раньше, когда-то, всё нормаль было. В общем нужен именно mplayer,именно vaapi, и главное не собранный, а сборка. И вот как быть?


Ответ на: комментарий от anonymous

Неа, увы нужен именно mplayer, к сожалению.

Sadako
() автор топика
Ответ на: комментарий от i-rinat

Спасибо, но вот на squeeze тож не собирается.

Sadako
() автор топика
Ответ на: комментарий от i-rinat

Либо идея изначально бредовая, те виндовая прога zona запускающая внешний mplayer.exe подменить его на mplayer.exe.so собранный с –cc=winegcc, но карточка intel, vdpau там не работает, опции передоваемые прогай - мплэйерныие обычный пересобранный работает а тут беда на ровном месте.

Sadako
() автор топика
Ответ на: комментарий от Sadako

Идея как минимум странная. Winegcc это обёртка, которая нужна для сборки исходников, заточенных под Windows. При сборке будет собираться именно виндовая версия, которая ну никак VA-API использовать не будет, потому что он под Linux и другие unix-like.

i-rinat ★★★★★
()
Ответ на: комментарий от Sadako

Если у тебя есть исходники программы, которая поддерживает только Windows, например, плотно использует Windows API, просто так собрать её под линукс не получится. На помощь приходит winegcc. Это такая обёртка, которая запускает gcc с набором макросов, характерных для сборки под Windows. А получившийся результат линкует с Winelib, в котором реализована трансляция Windows API в линуксовые API. В итоге получается ELF, который является родным линуксовым приложением. Другими словами, это упрощённый способ портирования приложений, когда хочется, чтобы результат был побыстрее, а потери на трансляцию API не так уж и важны.

Когда ты собираешь через winegcc кроссплатформенное приложение, при сборке используется специфичный для Windows код. А VA-API под Windows нет.

Если звёзды сложились особым образом, может оказаться, что итоговый результат будет у тебя и Windows-специфичный вывод уметь использовать, и при этом поддерживать вывод через VA-API. Но шансы исчезающе малы. Это слишком странное использование. Не думаю, что кому-то в голову приходило такую конфигурацию попробовать.

i-rinat ★★★★★
()
Ответ на: комментарий от Sadako

А что эта зона делает? Запускает mplayer.exe с передаваемыми опциями и адресом? Тупо подменить mplayer.exe на ссылку на линуксовый бинарник не прокатит?

anonymous
()
Ответ на: комментарий от anonymous

не не проканывает, тем более mplayer-vaapi всё равно не собирается.

Sadako
() автор топика
Ответ на: комментарий от i-rinat

Неужели такая мысля не на поверхности? Тем паче об. mplayer вполне себе и собирается и работает, а вот с vaapi проблема.

Sadako
() автор топика

нужен именно mplayer,именно vaapi

Для каких целей?

Чем mpv -vo=gpu -hwdec=vaapi не устраивает?

anonymous
()
Ответ на: комментарий от Sadako

Похоже, я плохо объяснил. Mplayer — кросс-платформенный. Но для этого у него есть куски кода, которые специфичны для каждой поддерживаемой платформы. В частности, код, который занимается выводом на экран. В упрощённой форме это можно представить так:

int main(void) {
#if defined(_WIN32)
#   error Windows
#elif defined(__linux)
#   error Linux
#else
#   error Unknown
#endif
}

Этот код при компиляции под Windows выдаст ошибку «#error: Windows», а при компиляции под Linux выдаст ошибку «#error Linux». Потому что директивами препроцессора остальные строки выбрасываются.

Ну так вот. Когда ты собираешь код с помощью winegcc, определён макрос _WIN32, и поэтому собирается код под Windows. А VA-API под Windows нет, он в __linux. Правда, ты можешь зафорсить компиляцию линукс-специфичного кода, ведь ты под линукс собираешь. Но тут тебе придётся разбираться самому, потому что вряд ли это кому-то ещё нужно.

i-rinat ★★★★★
()
Ответ на: комментарий от Sadako

но карточка intel, vdpau там не работает

Рыыыыыыыли? А как тогда тебе такое:

mpv -vo vdpau Deep.Throat.1972.mkv
libva info: VA-API version 1.5.0
libva info: va_getDriverName() returns 0
engl-driver/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_5
libva info: va_openDriver() returns 0
  vo/vdpau: VDPAU is most likely emulated via VA-API.
  vo/vdpau: This is inefficient. Use --vo=gpu instead.
   cplayer: Playing: Deep.Throat.1972.mkv
   cplayer:  (+) Video --vid=1 (*) (h264 1920x1080 23.976fps)
   cplayer:  (+) Audio --aid=1 --alang=rus (*) (ac3 6ch 48000Hz)
    ffmpeg: AVHWDeviceContext: Cannot load libcuda.so.1
    ffmpeg: AVHWDeviceContext: Could not dynamically load CUDA
libva info: VA-API version 1.5.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /run/opengl-driver/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_5
libva info: va_openDriver() returns 0
        vd: Using hardware decoding (vaapi-copy).
   cplayer: AO: [pulse] 48000Hz 5.1(side) 6ch float
   cplayer: VO: [vdpau] 1920x1080 nv12
    xrandr: output LVDS1 mode=1366x768 old rate=60.10 refresh rates =      60.10*+
   cplayer: Track switched:
   cplayer:      Video --vid=1 (*) (h264 1920x1080 23.976fps)
   cplayer:  (+) Audio --aid=1 --alang=rus (*) (ac3 6ch 48000Hz)
    xrandr: container fps is 23.976024627686Hz, for output LVDS1 mode 1366x768 the best fitting display fps rate is 60.1Hz
osd/libass: fontselect: Using default font family: (Source Sans Pro, 400, 0) -> /nix/store/nqdr6acvqyd0zn1vnlgdbkpz9265523h-noto-fonts-2018-11-30/sha
re/fonts/noto/NotoSans-Regular.ttf, 0, NotoSans-Regular
init_6 ★★★★★
()
Ответ на: комментарий от init_6

У меня мплэйр почему-то через раз 10 срабатывает с вдпаем, а в основном не, не работает(разные версии).А ваапишный вообще грохается.

Sadako
() автор топика
Ответ на: комментарий от Sadako

У меня мплэйр почему-то через раз 10 срабатывает с вдпаем, а в основном не, не работает(разные версии).А ваапишный вообще грохается.

Я когда заметил первый раз у меня тоже шаблон порвало. mpv после очередного релиза поправили… В общем настолько много чего поправили что пришлось переделывать конфиг. У меня тогда именно vaapi отвалилось. Вот я тогда и заметил что vo vdpau на штеуде работает посути через тот же vaapi. Глючит местами и толку, лично у меня, от него никакого но оно работает.

init_6 ★★★★★
()
Ответ на: комментарий от i-rinat

Ну через xv вполне себе пашет, проблема в том видимо что он проге обратно чёт не отдаёт, видимо её от этого глючить как-то начинает.

Sadako
() автор топика
Ответ на: комментарий от init_6

Прикол кажется, ещё и в том, что мплэйер видимо вообще перестал нормально работать с вдпаем впринципе, даже на нвидии, даже старые версии, совместимость потерял, что ли.

Sadako
() автор топика
Ответ на: комментарий от anonymous

У меня блоб, и всё как то боком (на мплеере)

Sadako
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.