mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-24 02:31:03 +00:00
e9f5d94c93
Useful when having a service that runs a GStreamer pipeline or application in Google Cloud to avoid storing the inputs and outputs in the running container or service. For example when analyzing a video from a Google Cloud Storage bucket and extracting images or converting the video and then uploading the results into another Google Cloud Storage bucket. - gssrc allows to read from a file located in Google Cloud Storage and it supports seeking. - gssink allows to write to a file located in Google Cloud Storage. There are 2 modes, one similar to multifilesink and the other similar to filesink. Example: gst-launch-1.0 gssrc location=gs://mybucket/videos/sample.mp4 ! decodebin ! glimagesink gst-launch-1.0 playbin uri=gs://mybucket/videos/sample.mp4 gst-launch-1.0 videotestsrc num-buffers=5 ! pngenc ! gssink object-name="img/img%05d.png" bucket-name="mybucket" next-file=buffer gst-launch-1.0 filesrc location=sample.mp4 ! gssink object-name="videos/video.mp4" bucket-name="mybucket" next-file=none When running locally simply set GOOGLE_APPLICATION_CREDENTIALS. But when running in Google Cloud Run or Google Cloud Engine, just set the "service-account-email" property on each element. Closes #1264 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1369>
207 lines
16 KiB
Meson
207 lines
16 KiB
Meson
option('gst_play_tests', type: 'boolean', value: false,
|
|
description: 'Enable GstPlay tests that need network access')
|
|
|
|
# Feature options for plugins without external deps
|
|
option('accurip', type : 'feature', value : 'auto')
|
|
option('adpcmdec', type : 'feature', value : 'auto')
|
|
option('adpcmenc', type : 'feature', value : 'auto')
|
|
option('aiff', type : 'feature', value : 'auto')
|
|
option('asfmux', type : 'feature', value : 'auto')
|
|
option('audiobuffersplit', type : 'feature', value : 'auto')
|
|
option('audiofxbad', type : 'feature', value : 'auto')
|
|
option('audiolatency', type : 'feature', value : 'auto')
|
|
option('audiomixmatrix', type : 'feature', value : 'auto')
|
|
option('audiovisualizers', type : 'feature', value : 'auto')
|
|
option('autoconvert', type : 'feature', value : 'auto')
|
|
option('bayer', type : 'feature', value : 'auto')
|
|
option('camerabin2', type : 'feature', value : 'auto')
|
|
option('coloreffects', type : 'feature', value : 'auto')
|
|
option('debugutils', type : 'feature', value : 'auto')
|
|
option('dvbsubenc', type : 'feature', value : 'auto')
|
|
option('dvbsuboverlay', type : 'feature', value : 'auto')
|
|
option('dvdspu', type : 'feature', value : 'auto')
|
|
option('faceoverlay', type : 'feature', value : 'auto')
|
|
option('festival', type : 'feature', value : 'auto')
|
|
option('fieldanalysis', type : 'feature', value : 'auto')
|
|
option('freeverb', type : 'feature', value : 'auto')
|
|
option('frei0r', type : 'feature', value : 'auto')
|
|
option('gaudieffects', type : 'feature', value : 'auto')
|
|
option('gdp', type : 'feature', value : 'auto')
|
|
option('geometrictransform', type : 'feature', value : 'auto')
|
|
option('id3tag', type : 'feature', value : 'auto')
|
|
option('inter', type : 'feature', value : 'auto')
|
|
option('interlace', type : 'feature', value : 'auto')
|
|
option('ivfparse', type : 'feature', value : 'auto')
|
|
option('ivtc', type : 'feature', value : 'auto')
|
|
option('jp2kdecimator', type : 'feature', value : 'auto')
|
|
option('jpegformat', type : 'feature', value : 'auto')
|
|
option('librfb', type : 'feature', value : 'auto')
|
|
option('midi', type : 'feature', value : 'auto')
|
|
option('mpegdemux', type : 'feature', value : 'auto')
|
|
option('mpegpsmux', type : 'feature', value : 'auto')
|
|
option('mpegtsdemux', type : 'feature', value : 'auto')
|
|
option('mpegtsmux', type : 'feature', value : 'auto')
|
|
option('mxf', type : 'feature', value : 'auto')
|
|
option('netsim', type : 'feature', value : 'auto')
|
|
option('onvif', type : 'feature', value : 'auto')
|
|
option('pcapparse', type : 'feature', value : 'auto')
|
|
option('pnm', type : 'feature', value : 'auto')
|
|
option('proxy', type : 'feature', value : 'auto')
|
|
option('qroverlay', type : 'feature', value : 'auto')
|
|
option('rawparse', type : 'feature', value : 'auto')
|
|
option('removesilence', type : 'feature', value : 'auto')
|
|
option('rist', type : 'feature', value : 'auto')
|
|
option('rtmp2', type : 'feature', value : 'auto')
|
|
option('rtp', type : 'feature', value : 'auto')
|
|
option('sdp', type : 'feature', value : 'auto')
|
|
option('segmentclip', type : 'feature', value : 'auto')
|
|
option('siren', type : 'feature', value : 'auto')
|
|
option('smooth', type : 'feature', value : 'auto')
|
|
option('speed', type : 'feature', value : 'auto')
|
|
option('subenc', type : 'feature', value : 'auto')
|
|
option('switchbin', type : 'feature', value : 'auto')
|
|
option('timecode', type : 'feature', value : 'auto')
|
|
option('videofilters', type : 'feature', value : 'auto')
|
|
option('videoframe_audiolevel', type : 'feature', value : 'auto')
|
|
option('videoparsers', type : 'feature', value : 'auto')
|
|
option('videosignal', type : 'feature', value : 'auto')
|
|
option('vmnc', type : 'feature', value : 'auto')
|
|
option('y4m', type : 'feature', value : 'auto')
|
|
|
|
# Feature options for libraries that need external deps
|
|
option('opencv', type : 'feature', value : 'auto', description : 'OpenCV computer vision library support')
|
|
|
|
# Feature options for optional deps in plugins
|
|
option('wayland', type : 'feature', value : 'auto', description : 'Wayland plugin/library, support in the Vulkan plugin')
|
|
option('x11', type : 'feature', value : 'auto', description : 'X11 support in Vulkan, GL and rfb plugins')
|
|
|
|
# Feature options for plugins that need external deps
|
|
option('aom', type : 'feature', value : 'auto', description : 'AOM AV1 video codec plugin')
|
|
option('avtp', type : 'feature', value : 'auto', description : 'Audio/Video Transport Protocol (AVTP) plugin')
|
|
option('androidmedia', type : 'feature', value : 'auto', description : 'Video capture and codec plugins for Android')
|
|
option('applemedia', type : 'feature', value : 'auto', description : 'Video capture and codec access plugins for macOS and iOS')
|
|
option('assrender', type : 'feature', value : 'auto', description : 'ASS/SSA subtitle renderer plugin')
|
|
option('bluez', type : 'feature', value : 'auto', description : 'Bluetooth audio A2DP/AVDTP sink, AVDTP source plugin')
|
|
option('bs2b', type : 'feature', value : 'auto', description : 'Bauer stereophonic-to-binaural audio plugin')
|
|
option('bz2', type : 'feature', value : 'auto', description : 'bz2 stream encoder and decoder plugin')
|
|
option('chromaprint', type : 'feature', value : 'auto', description : 'Chromaprint fingerprint audio plugin')
|
|
option('closedcaption', type : 'feature', value : 'auto', description : 'Closed caption extractor, decoder, and overlay plugin')
|
|
option('colormanagement', type : 'feature', value : 'auto', description : 'Color management correction plugin')
|
|
option('curl', type : 'feature', value : 'auto', description : 'cURL network source and sink plugin')
|
|
option('curl-ssh2', type : 'feature', value : 'auto', description : 'cURL network source and sink plugin libssh2 support')
|
|
option('d3dvideosink', type : 'feature', value : 'auto', description : 'Direct3D video sink plugin')
|
|
option('d3d11', type : 'feature', value : 'auto', description : 'Direct3D11 plugin')
|
|
option('dash', type : 'feature', value : 'auto', description : 'DASH demuxer plugin')
|
|
option('dc1394', type : 'feature', value : 'auto', description : 'libdc1394 IIDC camera source plugin')
|
|
option('decklink', type : 'feature', value : 'auto', description : 'DeckLink audio/video source/sink plugin')
|
|
option('directfb', type : 'feature', value : 'auto', description : 'DirectFB video sink plugin')
|
|
option('directsound', type : 'feature', value : 'auto', description : 'Directsound audio source plugin')
|
|
option('dtls', type : 'feature', value : 'auto', description : 'DTLS encoder and decoder plugin')
|
|
option('dts', type : 'feature', value : 'auto', description : 'DTS audio decoder plugin')
|
|
option('dvb', type : 'feature', value : 'auto', description : 'DVB video bin and source plugin')
|
|
option('faac', type : 'feature', value : 'auto', description : 'Free AAC audio encoder plugin')
|
|
option('faad', type : 'feature', value : 'auto', description : 'Free AAC audio decoder plugin')
|
|
option('fbdev', type : 'feature', value : 'auto', description : 'Framebuffer video sink plugin')
|
|
option('fdkaac', type : 'feature', value : 'auto', description : 'Fraunhofer AAC audio codec plugin')
|
|
option('flite', type : 'feature', value : 'auto', description : 'Flite speech synthesizer source plugin')
|
|
option('fluidsynth', type : 'feature', value : 'auto', description : 'Fluidsynth MIDI decoder plugin')
|
|
option('gl', type : 'feature', value : 'auto', description : 'GStreamer OpenGL integration support (used by various plugins)')
|
|
option('gme', type : 'feature', value : 'auto', description : 'libgme gaming console music file decoder plugin')
|
|
option('gs', type : 'feature', value : 'auto', description : 'Google Cloud Storage source and sink plugin')
|
|
option('gsm', type : 'feature', value : 'auto', description : 'GSM encoder/decoder plugin')
|
|
option('ipcpipeline', type : 'feature', value : 'auto', description : 'Inter-process communication plugin')
|
|
option('iqa', type : 'feature', value : 'auto', description : 'Image quality assessment plugin')
|
|
option('kate', type : 'feature', value : 'auto', description : 'Kate subtitle parser, tagger, and codec plugin')
|
|
option('kms', type : 'feature', value : 'auto', description : 'KMS video sink plugin')
|
|
option('ladspa', type : 'feature', value : 'auto', description : 'LADSPA plugin bridge')
|
|
option('ldac', type : 'feature', value : 'auto', description : 'LDAC bluetooth audio codec plugin')
|
|
option('libde265', type : 'feature', value : 'auto', description : 'HEVC/H.265 video decoder plugin')
|
|
option('libmms', type : 'feature', value : 'auto', description : 'Microsoft multimedia server network source plugin')
|
|
option('openaptx', type : 'feature', value : 'auto', description : 'Open Source implementation of Audio Processing Technology codec (aptX) plugin')
|
|
option('lv2', type : 'feature', value : 'auto', description : 'LV2 audio plugin bridge')
|
|
option('mediafoundation', type : 'feature', value : 'auto', description : 'Microsoft Media Foundation plugin')
|
|
option('microdns', type : 'feature', value : 'auto', description : 'libmicrodns-based device provider')
|
|
option('modplug', type : 'feature', value : 'auto', description : 'ModPlug audio decoder plugin')
|
|
option('mpeg2enc', type : 'feature', value : 'auto', description : 'mpeg2enc video encoder plugin')
|
|
option('mplex', type : 'feature', value : 'auto', description : 'mplex audio/video multiplexer plugin')
|
|
option('msdk', type : 'feature', value : 'auto', description : 'Intel Media SDK video encoder/decoder plugin')
|
|
option('musepack', type : 'feature', value : 'auto', description : 'libmpcdec Musepack decoder plugin')
|
|
option('neon', type : 'feature', value : 'auto', description : 'NEON HTTP source plugin')
|
|
option('nvcodec', type : 'feature', value : 'auto', description : 'NVIDIA GPU codec plugin')
|
|
option('ofa', type : 'feature', value : 'auto', description : 'Open Fingerprint Architecture library plugin')
|
|
option('openal', type : 'feature', value : 'auto', description : 'OpenAL plugin')
|
|
option('openexr', type : 'feature', value : 'auto', description : 'OpenEXR plugin')
|
|
option('openh264', type : 'feature', value : 'auto', description : 'H.264 video codec plugin')
|
|
option('openjpeg', type : 'feature', value : 'auto', description : 'JPEG2000 image codec plugin')
|
|
option('openmpt', type : 'feature', value : 'auto', description : 'OpenMPT module music library plugin')
|
|
option('openni2', type : 'feature', value : 'auto', description : 'OpenNI2 library plugin')
|
|
option('opensles', type : 'feature', value : 'auto', description : 'OpenSL ES audio source/sink plugin')
|
|
option('opus', type : 'feature', value : 'auto', description : 'OPUS audio parser plugin')
|
|
option('resindvd', type : 'feature', value : 'auto', description : 'Resin DVD playback plugin')
|
|
option('rsvg', type : 'feature', value : 'auto', description : 'SVG overlayer and image decoder plugin')
|
|
option('rtmp', type : 'feature', value : 'auto', description : 'RTMP video network source and sink plugin')
|
|
option('sbc', type : 'feature', value : 'auto', description : 'SBC bluetooth audio codec plugin')
|
|
option('sctp', type : 'feature', value : 'auto', description : 'SCTP plugin')
|
|
option('shm', type : 'feature', value : 'auto', description : 'Shared memory source/sink plugin')
|
|
option('smoothstreaming', type : 'feature', value : 'auto', description : 'Microsoft Smooth Streaming demuxer plugin')
|
|
option('sndfile', type : 'feature', value : 'auto', description : 'libsndfile plugin')
|
|
option('soundtouch', type : 'feature', value : 'auto', description : 'Audio pitch controller & BPM detection plugin')
|
|
option('spandsp', type : 'feature', value : 'auto', description : 'Packet loss concealment audio plugin')
|
|
option('srt', type : 'feature', value : 'auto', description : 'Secure, Reliable, Transport client/server network source/sink plugin')
|
|
option('srtp', type : 'feature', value : 'auto', description : 'Secure RTP codec plugin')
|
|
option('svthevcenc', type : 'feature', value : 'auto', description : 'Scalable Video Technology for HEVC encoder plugin')
|
|
option('teletext', type : 'feature', value : 'auto', description : 'Teletext plugin')
|
|
option('tinyalsa', type : 'feature', value : 'auto', description : 'TinyALSA plugin')
|
|
option('transcode', type : 'feature', value : 'auto', description : 'Transcode plugin')
|
|
option('ttml', type : 'feature', value : 'auto', description : 'TTML subtitle parser and renderer plugin')
|
|
option('uvch264', type : 'feature', value : 'auto', description : 'UVC compliant H.264 camera source plugin')
|
|
option('va', type : 'feature', value : 'auto', description: 'VA-API new plugin')
|
|
option('voaacenc', type : 'feature', value : 'auto', description : 'AAC audio encoder plugin')
|
|
option('voamrwbenc', type : 'feature', value : 'auto', description : 'AMR-WB audio encoder plugin')
|
|
option('vulkan', type : 'feature', value : 'auto', description : 'Vulkan video sink plugin')
|
|
option('wasapi', type : 'feature', value : 'auto', description : 'Windows Audio Session API source/sink plugin')
|
|
option('wasapi2', type : 'feature', value : 'auto', description : 'Windows Audio Session API source/sink plugin with WinRT API')
|
|
option('webp', type : 'feature', value : 'auto', description : 'WebP image codec plugin')
|
|
option('webrtc', type : 'feature', value : 'auto', description : 'WebRTC audio/video network bin plugin')
|
|
option('webrtcdsp', type : 'feature', value : 'auto', description : 'Plugin with various audio filters provided by the WebRTC audio processing library')
|
|
option('wildmidi', type : 'feature', value : 'auto', description : 'WildMidi midi soft synth plugin')
|
|
option('winks', type : 'feature', value : 'auto', description : 'Windows Kernel Streaming video source plugin')
|
|
option('winscreencap', type : 'feature', value : 'auto', description : 'Windows Screen Capture video source plugin')
|
|
option('x265', type : 'feature', value : 'auto', description : 'HEVC/H.265 video encoder plugin')
|
|
option('zbar', type : 'feature', value : 'auto', description : 'Barcode image scanner plugin using zbar library')
|
|
option('zxing', type : 'feature', value : 'auto', description : 'Barcode image scanner plugin using zxing-cpp library')
|
|
option('wpe', type : 'feature', value : 'auto', description : 'WPE Web browser plugin')
|
|
option('magicleap', type : 'feature', value : 'auto', description : 'Magic Leap platform support')
|
|
option('v4l2codecs', type : 'feature', value : 'auto', description : 'Video4Linux Stateless CODECs support')
|
|
option('isac', type : 'feature', value : 'auto', description : 'iSAC plugin')
|
|
|
|
# HLS plugin options
|
|
option('hls', type : 'feature', value : 'auto', description : 'HTTP Live Streaming plugin')
|
|
option('hls-crypto', type : 'combo', value : 'auto', choices : ['auto', 'nettle', 'libgcrypt', 'openssl'],
|
|
description: 'Crypto library to use for HLS plugin')
|
|
|
|
# SCTP plugin options
|
|
option('sctp-internal-usrsctp', type: 'feature', value : 'enabled',
|
|
description: 'Whether to use the bundled usrsctp library or the system one')
|
|
|
|
# Common feature options
|
|
option('examples', type : 'feature', value : 'auto', yield : true)
|
|
option('tests', type : 'feature', value : 'auto', yield : true)
|
|
option('introspection', type : 'feature', value : 'auto', yield : true, description : 'Generate gobject-introspection bindings')
|
|
option('nls', type : 'feature', value : 'auto', yield: true, description : 'Enable native language support (translations)')
|
|
option('orc', type : 'feature', value : 'auto', yield : true)
|
|
option('gobject-cast-checks', type : 'feature', value : 'auto', yield : true,
|
|
description: 'Enable run-time GObject cast checks (auto = enabled for development, disabled for stable releases)')
|
|
option('glib-asserts', type : 'feature', value : 'enabled', yield : true,
|
|
description: 'Enable GLib assertion (auto = enabled for development, disabled for stable releases)')
|
|
option('glib-checks', type : 'feature', value : 'enabled', yield : true,
|
|
description: 'Enable GLib checks such as API guards (auto = enabled for development, disabled for stable releases)')
|
|
option('extra-checks', type : 'feature', value : 'enabled', yield : true, description : 'Enable extra runtime checks')
|
|
|
|
# Common options
|
|
option('package-name', type : 'string', yield : true,
|
|
description : 'package name to use in plugins')
|
|
option('package-origin', type : 'string', value : 'Unknown package origin', yield : true,
|
|
description : 'package origin URL to use in plugins')
|
|
option('doc', type : 'feature', value : 'auto', yield: true,
|
|
description: 'Enable documentation.')
|