clever999
Stamm User
- Registriert
- 5. Oktober 2011
- Beiträge
- 1.088
- Reaktionspunkte
- 2.023
- Punkte
- 373
Hallo Zusammen,
ich habe mal ein kleines tut für Quicksync unter Ubuntu erstellt. Ich kann damit nun 5 HD Streams transcodieren, only CPU gingen 3 HD Streams bei mir.
Danke auch an Maxdata755 für seine Ergänzungen
Mein System:
so das wars, ich bin kein Profi helfe aber gerne.
Viel Spass beim Basteln
LG
Clever
ich habe mal ein kleines tut für Quicksync unter Ubuntu erstellt. Ich kann damit nun 5 HD Streams transcodieren, only CPU gingen 3 HD Streams bei mir.
Danke auch an Maxdata755 für seine Ergänzungen
Mein System:
Zotac I7-3770T
Transcoding mittels Quicksync SDK 2014
Ubuntu Server 14.04
#### Root Zugang aktivieren #####
echo "deb
(optional nur wer als root arbeiten will ohne sudo)
sudo su
sudo passwd root
sudo nano /etc/ssh/sshd_config
PermitRootLogin without-password
und setzt ein # davor:
#PermitRootLogin without-password
sudo service ssh restart
(ab jetzt als root anmelden und arbeiten wer das will)
#### Kernel Installation #####
nano /etc/apt/sources.list
Diese Zeile einfugen: --> deb
apt-get update
Kernel bestimmen und das entsprechende installieren:
####### Intel Xeon E3-1285 v3 / 4th Generation Intel Core (zb i7-4790k) #######
apt-get install linux-headers-3.8.0-23 linux-headers-3.8.0-23-generic linux-image-3.8.0-23-generic --fix-missing
####### Intel Xeon E3-1285 v2 / 3rd Generation Intel Core (zb i7-3770T) #######
apt-get install linux-headers-3.2.0-41 linux-headers-3.2.0-41-generic linux-image-3.2.0-41-generic --fix-missing
reboot
beim booten e oder esc drücken, kernel 3.2.0-41 auswählen.
Soll der Kernel dauerhaft gestartet werden dann die nicht benötigten kernel löschen oder den richtigen kernel definieren beim starten
#### Nicht verwendete Kernel löschen ####
dpkg -l | grep linux-image (die installierten Kernel anzeigen lassen)
sudo apt-get remove --purge linux-image-4.2.0-27-generic
Bei mir wurde dann dabei beim uninstall von linux-image-4.2.0-27-generic dieser mitinstalliert linux-image-4.2.0-35-generic
daher anschliessend noch
sudo apt-get remove --purge linux-image-4.2.0-35-generic
ausführen und reboot
####### TVH Installieren #######
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 379CE192D401AB61
apt-get install apt-transport-https
echo "deb
sudo apt-get update
sudo apt-get install tvheadend
####### tvh als root zu starten #######
nano /etc/default/tvheadend
TVH_USER="root"
TVH_CONF_DIR="/home/hts/.hts/tvheadend"
service tvheadend restart
###### SDK 2014 Installation ######
add-apt-repository ppa:kernel-ppa/ppa
apt-get update
apt-get install python-software-properties
cd /opt
wget
tar -xvf intel-linux-media_ubuntu_16.3.2.22368_64bit.tar.gz
cd intel-linux-media_ubuntu_16.3.2.22368_64bit
./install_media.sh
apt-get install openjdk-7-jdk
###### nun kann geprüft werden ob alles läuft, einfach im terminal vainfo eingeben, sollte dann so aussehen #######
vainfo
error: can't connect to X server!
libva info: VA-API version 0.34.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_0_32
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.34 (libva 1.2.0.pre1)
vainfo: Driver version: 16.3.2.22368-ubit
vainfo: Supported profile and entrypoints
VAProfileNone : VAEntrypointVideoProc
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264Baseline : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
###### ffmpeg Installation ######
apt-get install build-essential pkg-config libssl-dev git autoconf g++ autotools-dev libtool
cd /home/
git clone
cd mfx_dispatch/
autoreconf -i
./configure --prefix=/usr
make -j 18
make install
cd /home/
git clone
cd QSV-on-Linux
nano build-ffmpeg.sh
dies anpassen:
run_command "sudo cp ${LIBMFX_PCFILE} /usr/lib64/pkgconfig/"
zu
run_command "sudo cp ${LIBMFX_PCFILE} /usr/lib/pkgconfig/"
./build-ffmpeg.sh
###### Pipe Script erstellen oder upload:
nano /home/ffpipe.sh
#!/bin/bash
url=$1
su
/usr/local/bin/ffmpeg -i $url -vcodec h264_qsv -b 2000k -maxrate 2000k -bufsize 4000k -preset slow -s 1280x720 -acodec copy -metadata service_provider=IPTV -metadata service_name=$name -f mpegts pipe:1
exit 0
chmod +x /home/ffpipe.sh
###### Streams einbauen mit script in TVH ######
pipe:///home/ffpipe.sh URL_Input
Name des Senders unter Service angeben # funktioniert nur bei tvh unstable
###### Streams einbauen: ohne script ######
pipe:///usr/local/bin/ffmpeg -loglevel fatal -i URL_Input -vcodec h264_qsv -b 2000k -maxrate 2000k -preset:v slow -s 1280x720 -acodec aac -ab 128k -ar 44100 -ac 2 -strict -2 -metadata service_provider=IPTV -metadata service_name=Sendername_ohne_Leerzeichen -f mpegts pipe:1
###### Streams starten im Terminal per udp #######
ffmpeg -i URL_Input -vcodec h264_qsv -b 2700k -maxrate 2700k -preset:v slow -s 1280x720 -acodec aac -ar 44100 -ac 2 -strict -2 -f mpegts udp://127.0.0.1:10000
einbinden in TVH mit: udp://127.0.0.1:10000
Transcoding mittels Quicksync SDK 2014
Ubuntu Server 14.04
#### Root Zugang aktivieren #####
echo "deb
Sie müssen registriert sein, um Links zu sehen.
DISTRO BUILDTYPE" | sudo tee -a /etc/apt/sources.list (optional nur wer als root arbeiten will ohne sudo)
sudo su
sudo passwd root
sudo nano /etc/ssh/sshd_config
PermitRootLogin without-password
und setzt ein # davor:
#PermitRootLogin without-password
sudo service ssh restart
(ab jetzt als root anmelden und arbeiten wer das will)
#### Kernel Installation #####
nano /etc/apt/sources.list
Diese Zeile einfugen: --> deb
Sie müssen registriert sein, um Links zu sehen.
precise-security main apt-get update
Kernel bestimmen und das entsprechende installieren:
####### Intel Xeon E3-1285 v3 / 4th Generation Intel Core (zb i7-4790k) #######
apt-get install linux-headers-3.8.0-23 linux-headers-3.8.0-23-generic linux-image-3.8.0-23-generic --fix-missing
####### Intel Xeon E3-1285 v2 / 3rd Generation Intel Core (zb i7-3770T) #######
apt-get install linux-headers-3.2.0-41 linux-headers-3.2.0-41-generic linux-image-3.2.0-41-generic --fix-missing
reboot
beim booten e oder esc drücken, kernel 3.2.0-41 auswählen.
Soll der Kernel dauerhaft gestartet werden dann die nicht benötigten kernel löschen oder den richtigen kernel definieren beim starten
#### Nicht verwendete Kernel löschen ####
dpkg -l | grep linux-image (die installierten Kernel anzeigen lassen)
sudo apt-get remove --purge linux-image-4.2.0-27-generic
Bei mir wurde dann dabei beim uninstall von linux-image-4.2.0-27-generic dieser mitinstalliert linux-image-4.2.0-35-generic
daher anschliessend noch
sudo apt-get remove --purge linux-image-4.2.0-35-generic
ausführen und reboot
####### TVH Installieren #######
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 379CE192D401AB61
apt-get install apt-transport-https
echo "deb
Sie müssen registriert sein, um Links zu sehen.
trusty unstable" | sudo tee -a /etc/apt/sources.listsudo apt-get update
sudo apt-get install tvheadend
####### tvh als root zu starten #######
nano /etc/default/tvheadend
TVH_USER="root"
TVH_CONF_DIR="/home/hts/.hts/tvheadend"
service tvheadend restart
###### SDK 2014 Installation ######
add-apt-repository ppa:kernel-ppa/ppa
apt-get update
apt-get install python-software-properties
cd /opt
wget
Sie müssen registriert sein, um Links zu sehen.
tar -xvf intel-linux-media_ubuntu_16.3.2.22368_64bit.tar.gz
cd intel-linux-media_ubuntu_16.3.2.22368_64bit
./install_media.sh
apt-get install openjdk-7-jdk
###### nun kann geprüft werden ob alles läuft, einfach im terminal vainfo eingeben, sollte dann so aussehen #######
vainfo
error: can't connect to X server!
libva info: VA-API version 0.34.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_0_32
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.34 (libva 1.2.0.pre1)
vainfo: Driver version: 16.3.2.22368-ubit
vainfo: Supported profile and entrypoints
VAProfileNone : VAEntrypointVideoProc
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264Baseline : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
###### ffmpeg Installation ######
apt-get install build-essential pkg-config libssl-dev git autoconf g++ autotools-dev libtool
cd /home/
git clone
Sie müssen registriert sein, um Links zu sehen.
cd mfx_dispatch/
autoreconf -i
./configure --prefix=/usr
make -j 18
make install
cd /home/
git clone
Sie müssen registriert sein, um Links zu sehen.
cd QSV-on-Linux
nano build-ffmpeg.sh
dies anpassen:
run_command "sudo cp ${LIBMFX_PCFILE} /usr/lib64/pkgconfig/"
zu
run_command "sudo cp ${LIBMFX_PCFILE} /usr/lib/pkgconfig/"
./build-ffmpeg.sh
###### Pipe Script erstellen oder upload:
nano /home/ffpipe.sh
#!/bin/bash
url=$1
su
/usr/local/bin/ffmpeg -i $url -vcodec h264_qsv -b 2000k -maxrate 2000k -bufsize 4000k -preset slow -s 1280x720 -acodec copy -metadata service_provider=IPTV -metadata service_name=$name -f mpegts pipe:1
exit 0
chmod +x /home/ffpipe.sh
###### Streams einbauen mit script in TVH ######
pipe:///home/ffpipe.sh URL_Input
Name des Senders unter Service angeben # funktioniert nur bei tvh unstable
###### Streams einbauen: ohne script ######
pipe:///usr/local/bin/ffmpeg -loglevel fatal -i URL_Input -vcodec h264_qsv -b 2000k -maxrate 2000k -preset:v slow -s 1280x720 -acodec aac -ab 128k -ar 44100 -ac 2 -strict -2 -metadata service_provider=IPTV -metadata service_name=Sendername_ohne_Leerzeichen -f mpegts pipe:1
###### Streams starten im Terminal per udp #######
ffmpeg -i URL_Input -vcodec h264_qsv -b 2700k -maxrate 2700k -preset:v slow -s 1280x720 -acodec aac -ar 44100 -ac 2 -strict -2 -f mpegts udp://127.0.0.1:10000
einbinden in TVH mit: udp://127.0.0.1:10000
Viel Spass beim Basteln
LG
Clever
Zuletzt bearbeitet: