GStreamer Daemon - Gapless Playback: Difference between revisions

From RidgeRun Developer Wiki
No edit summary
No edit summary
Line 1: Line 1:
{{Gstd-1.0 Page|
{{Gstd-1.0 Page|[[Gstd-1.0 - Simple Examples|Simple Examples]]|[[Gstd-1.0 - MP4 Video Recording|MP4 Video Recording]]|


The Gapless Playback example will run a video from start to end sequentially in an infinite loop. To do so, it will wait for the file playback to finish before rewinding to the beginning of the file and restarting playback. The end of the playback is detected by polling the pipeline bus for the [https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#gst-message-new-eos End Of Stream (EOS) message], which is posted by the Filesrc element when all the content has been read. The rewinding is done by sending a [https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstEvent.html#gst-event-new-seek Seek event] to the pipeline, which effectively restarts the pipeline.
The Gapless Playback example will run a video from start to end sequentially in an infinite loop. To do so, it will wait for the file playback to finish before rewinding to the beginning of the file and restarting playback. The end of the playback is detected by polling the pipeline bus for the [https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#gst-message-new-eos End Of Stream (EOS) message], which is posted by the Filesrc element when all the content has been read. The rewinding is done by sending a [https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstEvent.html#gst-event-new-seek Seek event] to the pipeline, which effectively restarts the pipeline.

Revision as of 21:12, 11 May 2017


Simple Examples

Home

MP4 Video Recording


The Gapless Playback example will run a video from start to end sequentially in an infinite loop. To do so, it will wait for the file playback to finish before rewinding to the beginning of the file and restarting playback. The end of the playback is detected by polling the pipeline bus for the End Of Stream (EOS) message, which is posted by the Filesrc element when all the content has been read. The rewinding is done by sending a Seek event to the pipeline, which effectively restarts the pipeline.

Example

The following example is a bash script that demonstrates the simple gapless playback.

#!/bin/bash

# Absolute path to the video location
VIDEO=$1

gstd-client pipeline_create p playbin uri=file://$VIDEO

# Listen to the EOS messages
gstd-client bus_filter eos

gstd-client pipeline_play p

# Wait for the message to perform seek
while true; do
    gstd-client bus_read p
    gstd-client event_seek 1.0
done




Simple Examples

Home

MP4 Video Recording