GStreamer 1.0 series序列示例
GStreamer 1.0 series序列示例
OpenEmbedded layer for GStreamer 1.0
這layer層為GStreamer 1.0框架提供了非官方的支持,用于OpenEmbedded/Yocto。它用于GStreamer recipe backports,為早期的OE版本提供對更新GStreamer版本的支持,同時也作為尚未進入OE核心的最新升級(最近發布了一個新的GStreamer版本)。
參考:https://github.com/OSSystems/meta-gstreamer1.0
Dependencies
URI: git://git.openembedded.org/openembedded-core
branch: master
revision: HEAD
此外,the meta-multimedia and meta-oe layers of the meta-openembedded repo at
git://git.openembedded.org/meta-openembedded是可選插件所必需的(見下文)。
Package names and coexistence with 0.10
由于1.0版本設計為能夠在同一個系統中與0.10共存,GStreamer 1.0的配方命名反映了這一點。這些命名是:
gstreamer1.0
gstreamer1.0-plugins-base
gstreamer1.0-plugins-good
gstreamer1.0-plugins-bad
gstreamer1.0-plugins-ugly
gstreamer1.0-libav
gstreamer1.0-omx
gstreamer1.0-rtsp-server
gstreamer1.0-vaapi
Building git
versions
默認情況下,釋放tarball是解包和構建的。但是,可以從GStreamer git存儲庫構建。一般來說,最好使用版本發布release,但是對于最前沿的特性,git版本可能是必要的。
要讓Bitbake知道git版本的包是首選的,請添加到本地.conf:
PREFERRED_VERSION_
= “git”
For example, to use git versions of all packages, add to
local.conf:
PREFERRED_VERSION_gstreamer1.0
= “git”
PREFERRED_VERSION_gstreamer1.0-plugins-base
= “git”
PREFERRED_VERSION_gstreamer1.0-plugins-good
= “git”
PREFERRED_VERSION_gstreamer1.0-plugins-bad
= “git”
PREFERRED_VERSION_gstreamer1.0-plugins-ugly
= “git”
PREFERRED_VERSION_gstreamer1.0-libav
= “git”
PREFERRED_VERSION_gstreamer1.0-omx
= “git”
Enabling
plugins with dependencies
默認情況下,在base/good/bad/unicky recipes中,只有依賴關系較少的插件和OE
core支持的具有依賴關系的插件(即OE core中存在這些插件的配方)始終處于使能狀態。
These are:
gstreamer1.0-plugins-base : gio-unix-2.0, ogg, pango, theora, vorbis
gstreamer1.0-plugins-good : cairo, flac, gdk-pixbuf, gudev, jpeg,
lame, libpng, mpg123, soup, speex, taglib, v4l2
gstreamer1.0-plugins-bad : bz2, curl, dash, dtls, hls, neon, rsvg,
sbc, smoothstreaming, sndfile, uvch264, webp
gstreamer1.0-plugins-ugly : a52dec, mpeg2dec
gstreamer1.0-libav : yasm
gstreamer1.0-vaapi : drm
對于X11、Wayland、ALSA、BlueZ、DirectFB、OpenGL、Vulkan和PulseAudio插件,情況有所不同。它們是根據發行版特性值的內容構建的(換句話說,取決于OE發行版支持的內容)。
其余的默認情況下是禁用的,可以通過附加到相應的PACKAGECONFIG值來啟用。例如,要在gstreamer1.0-plugins-good中啟用vpx和wappack支持,請添加到本地.conf:
PACKAGECONFIG_append_pn-gstreamer1.0-plugins-good
= “vpx wavpack”
注意,以這種方式啟用插件后,必須確保插件依賴項的配方可用。在上面的例子中,vpx和wappack的配方必須存在。這通常意味著必須使用額外的additional OE layers層(通常是meta-OE或meta-multimedia)。
這也是內部啟用Orc支持的方式。自版本1.6.0以來,Orc包含在該層中,并在默認情況下啟用。(Orc存在于OE核心中,但是為了使gstreamre1.6可以用較舊的層構建,它的配方包含在內。)
下面列出了在包中啟用附加插件和特性的所有配置值。
gstreamer1.0
check : build unit test libraries
debug : enable debug build
tests : build test applications
valgrind : enable run-time
valgrind detection
gst-tracer-hooks : enable tracing
subsystem hooks
trace-historic : enable historic
tracing subsystem
unwind: enables libunwind-based stack trace generation
dw: adds source lines and numbers to backtraces using
the elfutils libdw library
gstreamer1.0-plugins-base
cdparanoia : cdparanoia audio CD
ripping plugin
ivorbis: Integer-only Vorbis decoding using the Tremor
library
opus : Opus audio decoder plugin
gstreamer1.0-plugins-good
`dv1394’ : IEEE 1394 raw video source plugins
gtk : GTK+3 plugins
jack : JACK audio system plugins
libv4l2 : additional v4l2 plugins based on libv4l2
vpx : plugins for en- and decoding VP8 video streams,
using Google’s libvpx
wavpack : WavPack plugins
gstreamer1.0-plugins-bad
assrender : ASS/SSA subtitle
renderer plugins
dc1394 : libdc1394 based video source plugin for IIDC
cameras
faac : AAC encoding plugins using the FAAC library
faad : AAC decoding plugins using the FAAD library
flite : Flite speech synthesizer plugins
fluidsynth : FluidSynth plugins
kms : Video sink plugin using the Linux kernel mode
setting API
libmms : Microsoft Multimedia Stream plugins
libssh2 : Enable libssh2 support in cURL plugins
lcms2 : Little CMS open source color management engine
plugins
modplug : Decoder plugins for module files
(MOD/S3M/XM/IT/…) using the ModPlug library
openal : OpenAL audio plugins
opencv : OpenCV image processing plugins
openjpeg : OpenJPEG-based
JPEG2000 image decoder/encoder plugin
opusparse : Opus bitstream parser
plugin
resindvd : DVD navigation and
playback plugin
rtmp : Real Time Messaging Protocol (RTMP) plugins
sctp : Stream Control Transmission Protocol (SCTP)
plugin
srtp : RFC 3711 SRTP plugin
ttml : Timed Text Markup Language plugins
voaacenc : OpenCORE based AAC
encoder plugin
voamrwbenc : OpenCORE based AMR
wideband encoder plugin
webp : WebP plugins
gstreamer1.0-plugins-ugly
amrnb : OpenCORE based AMR narrowband decoder plugin
amrwb : OpenCORE based AMR wideband decoder plugin
cdio : Compact Disc audio plugins using libcdio
dvdread : DVD source plugins using libdvdread
x264 : h.264/AVC encoder plugin using libx264
gstreamer1.0-libav
libav : builds the package using the system’s libav
instead of the included one (not recommended unless you really
know what you are doing!)
gpl : build the package in GPL mode (enables GPL
elements)
valgrind : enable run-time
valgrind detection
gstreamer1.0-vaapi
egl : use the EGL backend
glx : use the GLX backend
wayland : enable Wayland output sinks
X11 : enable X11 output sinks
OpenMAX IL
support
gstreamer1.0-omx包增加了對OpenMAX-IL的支持。默認情況下,配方配置為使用OE Core附帶的bellagio OpenMAX IL實現。BSP激勵層添加.bbappend文件,這些文件設置GSTREAMER_1_0_OMX_目標變量,以使gstreamer1.0-OMX使用特定于設備的OpenMAX IL支持。目前,支持這些特定于設備的對象:
rpi : Raspberry Pi OpenMAX IL implementation
如果.bbappend文件將GSTREAMER_1_0_OMX_TARGET的值更改為特定set的值,則配置會自動將gstreamer1.0-OMX的PACKAGE_ARCH設置為MACHINE_ARCH。
此外,如果寫入了特定set的.bbappend文件,建議也在其中設置GSTREAMER_1_0_OMX_CORE_NAME的值。此值指定需要使用的OpenMAX核心(共享庫)的文件名。對于Bellagio OpenMAX實現,它的值是:${libdir}/libomxil-bellagio.so.0。gstreamer1.0-omx配方需要此值來調整gstomx.conf文件配置文件。
總結
以上是生活随笔為你收集整理的GStreamer 1.0 series序列示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: H265与ffmpeg改进开发
- 下一篇: deepstream-开放式实时服务器