# scenechange

The scenechange element detects scene changes (also known as shot changes) in a video stream, and sends a signal when this occurs. Applications can listen to this signal and make changes to the pipeline such as cutting the stream. In addition, whenever a scene change is detected, a custom downstream "GstForceKeyUnit" event is sent to downstream elements. Most video encoder elements will insert synchronization points into the stream when this event is received. When used with a tee element, the scenechange element can be used to align the synchronization points among multiple video encoders, which is useful for segmented streaming.

The scenechange element does not work with compressed video.

## Example launch line

     gst-launch-1.0 -v filesrc location=some_file.ogv ! decodebin !
       scenechange ! theoraenc ! fakesink

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstBaseTransform
                        ╰──GstVideoFilter
                            ╰──scenechange

## Factory details

Authors: – David Schleef <ds@entropywave.com></ds@entropywave.com>

Classification: – `Video/Filter`

Rank – none

Plugin – videofiltersbad

Package – GStreamer Bad Plug-ins

## Pad Templates

### `sink`

    video/x-raw:
             format: { I420, Y42B, Y41B, Y444 }
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]

Presence – always

Direction – sink

Object type – GstPad

### `src`

    video/x-raw:
             format: { I420, Y42B, Y41B, Y444 }
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]

Presence – always

Direction – src

Object type – GstPad

The results of the search are