gssink
Write incoming data to a series of sequentially-named remote files on a Google Cloud Storage bucket.
The object-name property should contain a string with a %d placeholder that will be substituted with the index for each filename.
If the property is TRUE, it sends an application
message named GstGsSink
after writing each buffer.
The message's structure contains these fields:
-
gchararray
filename
: the filename where the buffer was written. -
gchararray
date
: the date of the current buffer, NULL if no start date is provided. -
gint
index
: index of the buffer. -
GstClockTime
timestamp
: the timestamp of the buffer. -
GstClockTime
stream-time
: the stream time of the buffer. -
GstClockTime
running-time
: the running_time of the buffer. -
GstClockTime
duration
: the duration of the buffer. -
guint64
offset
: the offset of the buffer that triggered the message. -
guint64
offset-end
: the offset-end of the buffer that triggered the message.
Example launch line
gst-launch-1.0 videotestsrc num-buffers=15 ! pngenc ! gssink
object-name="mypath/myframes/frame%05d.png" bucket-name="mybucket"
next-file=buffer post-messages=true
Upload 15 png images into gs://mybucket/mypath/myframes/ where the file
names are frame00000.png, frame00001.png, ..., frame00014.png
gst-launch-1.0 videotestsrc num-buffers=6 ! video/x-raw, framerate=2/1 !
pngenc ! gssink start-date="2020-04-16T08:55:03Z"
object-name="mypath/myframes/im_%s_%03d.png" bucket-name="mybucket"
next-file=buffer post-messages=true
Upload png 6 images into gs://mybucket/mypath/myframes/ where the file
names are im_2020-04-16T08:55:03Z_000.png, im_2020-04-16T08:55:03Z_001.png, im_2020-04-16T08:55:04Z_002.png, im_2020-04-16T08:55:04Z_003.png, im_2020-04-16T08:55:05Z_004.png, im_2020-04-16T08:55:05Z_005.png.
gst-launch-1.0 filesrc location=some_video.mp4 ! gssink
object-name="mypath/myvideos/video.mp4" bucket-name="mybucket" next-file=none
Upload any stream as a single file into Google Cloud Storage. Similar as
filesink in this case. The file is then accessible from: gs://mybucket/mypath/myvideos/video.mp4
Hierarchy
GObject ╰──GInitiallyUnowned ╰──GstObject ╰──GstElement ╰──GstBaseSink ╰──gssink
Factory details
Authors: – Julien Isorce
Classification: – Sink/File
Rank – none
Plugin – gs
Package – GStreamer Bad Plug-ins
Pad Templates
Properties
bucket-name
“bucket-name” gchararray
Name of the Google Cloud Storage bucket.
Flags : Read / Write
Default value : NULL
index
“index” gint
Index to use with location property to create file names.
Flags : Read / Write
Default value : 0
next-file
“next-file” Gs-sink-next *
A Gs-sink-next that specifies when to start a new file.
Flags : Read / Write
Default value : buffer (0)
object-name
“object-name” gchararray
Full path name of the remote file.
Flags : Read / Write
Default value : %%s_%%05d
post-messages
“post-messages” gboolean
Post a message on the GstBus for each file.
Flags : Read / Write
Default value : false
service-account-email
“service-account-email” gchararray
Service Account Email to use for credentials.
Flags : Read / Write
Default value : NULL
start-date
“start-date” gchararray
Start date in iso8601 format.
Flags : Read / Write
Default value : NULL
Named constants
Gs-sink-next
File splitting modes.
Members
buffer
(0) – New file for each buffer
Only one file, no next file
(1) – New file for each buffer
The results of the search are