gstreamer/ext
Julien e9f5d94c93 gs: add source and sink for Google Cloud Storage
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>
2021-03-18 22:32:48 +00:00
..
aom plugins: uddate gst_type_mark_as_plugin_api() calls 2020-06-06 00:40:42 +02:00
assrender assrender: Don't try unlocking unlocked mutex 2020-12-29 11:19:53 +00:00
avtp tests/avtp: Fix coverity issues 2020-09-28 18:40:43 +00:00
bs2b Remove autotools build system 2019-10-14 13:54:27 +01:00
bz2 Remove autotools build system 2019-10-14 13:54:27 +01:00
chromaprint Remove autotools build system 2019-10-14 13:54:27 +01:00
closedcaption cccombiner: implement scheduling 2021-03-17 22:00:25 +00:00
colormanagement plugins: uddate gst_type_mark_as_plugin_api() calls 2020-06-06 00:40:42 +02:00
curl curl: Remove incorrect GST_DEBUG_OBJECT() calls 2020-12-03 13:31:38 +00:00
dash dashsink: add h265 codec support 2021-01-26 17:47:53 +00:00
dc1394 plugins: uddate gst_type_mark_as_plugin_api() calls 2020-06-06 00:40:42 +02:00
directfb directfb: suppress compiler warning from directfb headers 2020-07-25 19:47:43 +01:00
dtls dtls: use GST_WARNING instead of g_warning 2021-02-17 23:10:55 +00:00
dts Remove autotools build system 2019-10-14 13:54:27 +01:00
faac docs: Add some more plugin API types 2020-06-09 12:28:13 -04:00
faad Remove autotools build system 2019-10-14 13:54:27 +01:00
fdkaac fdkaacenc: Implement flush function 2020-08-17 23:39:39 +03:00
flite Remove autotools build system 2019-10-14 13:54:27 +01:00
fluidsynth fluiddec: Move logging init into plugin_init 2020-02-11 12:10:50 +00:00
gme Remove autotools build system 2019-10-14 13:54:27 +01:00
gs gs: add source and sink for Google Cloud Storage 2021-03-18 22:32:48 +00:00
gsm Remove autotools build system 2019-10-14 13:54:27 +01:00
hls hlsdemux: Use actual object for logging 2020-12-03 14:31:17 +00:00
iqa iqa: Add a 'mode' property 2020-07-23 17:14:08 +00:00
isac isac: add iSAC plugin 2020-10-29 16:59:18 +01:00
kate remove various useless linefeed in logs 2019-12-11 10:51:29 +01:00
ladspa gstladspautils.c: avoid implicit float to int conversion 2020-08-04 11:37:52 +00:00
ldac ldac: Use pkg-config instead of raw lib/header search 2021-01-27 17:16:57 -05:00
libde265 Remove autotools build system 2019-10-14 13:54:27 +01:00
libmms documentation: fixed a heap o' typos 2019-11-05 09:11:25 -05:00
lv2 gstlv2utils.c: avoid implicit float to int conversion 2020-08-04 11:37:52 +00:00
mdns
modplug modplug: avoid division by zero 2020-08-28 08:10:04 +10:00
mpeg2enc mpeg2enc: add disable-encode-retries property 2020-08-06 17:13:03 +00:00
mplex plugins: uddate gst_type_mark_as_plugin_api() calls 2020-06-06 00:40:42 +02:00
musepack musepackdec: Don't fail all queries if no sample rate is known yet 2020-05-06 08:51:38 +00:00
neon meson: build with neon 0.31 2020-04-03 18:50:16 -04:00
ofa Remove autotools build system 2019-10-14 13:54:27 +01:00
openal Remove autotools build system 2019-10-14 13:54:27 +01:00
openaptx openaptx: Drop lib prefix from option name for consistency 2020-12-11 22:08:01 -05:00
opencv opencv: Expose retinex parameters 2020-12-03 17:04:07 +01:00
openexr openexr: Fix check for when to pass -std=c++98 2019-12-02 08:53:59 +00:00
openh264 openh264enc: Add support for main and high profiles 2021-02-11 14:58:35 +00:00
openjpeg openjpegenc: store stripe offset when encoding image 2020-11-12 13:53:47 +00:00
openmpt Remove autotools build system 2019-10-14 13:54:27 +01:00
openni2 Mark more plugin GTypes as plugin API 2020-06-19 13:05:38 +01:00
opus Remove autotools build system 2019-10-14 13:54:27 +01:00
qroverlay qroverlay: Reuse the same OverlayComposition object when possible 2020-11-26 14:34:34 +00:00
resindvd remove various useless linefeed in logs 2019-12-11 10:51:29 +01:00
rsvg Remove autotools build system 2019-10-14 13:54:27 +01:00
rtmp rtmp, transcodebin: fix i18n header includes 2020-07-07 19:55:00 +01:00
sbc Remove autotools build system 2019-10-14 13:54:27 +01:00
sctp sctp: Do downward state change logic after chaining up. 2020-10-31 01:47:06 +00:00
smoothstreaming smoothstreaming: clear live adapter on seek 2020-09-30 11:48:02 +00:00
sndfile Remove autotools build system 2019-10-14 13:54:27 +01:00
soundtouch pitch: Remove useless restriction on number of channel 2020-05-22 18:18:28 -04:00
spandsp spanplc: Don't segfault when retrieving the stats property without a spanplc context 2020-05-10 08:44:09 +00:00
srt srt: preserve ABI compatibility 2021-02-03 23:39:00 +01:00
srtp plugins: uddate gst_type_mark_as_plugin_api() calls 2020-06-06 00:40:42 +02:00
svthevcenc svthevcenc: Add new SVT-HEVC encoder element 2019-12-20 15:43:55 +00:00
teletextdec remove various useless linefeed in logs 2019-12-11 10:51:29 +01:00
ttml ttmlparse: Handle whitespace before XML declaration 2020-10-30 07:01:52 +00:00
voaacenc Remove autotools build system 2019-10-14 13:54:27 +01:00
voamrwbenc plugins: uddate gst_type_mark_as_plugin_api() calls 2020-06-06 00:40:42 +02:00
vulkan vulkan: Fix elements long name. 2021-02-24 20:15:52 +01:00
wayland wlvideoformat: fix DMA format convertor 2020-11-02 12:39:38 +00:00
webp plugins: uddate gst_type_mark_as_plugin_api() calls 2020-06-06 00:40:42 +02:00
webrtc webrtc: don't generate duplicate rtx payloads when bundle-policy is set 2021-03-09 02:22:35 +00:00
webrtcdsp plugins: uddate gst_type_mark_as_plugin_api() calls 2020-06-06 00:40:42 +02:00
wildmidi documentation: fixed a heap o' typos 2019-11-05 09:11:25 -05:00
wpe wpe: Ignore 'error-cancelled' 'failures' 2021-03-16 13:06:22 +00:00
x265 x265enc: fix deadlock on reconfig 2020-10-09 06:39:36 +00:00
zbar zbar: remove useless conditional on passthrough 2020-01-07 17:24:50 +00:00
zxing zxing: update to support version 1.1.1 2021-03-12 01:03:49 +00:00
meson.build gs: add source and sink for Google Cloud Storage 2021-03-18 22:32:48 +00:00