- Печать
Страницы: [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
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-devIn 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
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:

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