Меню

Ошибка драйвера gstreamer ubuntu

  • Печать

Страницы: [1]   Вниз

Тема: [РЕШЕНО] Ошибка драйвера GStreamer  (Прочитано 8182 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн
krishnoved

Здравствуйте. Долгое время использовал Xubuntu 12.04 LTS и решил обновить систему до 14.04.
После обновления с большинством проблем разобрался, но вот теперь видеоплеер Parole воспроизводит лишь звук, а Mplayer выводит сообщение:

[b]Ошибка драйвера GStreamer[/b]
Could not initialise Xv output
Как решить эту проблему, на что обратить внимание?


Пользователь решил продолжить мысль [time]14 Август 2014, 11:31:51[/time]:


Никто не откликнулся.

Но проблему решил самостоятельно.
Поставил SMPlayer и в Настройках, во вкладке Видео необходимо было указать устройство вывода gl.
Видео пошло, но видео тормозило на полном экране опаздывая за звуком.
Так как у меня Asus EeePC 1025C двух ядерный, не самое мощное железо. Пришлось указать в пункте «Быстродействие» Пропуск кадров и выставить количество потоков декодирования согласно количеству ядер.

AVI видео запахало. Теперь бьюсь над вопроизведением mkv и прочих файлов. Плеер по завершению постоянно выдает ошибки.

« Последнее редактирование: 15 Августа 2014, 16:20:50 от krishnoved »


Оффлайн
Стажер

krishnoved,

Тут написано, что надо в файле /etc/X11/Xorg.conf поместить следующее

Section "Device"
Identifier     "Intel "
Driver         "intel"
EndSection

Но с другой стороны, не все драйверы поддерживают  Xv. Если твой драйвер не Интел, попробуй запустить Пароль из командной строки со следующей опцией:

parole --xv false
и обратно

parole --xv true
http://ubuntuforums.org/showthread.php?t=1707497


Оффлайн
krishnoved

Спасибо, помогло.

Поставил заного Parole, сделал

parole --xv false
Этого оказалось достаточно.

Теперь только им и буду пользоваться.


Оффлайн
amidnet

Xorg.conf но ведь этого файла там нету… и создать его тут X11 не разрешает система…


Оффлайн
arcery

РЕШЕНИЕ ЕСТЬ зайди под  рут пользователем  создай  пустой фаил назови его Xorg.conf помести туда выше написаный  текст
Section «Device»
Identifier     «Intel «
Driver         «intel»
EndSection
и будет  все хорошо


  • Печать

Страницы: [1]   Вверх

Модератор: Модераторы разделов

penguino

Сообщения: 7
ОС: linux ubuntu 9.10

ошибка потока GStreamer

возникает ошибка потока GStreamer при воспроизведении видео файла. Файл весит около 30 Гб. Возможно файл просто является слишком большим для linux, не знаю. НО! в Винде, на этом же компе, на этом же диске, с этой же файловой системой (NTFS), файл у меня воспроизводился запросто. Вот надпись в названии файла: Blu-Ray.Remux.VC-1.AC3.DTS.Sub.mkv если это как-то поможет. если подобный вопрос уже поднимался, пожалуйста, перенаправьте.

вот характеристики файла:
Matroska
кодек FourCC — WVC1 (unknown yet)
1920×1080
звук частоты 48000Mhz
в файле 7 видов субтитров и 9 звуковых дорожек

ОС = linux ubuntu 9.10

penguino

Сообщения: 7
ОС: linux ubuntu 9.10

Re: ошибка потока GStreamer

Сообщение

penguino » 06.03.2010 08:51

проц Core 2 Duo E8400 (3000/1333/6Mb) 775 LGA
дрова ставил от NVIDIA, версия 185.18.36, не пойму зачем это надо.
скока проца съедает сказать не могу — не знаю как определить, скажи как — проверю после 8-го числа, пока не дома. хотя тут вроде и съедает-не съедает неважно, он же не запускается у меня

Аватара пользователя

megabaks

Сообщения: 697
ОС: Gentoo ~x86
Контактная информация:

Re: ошибка потока GStreamer

Сообщение

megabaks » 06.03.2010 11:34

во-первых — если карта позволяет можно поставить libvdpau и заставить видюху декодировать видео(в видео настройках выбрать драйвер vdpau)
во-вторых — ты не написал плеер
в-третьих этому самому плееру может тупо не хватить кэша (в smplayer например 2000К искаропки — при 20000К уже без проблем)
в-четвёртых — большим файл можно считать от Nтерабайт — всё что до — мелочь 🙂
в -пятых — нет инфы о установленных кодеках (в случае vdpau на видео пофик в данном случае — mkv поддерживается)

penguino

Сообщения: 7
ОС: linux ubuntu 9.10

Re: ошибка потока GStreamer

Сообщение

penguino » 31.03.2010 12:02

прошу прощения, что трачу чужое время на себя, а сам пропадаю на месяц)
я посмотрел в синаптике — у меня установлен nvidia-185-libvdpau версия 185.18.36-0ubuntu9 (рядом стоят не установленные nvidia-180-libvdpau, nvidia-180-libvdpau-dev, nvidia-185-libvdpau-dev (эт я на всякий случай))
плееры —
totem (ошибка потока GStreamer),
smplayer (ошибок не выдает, добавил ему кэш, как советовали, выбрал vdpau — не помогло),
mplayer (fatal error: error openning/initializing the selected video_out (-vo) device),
vlc (Не найден подходящий модуль декодирования: VLC не поддерживает аудио или видео формат «WVC1». К сожалению, вы не можете это исправить.)
на всех плеерах запускается звук, могу менять дорожки, но видео как будто и не бывало.
про mkv — mkv у меня много, проблем раньше не было, да и до сих пор нет, только вот с этим файлом — он самый большой и на нем дофига дорожек аудио и субтитров

Аватара пользователя

Bizdelnick

Модератор
Сообщения: 19769
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: ошибка потока GStreamer

Сообщение

Bizdelnick » 31.03.2010 12:08

Скиньте файл на нормальную ФС и смотрите. Или смонтируйте с -t ntfs, а не ntfs-3g, тоже может помочь.

Пишите правильно:

в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик


0

0

Криворукость довела до беды. Теперь звук есть только во флеше и mpd.
Rhythmbox пишет The autoaudiosink element is missing.
Медленное погугливани сказало, что
$ gst-launch-0.10 -v -m audiotestsrc ! audioconvert ! audioresample ! autoaudiosink
может жать что-нибудь полезное, по крайней мере повторяли это часто.
Ввел, получилось
Установка конвейера в состояние PAUSED…
ОШИБКА: Конвейер не хочет становиться на паузу.
Got message #7 from element «autoaudiosink0-actual-sink-jackaudio» (error): GstMessageError, gerror=(GstGError)NULL, debug=(string)«gstjackaudiosink.c(371): gst_jack_ring_buffer_open_device (): /GstJackAudioSink:autoaudiosink0-actual-sink-jackaudio:12Cannot connect to the Jack server (status 17)»;
ОШИБКА: из элемента /GstJackAudioSink:autoaudiosink0-actual-sink-jackaudio: Ресурс не найден.
Дополнительная отладочная информация:
gstjackaudiosink.c(371): gst_jack_ring_buffer_open_device (): /GstJackAudioSink:autoaudiosink0-actual-sink-jackaudio:
Cannot connect to the Jack server (status 17)
Установка конвейера в состояние NULL…
Freeing pipeline …

Может это что-то даст.
Звук выводится через Alsa, gstreamer стоит весь (good,bad,ugly,base + plugins), Archlinux 32-bit, не осилил приручение mpd: при включенном MPD не играет никакой другой звук

I am trying to build and install gst-plugin-bad-1.4.0 but I am getting following error when running the config scriptt for my Hw target.
I am running the build in my target SDK/linux-devkit/ which is installed on my Ubuntu and my HW target is an ARM-base :
This is the Error I got after I run following command on my ubuntu terminal»
./configure —host= —prefix=

Error:
configure: No package ‘gstreamer-1.0’ found
configure: error: no gstreamer-1.0 >= 1.4.0 (GStreamer) found

I already have gstreamer-1.4.0 installed in the SDK and run fine on the target.

Any hint on what should be done?
I have also tried to install gst-plugins-base-1.4.0 but getting the same error.

asked Aug 28, 2014 at 21:27

user3720579's user avatar

Make sure you have the dev packages installed too. I face similar issues here and fixed it with the following

sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

In case GIntrospection isn’t installed by default, run the following

sudo apt-get build-dep gstreamer1.0

answered Aug 3, 2018 at 5:25

1

The same issue happens when I install gst-plugins-base-0.6.2 while the verison of gstreamer is 1.10.4.

How I solve this problem?

gst-plugins-base-1.10.2 is downded and install successfully

Root cause:

no gstreamer-1.0 >= 1.4.0 (GStreamer) found»

It means the version of gst-plugins-base must be greater than ther version of gstreamer

if the gstreamer is 1.10.2, so the gst-plugins-base must be greater than 1.10

answered Jun 25, 2022 at 6:40

DiperLuer's user avatar

1

I am trying to compile a package, which requires gstreamer-1.0 >= 1.0.3. I think I have an older vesion installed on my system. So I downloaded and compiled gstreamer-1.0.4 and it got installed in /usr/local/lib/gstreamer-1.0.

After I did that, I again tried to compile the package but it still gives the same error that I dont have «gstreamer-1.0 >= 1.0.3» .

I also tried to export the path

«export LD_LIBRARY_PATH=/usr/local/lib/gstreamer-1.0»

«whereis gstreamer-1.0» outputs

gstreamer-1: /usr/lib64/gstreamer-1.0 /usr/local/lib/gstreamer-1.0
/usr/libexec/gstreamer-1.0 /usr/share/gstreamer-1.0

Actual Error Message

checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking how to create a ustar tar archive... gnutar
checking nano version... 0 (release)
checking whether to enable maintainer-specific portions of Makefiles... yes
checking whether make supports nested variables... yes
checking how to print strings... printf
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /bin/ld
checking if the linker (/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /bin/nm -B
checking the name lister (/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %sn
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... no
checking for dlopen in -ldl... yes
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... yes
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking whether NLS is requested... yes
checking for msgfmt... /bin/msgfmt
checking for gmsgfmt... /bin/msgfmt
checking for xgettext... /bin/xgettext
checking for msgmerge... /bin/msgmerge
checking for ld used by GCC... /bin/ld -m elf_x86_64
checking if the linker (/bin/ld -m elf_x86_64) is GNU ld... yes
checking for shared library run path origin... done
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for GNU gettext in libc... yes
checking whether to use NLS... yes
checking where the gettext function comes from... libc
checking for pkg-config... /bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for VALGRIND... no
configure: Using GStreamer Base Plug-ins source release as package name
configure: Using Unknown package origin as package origin
configure: Using GST_PKG_CONFIG_PATH = $(top_builddir)/pkgconfig
configure: Using /usr/local/libexec/gst-install-plugins-helper as plugin install helper

configure: *** checking feature: building of plug-ins with external deps ***
configure: building external plug-ins

configure: *** checking feature: building of experimental plug-ins ***
configure: not building experimental plug-ins
checking whether byte ordering is bigendian... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking for gcc option to accept ISO C99... -std=gnu99
checking for gcc -std=gnu99 option to accept ISO Standard C... (cached) -std=gnu99
checking whether gcc -std=gnu99 and cc understand -c and -o together... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /bin/ld -m elf_x86_64
checking if the linker (/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
configure: working c++ compiler found: yes
checking for valgrind... /bin/valgrind
checking for gobject-introspection... yes
checking for gtkdoc-check... /bin/gtkdoc-check
checking for gtkdoc-rebase... /bin/gtkdoc-rebase
checking for gtkdoc-mkpdf... /bin/gtkdoc-mkpdf
checking whether to build gtk-doc documentation... no
configure: Looking for Python version >= 2.1
checking for python... /bin/python
checking "/bin/python":... okay
checking local Python configuration... looks good
checking whether to build plugin documentation... no (gtk-doc disabled or not available)
checking for cos in -lm... yes
checking for ANSI C header files... (cached) yes
checking xmmintrin.h usability... yes
checking xmmintrin.h presence... yes
checking for xmmintrin.h... yes
checking emmintrin.h usability... yes
checking emmintrin.h presence... yes
checking for emmintrin.h... yes
checking for sys/socket.h... yes
checking for process.h... no
checking for sys/types.h... (cached) yes
checking for sys/wait.h... yes
checking for sys/stat.h... (cached) yes
checking for stdint types... stdint.h (shortcircuit)
make use of stdint.h in _stdint.h (assuming C99 compatible system)
checking for localtime_r... yes
checking for gmtime_r... yes
checking for log2... yes
checking for _LARGEFILE_SOURCE value needed for large files... no
checking for lrint... yes
checking for lrintf... yes
checking whether gcc -std=gnu99 implements __PRETTY_FUNCTION__... yes
checking whether gcc -std=gnu99 implements __FUNCTION__... yes
checking whether gcc -std=gnu99 implements __func__... yes
checking for GLIB... yes
checking for glib-genmarshal... glib-genmarshal (from pkg-config path)
checking for glib-mkenums... glib-mkenums
checking for GIO... yes
checking for ORC... no
checking for GST... no
configure: No package 'gstreamer-1.0' found
configure: error: no gstreamer-1.0 >= 1.0.0 (GStreamer) found

I need help because I am still trying to learn the basics!!
Thank you!!

GStreamer VA-API is not a trivial piece of software. Even though, in my opinion it is a bit over-engineered, the complexity relies on its layered architecture: the user must troubleshoot in which layer is the failure.

So, bear in mind this architecture:

GStreamer VA-API is not a trivial piece of software. Even though, in my opinion it is a bit over-engineered, the complexity relies on its layered architecture: the user must troubleshoot in which layer is the failure.

So, bear in mind this architecture:

libva architecture

libva architecture

And the point of failure could be anywhere.

Drivers

libva is a library designed to load another library called driver or back-end. This driver is responsible to talk with the kernel, windowing platform, memory handling library, or any other piece of software or hardware that actually will do the video processing.

There are many drivers in the wild. As it is an API aiming to stateless video processing, and the industry is moving towards that way to process video, it is expected more drivers would appear in the future.

Nonetheless, not all the drivers have the same level of maturity, and some of them are abandon-ware. For this reason we decided in GStreamer VA-API, some time ago, to add a white list of functional drivers, basically, those developed by Mesa3D and this one from Intel™. If you wish to disable that white-list, you can do it by setting an environment variable:

$ export GST_VAAPI_ALL_DRIVERS=1

Remember, if you set it, you are on your own, since we do not trust on the maturity of that driver yet.

Internal libva↔driver version

Thus, there is an internal API between libva and the driver and it is versioned, meaning that the internal API version of the installed libva library must match with the internal API exposed by the driver. One of the causes that libva could not initialize a driver could be because the internal API version does not match.

Drivers path and driver name

By default there is a path where libva looks for drivers to load. That path is defined at compilation time. Following Debian’s file-system hierarchy standard (FHS) it should be set by distributions in /usr/lib/x86_64-linux-gnu/dri/. But the user can control this path with an environment variable:

$ export LIBVA_DRIVERS_PATH=${HOME}/src/intel-vaapi-driver/src/.libs

The driver path, as a directory, might contain several drivers. libva will try to guess the correct one by querying the instantiated VA display (which could be either KMS/DRM, Wayland, Android or X11). If the user instantiates a VA display different of his running environment, the guess will be erroneous, the library loading will fail.

Although, there is a way for the user to set the driver’s name too. Again, by setting an environment variable:

$ export LIBVA_DRIVER_NAME=iHD

With this setting, libva will try to load iHD_drv_video.so (a new and experimental open source driver from Intel™, targeted for MediaSDK —do not use it yet with GStreamer VAAPI—).

vainfo

vainfo is the diagnostic tool for VA-API. In a couple words, it will iterate on a list of VA displays, in try-and-error strategy, and try to initialize VA. In case of success, vainfo will report the driver signature, and it will query the driver for the available profiles and entry-points.

For example, my skylake board for development will report

$ vainfo
error: can't connect to X server!
libva info: VA-API version 1.1.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /home/vjaquez/gst/master/intel-vaapi-driver/src/.libs/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_1
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.1 (libva 2.1.1.pre1)
vainfo: Driver version: Intel i965 driver for Intel(R) Skylake - 2.1.1.pre1 (2.1.0-41-g99c3748)
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Simple            : VAEntrypointEncSlice
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
      VAProfileH264ConstrainedBaseline: VAEntrypointFEI
      VAProfileH264ConstrainedBaseline: VAEntrypointStats
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointEncSliceLP
      VAProfileH264Main               : VAEntrypointFEI
      VAProfileH264Main               : VAEntrypointStats
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointEncSliceLP
      VAProfileH264High               : VAEntrypointFEI
      VAProfileH264High               : VAEntrypointStats
      VAProfileH264MultiviewHigh      : VAEntrypointVLD
      VAProfileH264MultiviewHigh      : VAEntrypointEncSlice
      VAProfileH264StereoHigh         : VAEntrypointVLD
      VAProfileH264StereoHigh         : VAEntrypointEncSlice
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointEncPicture
      VAProfileVP8Version0_3          : VAEntrypointVLD
      VAProfileVP8Version0_3          : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointEncSlice

And my AMD board with stable packages replies:

$ vainfo
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_0_40
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.40 (libva )
vainfo: Driver version: mesa gallium vaapi
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileNone                   : VAEntrypointVideoProc

Does this mean that VA-API processes video? No. It means that there is an usable VA display which could open a driver correctly and libva can extract symbols from it.

I would like to mention another tool, not official, but I like it a lot, since it extracts almost of the VA information available in the driver: vadumpcaps.c, written by Mark Thompson.

GStreamer VA-API registration

When GStreamer is launched, normally it will register all the available plugins and plugin features (elements, device providers, etc.). All that data is cache and keep until the cache file is deleted or the cache invalidated by some event.

At registration time, GStreamer VA-API will instantiate a DRM-based VA display, which works with no need of a real display (in other words, headless), and will query the driver for the profiles and entry-points tuples, in order to register only the available elements (encoders, decoders. sink, post-processor). If the DRM VA display fails, a list of VA displays will be tried.

In the case that libva could not load any driver, or the driver is not in the white-list, GStreamer VA-API will not register any element. Otherwise gst-inspect-1.0 will show the registered elements:

$ gst-inspect-1.0 vaapi
Plugin Details:
  Name                     vaapi
  Description              VA-API based elements
  Filename                 /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so
  Version                  1.12.4
  License                  LGPL
  Source module            gstreamer-vaapi
  Source release date      2017-12-07
  Binary package           gstreamer-vaapi
  Origin URL               http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer

  vaapijpegdec: VA-API JPEG decoder
  vaapimpeg2dec: VA-API MPEG2 decoder
  vaapih264dec: VA-API H264 decoder
  vaapivc1dec: VA-API VC1 decoder
  vaapivp8dec: VA-API VP8 decoder
  vaapih265dec: VA-API H265 decoder
  vaapipostproc: VA-API video postprocessing
  vaapidecodebin: VA-API Decode Bin
  vaapisink: VA-API sink
  vaapimpeg2enc: VA-API MPEG-2 encoder
  vaapih265enc: VA-API H265 encoder
  vaapijpegenc: VA-API JPEG encoder
  vaapih264enc: VA-API H264 encoder

  13 features:
  +-- 13 elements

Beside the normal behavior, GStreamer VA-API will also invalidate GStreamer’s cache at every boot, or when any of the mentioned environment variables change.

Conclusion

A simple task list to review when GStreamer VA-API is not working at all is this:

#. Check your LIBVA_* environment variables
#. Verify that vainfo returns sensible information
#. Invalidate GStreamer’s cache (or just delete the file)
#. Check the output of gst-inspect-1.0 vaapi

And, if you decide to file a bug in bugzilla, please do not forget to attach the output of vainfo and the logs if the developer asks for them.

Я надеюсь, что кто-то может помочь с этой проблемой, искал решение в течение последних 2 дней.

Кратко опишу проблему: я пытаюсь создать простое приложение qt5.7, которое будет транслировать m3u8 (используя Qt Creator (сообщество). Но когда я пытаюсь запустить его, я получаю

Warning: "No decoder available for type 'application/x-hls'."
Error: "Your GStreamer installation is missing a plug-in."

«gst-inspect | grep hls» возвращает: typefindfunctions: application/x-hls: m3u8

На данный момент я понятия не имею, какой плагин я могу пропустить, поскольку я просмотрел весь список плагинов GStreamer и ставил их один за другим. Что касается моих поисков, некоторые из них исправили это, установив плохие/уродливые плагины. Некоторые говорят, что QT5 по-прежнему использует gstreamer0.10, но в новых версиях Linux используется версия 1.0 (на данный момент утраченная). Я пытался установить флаг, чтобы заставить GST_VERSION=1.0 не работать, или я сделал что-то не так (использовал команду qmake GST_VERSION=1.0). Кроме того, я могу воспроизводить видео в vlc. Я полностью застрял, и не знаю, что делать больше.

Код приложения:

import QtQuick 2.7
import QtQuick.Window 2.2
import QtMultimedia 5.7

Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")

    Item {
        width: 640
        height: 480

        MediaPlayer {
            id: player
            source: "http://playertest.longtailvideo.com/adaptive/wowzaid3/chunklist_w249832652.m3u8"
        }

        VideoOutput {
            anchors.fill: parent
            source: player
        }

        Component.onCompleted: {
            player.play();
        }
    }
}

ОПЕРАЦИОННЫЕ СИСТЕМЫ:

DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=18
DISTRIB_CODENAME=sarah
DISTRIB_DESCRIPTION="Linux Mint 18 Sarah"
NAME="Linux Mint"
VERSION="18 (Sarah)"
ID=linuxmint
ID_LIKE=ubuntu
PRETTY_NAME="Linux Mint 18"
VERSION_ID="18"
HOME_URL="http://www.linuxmint.com/"
SUPPORT_URL="http://forums.linuxmint.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/linuxmint/"
UBUNTU_CODENAME=xenial

Список плагинов gstreamer:

ii  gir1.2-gstreamer-0.10                        0.10.36-1.5ubuntu1                         amd64        Description: GObject introspection data for the GStreamer library
ii  gir1.2-gstreamer-1.0                         1.8.2-1~ubuntu1                            amd64        GObject introspection data for the GStreamer library
ii  gstreamer-qapt                               3.0.2-0ubuntu1.1                           amd64        GStreamer plugin to install codecs using QApt
ii  gstreamer-tools                              0.10.36-1.5ubuntu1                         amd64        Tools for use with GStreamer
ii  gstreamer0.10-alsa:amd64                     0.10.36-2                                  amd64        GStreamer plugin for ALSA
ii  gstreamer0.10-doc                            0.10.36-1.5ubuntu1                         all          GStreamer core documentation and manuals
ii  gstreamer0.10-ffmpeg:amd64                   0.10.13-5ubuntu1~wily                      amd64        FFmpeg plugin for GStreamer
ii  gstreamer0.10-ffmpeg-dbg:amd64               0.10.13-5ubuntu1~wily                      amd64        FFmpeg plugin for GStreamer (debug symbols)
ii  gstreamer0.10-gconf:amd64                    0.10.31-3+nmu4ubuntu2~gcc5.1               amd64        GStreamer plugin for getting the sink/source information from GConf
ii  gstreamer0.10-gnomevfs:amd64                 0.10.36-2                                  amd64        GStreamer plugin for GnomeVFS
ii  gstreamer0.10-nice:amd64                     0.1.13-0ubuntu2                            amd64        ICE library (GStreamer 0.10 plugin)
ii  gstreamer0.10-plugins-base:amd64             0.10.36-2                                  amd64        GStreamer plugins from the "base" set
ii  gstreamer0.10-plugins-base:i386              0.10.36-2                                  i386         GStreamer plugins from the "base" set
ii  gstreamer0.10-plugins-base-apps              0.10.36-2                                  amd64        GStreamer helper programs from the "base" set
ii  gstreamer0.10-plugins-base-dbg:amd64         0.10.36-2                                  amd64        GStreamer plugins from the "base" set
ii  gstreamer0.10-plugins-base-doc               0.10.36-2                                  all          GStreamer documentation for plugins from the "base" set
ii  gstreamer0.10-plugins-good:amd64             0.10.31-3+nmu4ubuntu2~gcc5.1               amd64        GStreamer plugins from the "good" set
ii  gstreamer0.10-plugins-good:i386              0.10.31-3+nmu4ubuntu2~gcc5.1               i386         GStreamer plugins from the "good" set
ii  gstreamer0.10-plugins-good-dbg:amd64         0.10.31-3+nmu4ubuntu2~gcc5.1               amd64        GStreamer plugins from the "good" set
ii  gstreamer0.10-plugins-good-doc               0.10.31-3+nmu4ubuntu2~gcc5.1               all          GStreamer documentation for plugins from the "good" set
ii  gstreamer0.10-pulseaudio:amd64               0.10.31-3+nmu4ubuntu2~gcc5.1               amd64        GStreamer plugin for PulseAudio
ii  gstreamer0.10-qapt                           3.0.2-0ubuntu1.1                           all          transitional dummy package
ii  gstreamer0.10-tools                          0.10.36-1.5ubuntu1                         amd64        Tools for use with GStreamer
ii  gstreamer0.10-x:amd64                        0.10.36-2                                  amd64        GStreamer plugins for X11 and Pango
ii  gstreamer0.10-x:i386                         0.10.36-2                                  i386         GStreamer plugins for X11 and Pango
ii  gstreamer1.0-alsa:amd64                      1.8.2-1ubuntu0.1                           amd64        GStreamer plugin for ALSA
ii  gstreamer1.0-clutter                         2.0.18-1                                   amd64        Clutter PLugin for GStreamer 1.0
ii  gstreamer1.0-clutter-3.0                     3.0.18-1                                   amd64        Clutter PLugin for GStreamer 1.0
ii  gstreamer1.0-crystalhd                       1:0.0~git20110715.fdd2f19-11build1         amd64        Crystal HD Video Decoder (GStreamer plugin)
ii  gstreamer1.0-doc                             1.8.2-1~ubuntu1                            all          GStreamer core documentation and manuals
ii  gstreamer1.0-dvswitch                        0.1.1-1                                    amd64        GStreamer plugin source from DVswitch
ii  gstreamer1.0-espeak                          0.4.0-1                                    amd64        GStreamer plugin for eSpeak speech synthesis
ii  gstreamer1.0-fluendo-mp3:amd64               0.10.32.debian-1                           amd64        Fluendo mp3 decoder GStreamer 1.0 plugin
ii  gstreamer1.0-hybris:i386                     1.8.2-1ubuntu0.1                           i386         GStreamer plugins from hybris
ii  gstreamer1.0-libav:amd64                     1.8.2-1~ubuntu1                            amd64        libav plugin for GStreamer
ii  gstreamer1.0-libav-dbg:amd64                 1.8.2-1~ubuntu1                            amd64        libav plugin for GStreamer (debug symbols)
ii  gstreamer1.0-nice:amd64                      0.1.13-0ubuntu2                            amd64        ICE library (GStreamer plugin)
ii  gstreamer1.0-packagekit                      0.8.17-4ubuntu6~gcc5.4ubuntu1.1            amd64        GStreamer plugin to install codecs using PackageKit
ii  gstreamer1.0-plugins-bad:amd64               1.8.2-1ubuntu0.1                           amd64        GStreamer plugins from the "bad" set
ii  gstreamer1.0-plugins-bad-dbg:amd64           1.8.2-1ubuntu0.1                           amd64        GStreamer plugins from the "bad" set (debug symbols)
ii  gstreamer1.0-plugins-bad-doc                 1.8.2-1ubuntu0.1                           all          GStreamer documentation for plugins from the "bad" set
ii  gstreamer1.0-plugins-bad-faad:amd64          1.8.2-1ubuntu0.1                           amd64        GStreamer faad plugin from the "bad" set
ii  gstreamer1.0-plugins-bad-videoparsers:amd64  1.8.2-1ubuntu0.1                           amd64        GStreamer videoparsers plugin from the "bad" set
ii  gstreamer1.0-plugins-base:amd64              1.8.2-1ubuntu0.1                           amd64        GStreamer plugins from the "base" set
ii  gstreamer1.0-plugins-base-apps               1.8.2-1ubuntu0.1                           amd64        GStreamer helper programs from the "base" set
ii  gstreamer1.0-plugins-base-dbg:amd64          1.8.2-1ubuntu0.1                           amd64        GStreamer plugins from the "base" set
ii  gstreamer1.0-plugins-base-doc                1.8.2-1ubuntu0.1                           all          GStreamer documentation for plugins from the "base" set
ii  gstreamer1.0-plugins-good:amd64              1.8.2-1ubuntu0.1                           amd64        GStreamer plugins from the "good" set
ii  gstreamer1.0-plugins-good-dbg:amd64          1.8.2-1ubuntu0.1                           amd64        GStreamer plugins from the "good" set
ii  gstreamer1.0-plugins-good-doc                1.8.2-1ubuntu0.1                           all          GStreamer documentation for plugins from the "good" set
ii  gstreamer1.0-plugins-ugly:amd64              1.8.2-1ubuntu0.1                           amd64        GStreamer plugins from the "ugly" set
ii  gstreamer1.0-plugins-ugly-amr:amd64          1.8.2-1ubuntu0.1                           amd64        GStreamer plugins from the "ugly" set
ii  gstreamer1.0-plugins-ugly-dbg:amd64          1.8.2-1ubuntu0.1                           amd64        GStreamer plugins from the "ugly" set (debug symbols)
ii  gstreamer1.0-plugins-ugly-doc                1.8.2-1ubuntu0.1                           all          GStreamer documentation for plugins from the "ugly" set
ii  gstreamer1.0-pocketsphinx:amd64              0.8.0+real5prealpha-1ubuntu2               amd64        Speech recognition tool - gstreamer plugin
ii  gstreamer1.0-pulseaudio:amd64                1.8.2-1ubuntu0.1                           amd64        GStreamer plugin for PulseAudio
ii  gstreamer1.0-tools                           1.8.2-1~ubuntu1                            amd64        Tools for use with GStreamer
ii  gstreamer1.0-vaapi:amd64                     1.8.2-1~ubuntu2                            amd64        VA-API plugins for GStreamer
ii  gstreamer1.0-vaapi-doc                       1.8.2-1~ubuntu2                            all          GStreamer VA-API documentation and manuals
ii  gstreamer1.0-x:amd64                         1.8.2-1ubuntu0.1                           amd64        GStreamer plugins for X11 and Pango
ii  libcanberra-gstreamer:amd64                  0.30-2.1ubuntu1                            amd64        GStreamer backend for libcanberra
ii  libgstreamer-ocaml                           0.2.0-2build2                              amd64        OCaml interface to the gstreamer library -- runtime files
ii  libgstreamer-ocaml-dev                       0.2.0-2build2                              amd64        OCaml interface to the gstreamer library -- development files
ii  libgstreamer-plugins-bad1.0-0:amd64          1.8.2-1ubuntu0.1                           amd64        GStreamer development files for libraries from the "bad" set
ii  libgstreamer-plugins-bad1.0-0:i386           1.8.2-1ubuntu0.1                           i386         GStreamer development files for libraries from the "bad" set
ii  libgstreamer-plugins-bad1.0-dev              1.8.2-1ubuntu0.1                           amd64        GStreamer development files for libraries from the "bad" set
ii  libgstreamer-plugins-base0.10-0:amd64        0.10.36-2                                  amd64        GStreamer libraries from the "base" set
ii  libgstreamer-plugins-base0.10-0:i386         0.10.36-2                                  i386         GStreamer libraries from the "base" set
ii  libgstreamer-plugins-base0.10-dev            0.10.36-2                                  amd64        GStreamer development files for libraries from the "base" set
ii  libgstreamer-plugins-base1.0-0:amd64         1.8.2-1ubuntu0.1                           amd64        GStreamer libraries from the "base" set
ii  libgstreamer-plugins-base1.0-0:i386          1.8.2-1ubuntu0.1                           i386         GStreamer libraries from the "base" set
ii  libgstreamer-plugins-base1.0-dev             1.8.2-1ubuntu0.1                           amd64        GStreamer development files for libraries from the "base" set
ii  libgstreamer-plugins-good1.0-0:amd64         1.8.2-1ubuntu0.1                           amd64        GStreamer development files for libraries from the "good" set
ii  libgstreamer-plugins-good1.0-dev             1.8.2-1ubuntu0.1                           amd64        GStreamer development files for libraries from the "good" set
ii  libgstreamer0.10-0:amd64                     0.10.36-1.5ubuntu1                         amd64        Core GStreamer libraries and elements
ii  libgstreamer0.10-0:i386                      0.10.36-1.5ubuntu1                         i386         Core GStreamer libraries and elements
ii  libgstreamer0.10-0-dbg:amd64                 0.10.36-1.5ubuntu1                         amd64        Core GStreamer libraries and elements
ii  libgstreamer0.10-dev                         0.10.36-1.5ubuntu1                         amd64        GStreamer core development files
ii  libgstreamer1.0-0:amd64                      1.8.2-1~ubuntu1                            amd64        Core GStreamer libraries and elements
ii  libgstreamer1.0-0:i386                       1.8.2-1~ubuntu1                            i386         Core GStreamer libraries and elements
ii  libgstreamer1.0-0-dbg:amd64                  1.8.2-1~ubuntu1                            amd64        Core GStreamer libraries and elements
ii  libgstreamer1.0-dev                          1.8.2-1~ubuntu1                            amd64        GStreamer core development files
ii  libgstreamermm-1.0-0v5:amd64                 1.4.3+dfsg-5                               amd64        C++ wrapper library for GStreamer (shared libraries)
ii  libgstreamermm-1.0-dev:amd64                 1.4.3+dfsg-5                               amd64        C++ wrapper library for GStreamer (development files)
ii  libqt5gstreamer-1.0-0:amd64                  1.2.0-3                                    amd64        C++ bindings library for GStreamer with a Qt-style API - Qt 5 build
ii  libqt5gstreamer-dev                          1.2.0-3                                    amd64        Development headers for QtGStreamer - Qt 5 build
ii  libqt5gstreamerquick-1.0-0:amd64             1.2.0-3                                    amd64        QtGStreamerQuick library - Qt 5 build
ii  libqt5gstreamerui-1.0-0:amd64                1.2.0-3                                    amd64        QtGStreamerUi library - Qt 5 build
ii  libqt5gstreamerutils-1.0-0:amd64             1.2.0-3                                    amd64        QtGStreamerUtils library - Qt 5 build
ii  libqtgstreamer-1.0-0:amd64                   1.2.0-3                                    amd64        C++ bindings library for GStreamer with a Qt-style API
ii  libqtgstreamer-dev                           1.2.0-3                                    amd64        Development headers for QtGStreamer
ii  libqtgstreamerui-1.0-0:amd64                 1.2.0-3                                    amd64        QtGStreamerUi library
ii  libqtgstreamerutils-1.0-0:amd64              1.2.0-3                                    amd64        QtGStreamerUtils library
ii  libreoffice-avmedia-backend-gstreamer        1:5.1.4-0ubuntu1                           amd64        GStreamer backend for LibreOffice
ii  liquidsoap-plugin-gstreamer                  1.1.1-7.1                                  amd64        audio streaming language -- GStreamer plugin
ii  phonon-backend-gstreamer:amd64               4:4.8.2-0ubuntu2                           amd64        Phonon GStreamer 1.0 backend
ii  phonon-backend-gstreamer-common:amd64        4:4.8.2-0ubuntu2                           amd64        Phonon GStreamer 1.0.x backend icons
ii  phonon4qt5-backend-gstreamer:amd64           4:4.8.2-0ubuntu2                           amd64        Phonon Qt5 GStreamer 1.0 backend
ii  qml-module-qtgstreamer:amd64                 1.2.0-3                                    amd64        QML plugins from QtGStreamer - Qt 5 build
ii  qt5gstreamer-dbg:amd64                       1.2.0-3                                    amd64        Debug symbols for QtGStreamer - Qt 5 build
ii  qtgstreamer-dbg:amd64                        1.2.0-3                                    amd64        Debug symbols for QtGStreamer
ii  qtgstreamer-declarative:amd64                1.2.0-3                                    amd64        QML plugins from QtGStreamer
ii  qtgstreamer-plugins:amd64                    1.2.0-3                                    amd64        GStreamer plugins from QtGStreamer
ii  qtgstreamer-plugins-qt5:amd64                1.2.0-3                                    amd64        GStreamer plugins from QtGStreamer - Qt 5 build

3 ответа

Плагин hls находится в gst-plugins-bad. Чтобы быть уверенным, проверьте «gst-inspect-1.0 | grep hls» — в вашем дистрибутиве gst-inspect может быть символической ссылкой на gst-inspect-0.10.


2

ensonic
18 Окт 2016 в 15:25

Отсутствующий элемент называется hlsdemux и находится в gst-plugins-bad. Вы можете проверить список установленных вами плагинов с помощью gst-inspect-0.10 или gst-inspect-1.0. Использование этого с grep позволит вам быстро узнать, установлен ли он у вас.

gst-inspect-1.0 | grep hlsdemux (или 0,10 в зависимости от версии, которую вы хотите использовать)

Если QtMultimedia действительно использует 0.10, вы должны пропустить gstreamer0.10-plugins-bad. Обратите внимание, что версия 0.10 устарела и не поддерживается годами. 1.0 активно развивается. Вы должны проверить, обновлена ​​ли более новая версия QtMultimedia до версии 1.0, и попытаться использовать ее.


4

thiagoss
18 Окт 2016 в 15:26

Я знаю, что отвечаю «немного» поздно, но лучше поздно, чем никогда

Дело в том, что в вашей ОС отсутствуют некоторые кодеки, поэтому нам нужно их установить для воспроизведения видео/аудио.

Обратите внимание, что это будет работать ТОЛЬКО на Ubuntu или на дистрибутивах на основе Ubuntu, таких как Linux Mint и т. д.

Чтобы установить отсутствующие кодеки, вы должны запустить следующую команду на терминале (или добавить ubuntu-restricted-extras в качестве зависимости от вашего файла .deb):

sudo apt install ubuntu-restricted-extras


13

Martí Climent
18 Апр 2021 в 11:25

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Ошибка драйвера dualshock 4 на пк windows 11
  • Ошибка драйвера dualshock 4 для windows 10