GStreamer
GStreamer supports a wide variety of media-handling components, including simple audio playback, audio and video playback, recording, streaming and editing. The pipeline design serves as a base to create many types of multimedia applications such as video editors, transcoders, streaming media broadcasters and media players.
It is designed to work on a variety of operating systems, e.g. Linux kernel-based operating systems (like Enigma2), the BSDs, OpenSolaris, Android, macOS, iOS, Windows, OS/400.
GStreamer is free and open-source software subject to the terms of the GNU Lesser General Public License (LGPL)[5] and is being hosted at freedesktop.org.
Contents
OpenPLi and GStreamer
GStreamer is native in OpenPLi, meaning it's already in there when you installed OpenPLi on your box and when you view a recording you will be using it. Although GStreamer is highly flexible a setopbox is not designed to be a media player. You can use it as a media player, but there may be problems. Want to no more about GStreamer take a look here GStreamer home
Skip time
The best way to return to a certain part of a recorded movie is to use the Skip time keys on your remote.
Subtitles
When you want to look at external movies, meaning not the ones you recorded with your box, then it's always recommended to mux subtitles into the container. To mux means to combine different things (like a video stream, audio stream, or subtitle) into a single container media format, like MKV, AVI, etc. When you have muxed subs, that means the subtitles were externally added to the media container you have, this always gives a better result than separate subtitle files.
Tools to mux subtitles
A tool that does this very nicely is MKVToolNix and can be downloaded from
OpenPLi and GStreamer versions
OpenPLi 4 with GStreamer 0.10.x
OpenPLi 5 with GStreamer 1.8.3
OpenPLi 6.0 with GStreamer 1.12.0
OpenPLi 6.X with GStreamer 1.12.4
OpenPLi 7.X with GStreamer 1.14.4
OpenPLi 8.0 with GStreamer 1.18.1
OpenPLi 8.1 with GStreamer 1.18.4
Remote debugging'
Remote debugging is possible, So then you don't need to install dbg packages, also symbols are loaded on host, so you will certainly not run out of memory.
On target:
1. Install gdbserver
opkg install gdbserver
2. start gdbserver
gdbserver localhost:2345 /usr/bin/enigma2
On host:
1. setup cross-development environment, toolchain, and sysroot:
MACHINE=machine bitbake image_name -c populate_sdk cd openpli-oe-core/build/tmp/sdk ./oecore-x86_64-mips32el-toolchain-nodistro.0.sh #select your $SDK directory
2. setup your environment
source $SDK/environment-setup-mips32el-oe-linux
3. enter directory with enigma2 with debugging symbols
cd $SDK/sysroots/mips32el-oe-linux/usr/bin/.debug
4. create .gdbinit file with sysroot set at $SDK/sysroots/mips32el-oe-linux
echo "set sysroot $SDK/sysroots/mips32el-nf-oe-linux/" > .gdbinit
5. start gdb
mipsel-oe-linux-gdb enigma2
6. in gdb connect to target
(gdb) target remote target-host:2345 (gdb) continue