hey,
ich nutze einen Intel NUC D34010WYK der eine Intel HD 4400 GPU nutzt und da funzt leider das TUT von clever999 nicht mit dem Kernel 3.8 deshalb hier die anleitung wie es mit dem kernel 3.14.5 läuft. Vielleicht werden mit dem kernel auch die ein oder anderen TVkarten unterstützt.
alle befehle habe ich als root ausgeführt
einfügen:
update source list
to compile vi need GCC >= 4.7 yasm >=1.2
update yasm to 1.3
Download latest MediaServerStudioEssentials
copy this script
linux-kernel patch
libdrm
libva
libmfx
create file libmfx.pc
copy this
so jetzt ist ja noch kernel 4.2 von ubuntu gestartet.. mit diesem befehl lassen wir uns die kernel anzeigen:
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
ausführen und reboot
nach dem reboot könnt ihr mit "uname -a" sehen welcher kernel gestartet ist und wir können mit "vainfo" schauen ob alles ok ist... sollte so aussehen:
jetzt können wir ffmpeg compilieren:
folgendes einfügen:
wenns durchgelaufen ist (bei mir gute 45min) könnt ihr ffmpeg testen
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
ich nutze einen Intel NUC D34010WYK der eine Intel HD 4400 GPU nutzt und da funzt leider das TUT von clever999 nicht mit dem Kernel 3.8 deshalb hier die anleitung wie es mit dem kernel 3.14.5 läuft. Vielleicht werden mit dem kernel auch die ein oder anderen TVkarten unterstützt.
alle befehle habe ich als root ausgeführt
Code:
nano [COLOR=#666600]/[/COLOR][COLOR=#000000]etc[/COLOR][COLOR=#666600]/[/COLOR][COLOR=#000000]apt[/COLOR][COLOR=#666600]/[/COLOR][COLOR=#000000]sources[/COLOR][COLOR=#666600].[/COLOR][COLOR=#000000]list[/COLOR]
einfügen:
Code:
deb http://archive.ubuntu.com/ubuntu/ precise main restricted
deb-src http://archive.ubuntu.com/ubuntu/ precise main restricted
deb http://archive.ubuntu.com/ubuntu/ precise-updates main restricted
deb-src http://archive.ubuntu.com/ubuntu/ precise-updates main restricted
deb http://archive.ubuntu.com/ubuntu/ precise universe
deb-src http://archive.ubuntu.com/ubuntu/ precise universe
deb http://archive.ubuntu.com/ubuntu/ precise-updates universe
deb-src http://archive.ubuntu.com/ubuntu/ precise-updates universe
deb http://archive.ubuntu.com/ubuntu/ precise multiverse
deb-src http://archive.ubuntu.com/ubuntu/ precise multiverse
deb http://archive.ubuntu.com/ubuntu/ precise-updates multiverse
deb-src http://archive.ubuntu.com/ubuntu/ precise-updates multiverse
deb http://archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse
update source list
Code:
sudo apt-get update
to compile vi need GCC >= 4.7 yasm >=1.2
Code:
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install gcc-4.7 g++-4.7
sudo apt-get install libvdpau-va-gl1
sudo apt-get install cmake make gcc pkg-config patch yasm g++ autoconf automake build-essential cifs-utils texi2html
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.7
sudo update-alternatives --config gcc
Code:
sudo apt-get install libpthread-stubs0-dev libpciaccess-dev libass-dev libfreetype6-dev libgpac-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libx11-dev libxext-dev libxfixes-dev zlib1g-dev libx264-dev libmp3lame-dev libfaac-dev librtmp-dev libvo-aacenc-dev libx264-dev libvdpau-va-gl1 libva-intel-vaapi-driver
update yasm to 1.3
Code:
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xzf yasm-1.3.0.tar.gz
cd yasm-1.3.0/
./configure
make -j 8
sudo make install
sudo reboot
Download latest MediaServerStudioEssentials
Code:
tar xf MediaServerStudioEssentials2016.tar.gz
cd MediaServerStudioEssentials2016
tar xf SDK2016Production16.4.4.tar.gz
cd SDK2016Production16.4.4/Generic
tar xf intel-linux-media-ocl_generic_16.4.4-47109_64bit.tar.gz
copy this script
Code:
nano install_media_ubuntu.sh
Code:
#!/bin/bash
echo "Modify file for ubuntu ..."
find -name "*.pc" | xargs sed -i 's|lib64|lib/x86_64-linux-gnu|g'
# if using MSS version less than R6, please uncomment this.
#sed -i 's|lib64|lib/x86_64-linux-gnu|g' etc/OpenCL/vendors/intel.icd
echo "Remove old MSS install files ..."
sudo rm -rf /opt/intel/mediasdk
sudo rm -rf /opt/intel/common
sudo rm -rf /opt/intel/opencl
# remove old libdrm and libva
find /usr -name "libdrm*" | xargs sudo rm -rf
find /usr -name "libva*" | xargs sudo rm -rf
echo "Install MSS files ..."
sudo cp -rdf opt/* /opt/
sudo cp -rdf etc/* /etc/
sudo cp -rdf usr/bin/* /usr/bin/
sudo cp -rdf usr/include/* /usr/include/
sudo cp -rdf usr/lib64/* /usr/lib/x86_64-linux-gnu/
sudo cp -rdf usr/share/* /usr/share
echo "Install finished, please reboot ..."
Code:
chmod +x install_media_ubuntu.sh
sudo ./install_media_ubuntu.sh
sudo usermod -a -G video root
sudo reboot
linux-kernel patch
Code:
wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.14.5.tar.gz
tar xf linux-3.14.5.tar.gz
cd linux-3.14.5
cp /opt/intel/mediasdk/opensource/patches/kmd/3.14.5/intel-kernel-patches.tar.bz2 .
tar xf intel-kernel-patches.tar.bz2
sudo su
for i in intel-kernel-patches/*.patch; do patch -p1 < $i; done
make olddefconfig
make -j 8
make modules_install
sudo make install
sudo reboot
libdrm
Code:
cd MediaServerStudioEssentials2016/SDK2016Production16.4.4/Generic/opt/intel/mediasdk/opensource/libdrm/2.4.54-47109
tar xf libdrm-2.4.54.tar.bz2
cd libdrm-2.4.54
./configure
make -j 8
sudo make install
libva
Code:
cd
cd MediaServerStudioEssentials2016/SDK2016Production16.4.4/Generic/opt/intel/mediasdk/opensource/libva/1.67.0.pre1-47109
tar xf libva-1.67.0.pre1.tar.bz2
cd libva-1.67.0.pre1
./configure --enable-static
make -j 8
sudo make install
sudo reboot
libmfx
Code:
sudo mkdir /opt/intel/mediasdk/include/mfx
sudo cp /opt/intel/mediasdk/include/*.h /opt/intel/mediasdk/include/mfx
create file libmfx.pc
Code:
nano /usr/lib/pkgconfig/libmfx.pc
copy this
Code:
prefix=/opt/intel/mediasdk
exec_prefix=${prefix}
libdir=${exec_prefix}/lib/lin_x64
includedir=${prefix}/include
Name: libmfx
Description: Intel Media SDK Dispatched static library
Version: 16.16
Libs: -L${libdir} -lmfx -lva -lstdc++ -ldl -lva-drm -ldrm
Libs.private:
Cflags: -I${includedir} -I/usr/include/libdrm
Code:
sudo reboot
so jetzt ist ja noch kernel 4.2 von ubuntu gestartet.. mit diesem befehl lassen wir uns die kernel anzeigen:
Code:
[COLOR=#333333]dpkg -l | grep linux-image[/COLOR]
Code:
[COLOR=#333333]sudo apt-get remove --purge linux-image-4.2.0-27-generic [/COLOR]
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
Code:
[COLOR=#333333]sudo apt-get remove --purge linux-image-4.2.0-35-generic [/COLOR]
ausführen und reboot
nach dem reboot könnt ihr mit "uname -a" sehen welcher kernel gestartet ist und wir können mit "vainfo" schauen ob alles ok ist... sollte so aussehen:
Code:
root@nuc:~# vainfoerror: can't connect to X server!
libva info: VA-API version 0.99.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'iHD'
libva info: Trying to open /opt/intel/mediasdk/lib64/iHD_drv_video.so
libva info: Found init function __vaDriverInit_0_32
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.99 (libva 1.67.0.pre1)
vainfo: Driver version: 16.4.4.47109-ubit
vainfo: Supported profile and entrypoints
VAProfileH264Baseline : VAEntrypointEncSlice
VAProfileH264Baseline : <unknown entrypoint>
VAProfileH264Baseline : <unknown entrypoint>
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: <unknown entrypoint>
VAProfileH264ConstrainedBaseline: <unknown entrypoint>
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264Main : <unknown entrypoint>
VAProfileH264Main : <unknown entrypoint>
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileH264High : <unknown entrypoint>
VAProfileH264High : <unknown entrypoint>
VAProfileMPEG2Simple : VAEntrypointEncSlice
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointEncSlice
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Simple : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileVP8Version0_3 : VAEntrypointEncSlice
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileVP8Version0_3 : <unknown entrypoint>
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileVP9Profile0 : VAEntrypointEncSlice
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile0 : <unknown entrypoint>
<unknown profile> : VAEntrypointVideoProc
VAProfileNone : VAEntrypointVideoProc
VAProfileNone : <unknown entrypoint>
jetzt können wir ffmpeg compilieren:
Code:
nano ffmpeg-compile.sh
folgendes einfügen:
Code:
#!/bin/bash
# Bash script to install latest version of ffmpeg and its dependencies on Ubuntu 12.04 or 14.04
# Inspired from https://gist.github.com/faleev/3435377
# Remove any existing packages:
sudo apt-get -y remove ffmpeg x264 libav-tools libvpx-dev libx264-dev
# Get the dependencies (Ubuntu Server or headless users):
sudo apt-get update
sudo apt-get -y install build-essential checkinstall git libfaac-dev libgpac-dev \
libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev librtmp-dev libtheora-dev \
libvorbis-dev pkg-config texi2html yasm zlib1g-dev
# Install x264
sudo apt-get -y install libx264-dev
cd
git clone --depth 1 git://git.videolan.org/x264
cd x264
./configure --enable-static
make
sudo checkinstall --pkgname=x264 --pkgversion="3:$(./version.sh | \
awk -F'[" ]' '/POINT/{print $4"+git"$5}')" --backup=no --deldoc=yes \
--fstrans=no --default
# Install AAC audio decoder
cd
wget http://downloads.sourceforge.net/opencore-amr/fdk-aac-0.1.0.tar.gz
tar xzvf fdk-aac-0.1.0.tar.gz
cd fdk-aac-0.1.0
./configure
make
sudo checkinstall --pkgname=fdk-aac --pkgversion="0.1.0" --backup=no \
--deldoc=yes --fstrans=no --default
# Install VP8 video encoder and decoder.
cd
git clone --depth 1 https://chromium.googlesource.com/webm/libvpx
cd libvpx
./configure
make
sudo checkinstall --pkgname=libvpx --pkgversion="1:$(date +%Y%m%d%H%M)-git" --backup=no \
--deldoc=yes --fstrans=no --default
# Add lavf support to x264
# This allows x264 to accept just about any input that FFmpeg can handle and is useful if you want to use x264 directly. See a more detailed explanation of what this means.
cd ~/x264
make distclean
./configure --enable-static
make
sudo checkinstall --pkgname=x264 --pkgversion="3:$(./version.sh | \
awk -F'[" ]' '/POINT/{print $4"+git"$5}')" --backup=no --deldoc=yes \
--fstrans=no --default
# Installing FFmpeg
cd
git clone --depth 1 git://source.ffmpeg.org/ffmpeg
cd ffmpeg
./configure --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb \
--enable-libopencore-amrwb --enable-librtmp --enable-libtheora --enable-libvorbis \
--enable-libvpx --enable-libx264 --enable-nonfree --enable-version3 --enable-libmfx
make
sudo checkinstall --pkgname=ffmpeg --pkgversion="5:$(date +%Y%m%d%H%M)-git" --backup=no \
--deldoc=yes --fstrans=no --default
hash x264 ffmpeg ffplay ffprobe
# Optional: install qt-faststart
# This is a useful tool if you're showing your H.264 in MP4 videos on the web. It relocates some data in the video to allow playback to begin before the file is completely downloaded. Usage: qt-faststart input.mp4 output.mp4.
cd ~/ffmpeg
make tools/qt-faststart
sudo checkinstall --pkgname=qt-faststart --pkgversion="$(date +%Y%m%d%H%M)-git" --backup=no \
--deldoc=yes --fstrans=no --default install -Dm755 tools/qt-faststart \
/usr/local/bin/qt-faststart
root@dell:~# screen -R bla
# Install x264
sudo apt-get -y install libx264-dev
cd
git clone --depth 1 git://git.videolan.org/x264
cd x264
./configure --enable-static
make
sudo checkinstall --pkgname=x264 --pkgversion="3:$(./version.sh | \
awk -F'[" ]' '/POINT/{print $4"+git"$5}')" --backup=no --deldoc=yes \
--fstrans=no --default
# Install AAC audio decoder
cd
wget http://downloads.sourceforge.net/opencore-amr/fdk-aac-0.1.0.tar.gz
tar xzvf fdk-aac-0.1.0.tar.gz
cd fdk-aac-0.1.0
./configure
make
sudo checkinstall --pkgname=fdk-aac --pkgversion="0.1.0" --backup=no \
--deldoc=yes --fstrans=no --default
# Install VP8 video encoder and decoder.
cd
git clone --depth 1 https://chromium.googlesource.com/webm/libvpx
cd libvpx
./configure
make
sudo checkinstall --pkgname=libvpx --pkgversion="1:$(date +%Y%m%d%H%M)-git" --backup=no \
--deldoc=yes --fstrans=no --default
# Add lavf support to x264
# This allows x264 to accept just about any input that FFmpeg can handle and is useful if you want to use x264 directly. See a more detailed explanation of what this means.
cd ~/x264
make distclean
./configure --enable-static
make
sudo checkinstall --pkgname=x264 --pkgversion="3:$(./version.sh | \
awk -F'[" ]' '/POINT/{print $4"+git"$5}')" --backup=no --deldoc=yes \
--fstrans=no --default
# Installing FFmpeg
cd
git clone --depth 1 git://source.ffmpeg.org/ffmpeg
cd ffmpeg
./configure --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb \
--enable-libopencore-amrwb --enable-librtmp --enable-libtheora --enable-libvorbis \
--enable-libvpx --enable-libx264 --enable-nonfree --enable-version3 --enable-libmfx
make
sudo checkinstall --pkgname=ffmpeg --pkgversion="5:$(date +%Y%m%d%H%M)-git" --backup=no \
--deldoc=yes --fstrans=no --default
hash x264 ffmpeg ffplay ffprobe
# Optional: install qt-faststart
# This is a useful tool if you're showing your H.264 in MP4 videos on the web. It relocates some data in the video to allow playback to begin before the file is completely downloaded. Usage: qt-faststart input.mp4 output.mp4.
cd ~/ffmpeg
make tools/qt-faststart
sudo checkinstall --pkgname=qt-faststart --pkgversion="$(date +%Y%m%d%H%M)-git" --backup=no \
--deldoc=yes --fstrans=no --default install -Dm755 tools/qt-faststart \
/usr/local/bin/qt-faststart
Code:
chmod u+x ffmpeg-compile.sh
Code:
./ffmpeg-compile.sh
wenns durchgelaufen ist (bei mir gute 45min) könnt ihr ffmpeg testen
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
Zuletzt bearbeitet: