# curlsftpsink

This is a network sink that uses libcurl as a client to upload data to a SFTP (SSH File Transfer Protocol) server.

## Example launch line

Upload a file to /home/john/sftp_tests/

     gst-launch-1.0 filesrc location=/home/jdoe/some.file ! curlsftpsink  \
         file-name=some.file.backup  \
         user=john location=sftp://192.168.0.1/~/sftp_tests/  \
         ssh-auth-type=1 ssh-key-passphrase=blabla  \
         ssh-pub-keyfile=/home/jdoe/.ssh/id_rsa.pub  \
         ssh-priv-keyfile=/home/jdoe/.ssh/id_rsa  \
         create-dirs=TRUE

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstBaseSink
                        ╰──GstCurlBaseSink
                            ╰──GstCurlSshSink
                                ╰──curlsftpsink

## Factory details

Authors: – Sorin L. <sorin@axis.com></sorin@axis.com>

Classification: – `Sink/Network`

Rank – none

Plugin – curl

Package – GStreamer Bad Plug-ins

## Pad Templates

### `sink`

    ANY

Presence – always

Direction – sink

Object type – GstPad

## Properties

### async

    “async” gboolean

Go asynchronously to PAUSED

Flags : Read / Write

Default value : true

### blocksize

    “blocksize” guint

Size in bytes to pull per buffer (0 = default)

Flags : Read / Write

Default value : 4096

### create-dirs

    “create-dirs” gboolean

Attempt to create missing directories

Flags : Read / Write

Default value : false

### enable-last-sample

    “enable-last-sample” gboolean

Enable the last-sample property

Flags : Read / Write

Default value : true

### file-name

    “file-name” gchararray

The base file name for the uploaded images

Flags : Read / Write

Default value : NULL

### last-sample

    “last-sample” GstSample *

The last sample received in the sink

Flags : Read

### location

    “location” gchararray

URI location to write to

Flags : Read / Write

Default value : localhost:5555

### max-bitrate

    “max-bitrate” guint64

The maximum bits per second to render (0 = disabled)

Flags : Read / Write

Default value : 0

### max-lateness

    “max-lateness” gint64

Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)

Flags : Read / Write

Default value : 18446744073709551615

### passwd

    “passwd” gchararray

User password to use for server authentication

Flags : Read / Write

Default value : NULL

### processing-deadline

    “processing-deadline” guint64

Maximum processing time for a buffer in nanoseconds

Flags : Read / Write

Default value : 20000000

### qos

    “qos” gboolean

Generate Quality-of-Service events upstream

Flags : Read / Write

Default value : false

### qos-dscp

    “qos-dscp” gint

Quality of Service, differentiated services code point (0 default)

Flags : Read / Write

Default value : 0

### render-delay

    “render-delay” guint64

Additional render delay of the sink in nanoseconds

Flags : Read / Write

Default value : 0

### ssh-accept-unknownhost

    “ssh-accept-unknownhost” gboolean

Accept an unknown remote public host key

Flags : Read / Write

Default value : false

### ssh-auth-type

    “ssh-auth-type” GstCurlSshAuthType *

SSH authentication method to authenticate on the SSH/SFTP server

Flags : Read / Write

Default value : none (0)

### ssh-host-pubkey-md5

    “ssh-host-pubkey-md5” gchararray

MD5 checksum (32 hexadecimal digits, case-insensitive) of the remote host's public key

Flags : Read / Write

Default value : NULL

### ssh-key-passphrase

    “ssh-key-passphrase” gchararray

The passphrase used to protect the SSH private key file

Flags : Read / Write

Default value : NULL

### ssh-knownhosts

    “ssh-knownhosts” gchararray

The complete path & filename of the SSH 'known_hosts' file

Flags : Read / Write

Default value : NULL

### ssh-priv-keyfile

    “ssh-priv-keyfile” gchararray

The complete path & filename of the SSH private key file

Flags : Read / Write

Default value : NULL

### ssh-pub-keyfile

    “ssh-pub-keyfile” gchararray

The complete path & filename of the SSH public key file

Flags : Read / Write

Default value : NULL

### stats

    “stats” GstStructure *

Sink Statistics

Flags : Read

Default value :

    application/x-gst-base-sink-stats, average-rate=(double)0, dropped=(guint64)0, rendered=(guint64)0;

### sync

    “sync” gboolean

Sync on the clock

Flags : Read / Write

Default value : true

### throttle-time

    “throttle-time” guint64

The time to keep between rendered buffers (0 = disabled)

Flags : Read / Write

Default value : 0

### timeout

    “timeout” gint

Number of seconds waiting to write before timeout

Flags : Read / Write

Default value : 30

### ts-offset

    “ts-offset” gint64

Timestamp offset in nanoseconds

Flags : Read / Write

Default value : 0

### user

    “user” gchararray

User name to use for server authentication

Flags : Read / Write

Default value : NULL

## Named constants

### GstCurlSshAuthType

#### Members

`none` (0) – Not allowed
`pubkey` (1) – Public/private key files
`password` (2) – Password authentication

The results of the search are