Skip to content

Instantly share code, notes, and snippets.

@grkblood13
Last active September 21, 2019 03:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save grkblood13/e944d3ab97ce2342f7e6582002873d1e to your computer and use it in GitHub Desktop.
Save grkblood13/e944d3ab97ce2342f7e6582002873d1e to your computer and use it in GitHub Desktop.
# system information
[rock64@localhost ~]$ uname -a
Linux localhost 5.3.0-rc4-1-udl #8 SMP Mon Sep 2 16:29:02 EDT 2019 aarch64 GNU/Linux
[rock64@localhost ~]$ lsb_release -a
LSB Version: n/a
Distributor ID: Manjaro-ARM
Description: (none)
Release: 19.09
Codename: n/a
# mpp build instructions
mkdir buildsrc
cd buildsrc
# get sources
wget https://launchpad.net/~ayufan/+archive/ubuntu/rock64-0.9-ppa/+sourcefiles/mpp/1.4.0-1ayufan3-2/mpp_1.4.0-1ayufan3-2.tar.gz
git clone https://github.com/rockchip-linux/gstreamer-rockchip.git --depth=1
tar xvzf mpp_1.4.0-1ayufan3-2.tar.gz
#build mpp using ayufans source
cd mpp
cmake -DRKPLATFORM=ON -DHAVE_DRM=ON -DCMAKE_INSTALL_PREFIX=/usr -DSYSPROC=armv8-a
make -j4
sudo make install
# to uninstall mpp and start over:
# $ sudo xargs rm < install_manifest.txt
# $ make clean
# $ cmake ...
# build mpp gst plugin using official source
cd ../gstreamer-rockchip
./autogen.sh --enable-static --enable-shared --disable-rkximage --prefix=/usr
make -j4
sudo make install
# dvb-apps build instructions
# notes on patches can be found at https://aur.archlinux.org/packages/linuxtv-dvb-apps/
sudo pacman -S mercurial
hg clone http://linuxtv.org/hg/dvb-apps
cd dvb-apps/
wget "https://raw.githubusercontent.com/LibreELEC/LibreELEC.tv/master/packages/addons/addon-depends/dvb-tools-depends/dvb-apps/patches/dvb-apps-40-kernel-fix-4.14.patch"
patch -p1 < dvb-apps-40-kernel-fix-4.14.patch
wget "https://gist.githubusercontent.com/Kaeltis/d87dc76fc604f8b3373231dcd2d76568/raw/a99878550791bf5646f0a9d6e56cb267bcf7d64d/linuxtv-dvb-apps-414-fix.patch"
patch -p1 < linuxtv-dvb-apps-414-fix.patch
# run gstreamer using plugin
cd /tmp
gst-launch-1.0 -v dvbsrc frequency=177000000 delsys=atsc modulation=8vsb pids=49:52:1 ! decodebin ! queue ! mpph264enc ! filesink location=test.mkv
# current output from gst-launch....
[rock64@localhost ~]$ gst-launch-1.0 -v dvbsrc frequency=177000000 delsys=atsc modulation=8vsb pids=49:52:1 ! decodebin ! queue ! mpph264enc ! filesink location=test.mkv
Setting pipeline to PAUSED ...
mpi: mpp version: Without VCS, under bleeding
hal_h264e_api: vcodec type 00000000 can not find H.264 encoder device
mpp_hal: mpp_hal_init hal h264e_rkvenc init failed ret -1
mpp_hal: mpp_hal_init could not found coding type 7
mpp_enc: mpp_enc_init could not init hal
mpp: error found on mpp initialization
#hacky!
azap -r -c /home/rock64/channels.conf "WCSC-HD" >/dev/null 2>&1 &
ffmpeg -f mpegts -i /dev/dvb/adapter0/dvr0 -c:v mpeg2video -c:a aac -f mpeg -c copy /tmp/test5.out
ffmpeg -f mpegts -i /dev/dvb/adapter0/dvr0 -f mpeg -c copy /tmp/test6.out
ffmpeg -f mpegts -i /dev/dvb/adapter0/dvr0 -f mpeg -c copy pipe:1 2>/dev/null | gst-launch-1.0 filesrc location=/dev/stdin ! decodebin ! x264enc ! filesink location=/tmp/test5.mkv
gst-launch-1.0 filesrc location=/tmp/test5.out ! decodebin ! x264enc ! filesink location=/tmp/test5.mkv
gst-launch-1.0 filesrc location=/tmp/test5.out ! decodebin ! mpph264enc ! filesink location=/tmp/test5.mkv
@grkblood13
Copy link
Author

@grkblood13
Copy link
Author

grkblood13 commented Sep 15, 2019

# the following will capture output of tuner
$ gst-launch-1.0 -v dvbsrc frequency=177000000 delsys=atsc modulation=8vsb pids=49:52:1 ! filesink location=out.ts

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment