Difference between revisions of "GStreamer"

From OpenPLi Wiki
Jump to: navigation, search
Line 10: Line 10:
  
  
'''OpenPLi and GStreamer'''
+
=='''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.  
 
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.  
Line 16: Line 16:
  
  
'''Skip time'''
+
=='''Skip time'''==
 
----
 
----
 
The best way to return to a certain part of a recorded movie is to use  the [[Tips_and_Tweaks#Skip_time | <span style="color:SteelBlue">Skip time</span>]] keys on your remote.
 
The best way to return to a certain part of a recorded movie is to use  the [[Tips_and_Tweaks#Skip_time | <span style="color:SteelBlue">Skip time</span>]] keys on your remote.
  
  
'''Subtitles'''
+
=='''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.
 
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.
Line 27: Line 27:
  
  
'''Tools to mux subtitles'''
+
=='''Tools to mux subtitles'''==
 
----
 
----
A tool that does this very nicely is MKVToolnix and can be downloaded from [[Image:GStreamer-001.png|100px|link=https://mkvtoolnix.download/index.html]]
+
A tool that does this very nicely is MKVToolNix and can be downloaded from [[Image:GStreamer-001.png|100px|link=https://mkvtoolnix.download/index.html]]
  
  
  
'''OpenPLi and GStreamer versions'''
+
=='''OpenPLi and GStreamer versions'''==
 
----
 
----
 
OpenPLi 4 with GStreamer 0.10.x
 
OpenPLi 4 with GStreamer 0.10.x
Line 45: Line 45:
 
OpenPLi 7.X with GStreamer 1.14.4
 
OpenPLi 7.X with GStreamer 1.14.4
  
'''Remote debugging''''
+
 
 +
 
 +
=='''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.
 
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.

Revision as of 11:33, 26 July 2019

GStreamer-002.png


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.


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.


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 GStreamer-001.png


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


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

Source: https://forums.openpli.org/topic/40177-openpli-4-gstreamer-171-master-git-images-2016-01-05/page-7#entry528410