Jump to content

ffmpeg compiling switches


Gernash

Recommended Posts

Gernash

Does anybody know what switches are needed to compile ffmpeg to work with Emby?

 

eg. --arch=i686 --target-os=linux --enable-optimizations --disable-altivec --enable-pic --enable-shared --disable-swscale-alpha --disable-ffserver --disable-ffplay --enable-nonfree --enable-version3 --enable-gpl --disable-doc --prefix=/opt --disable-asm --enable-libx264 --enable-libfaac

 

Is there any preferred way to compile it to work with less overhead etc for transcoding?

Link to comment
Share on other sites

Gernash

No ffmpeg guru's around?

 

On a windows PC this is the ffmpeg info from Emby

 

ffmpeg version N-71182-g5cba529 Copyright © 2000-2015 the FFmpeg developers

  built with gcc 4.9.2 (GCC)

  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib

  libavutil      54. 21.100 / 54. 21.100

  libavcodec     56. 32.100 / 56. 32.100

  libavformat    56. 27.100 / 56. 27.100

  libavdevice    56.  4.100 / 56.  4.100

  libavfilter     5. 13.101 /  5. 13.101

  libswscale      3.  1.101 /  3.  1.101

  libswresample   1.  1.100 /  1.  1.100

  libpostproc    53.  3.100 / 53.  3.100

 

On a Synology with Cytec FFmpeg installed

 

ffmpeg version 2.6 Copyright © 2000-2015 the FFmpeg developers

  built with gcc 4.7.3 (crosstool-NG 1.18.0) 20130102 (prerelease)

  configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-cross-compile --enable-rpath --target-os=linux --cross-prefix=/home/cytec/syno/toolchains/syno-x64-5.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu- --prefix=/usr/local/ffmpeg --extra-cflags=-I/home/cytec/syno/spk/ffmpeg/work-x64-5.1/install/usr/local/ffmpeg/include --extra-ldflags=-L/home/cytec/syno/spk/ffmpeg/work-x64-5.1/install/usr/local/ffmpeg/lib --extra-libs='-lxml2 -ldl' --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --pkg-config=/usr/bin/pkg-config --enable-pic --disable-debug --enable-pthreads --enable-thumb --enable-libx264 --enable-libmp3lame --enable-libfdk-aac --enable-libspeex --enable-openssl --enable-libvorbis --enable-gpl --enable-nonfree --enable-libass --enable-libbluray --enable-libopenjpeg --enable-libopus --enable-libtheora --enable-librtmp --enable-fontconfig --enable-libfreetype --enable-libvpx --arch=x86_64

  libavutil      54. 20.100 / 54. 20.100

  libavcodec     56. 26.100 / 56. 26.100

  libavformat    56. 25.101 / 56. 25.101

  libavdevice    56.  4.100 / 56.  4.100

  libavfilter     5. 11.102 /  5. 11.102

  libswscale      3.  1.101 /  3.  1.101

  libswresample   1.  1.100 /  1.  1.100

  libpostproc    53.  3.100 / 53.  3.100

Link to comment
Share on other sites

  • 2 weeks later...
Gernash

Getting closer need assistace from somebody who has spksrc or manual Synology cross compiling knowlage.

 

Need to compile cross/libva for ---enable-vaapi (xpenology crew) --enable-vdpau (Synology crew) I have been chassing libva down a x11 rabbit hole and getting stuck on "Package requirements (xcb-proto >= 1.11) were not met" I have found it but can't get it to work, I'm Assuming it needs Python to build it but not able to locate the commands.

 

Anyone out there that can put me onto somebody for assistance, would be greatly appreciated.

Edited by Gernash
Link to comment
Share on other sites

Gernash

My current build.

Small steps 10% faster

 

ffmpeg version 2.7.1 Copyright © 2000-2015 the FFmpeg developers
built with gcc 4.7.3 (crosstool-NG 1.18.0) 20130102 (prerelease)
configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-cross-compile --enable-rpath --target-os=linux --cross-prefix=/home/gernash/spksrc/toolchains/syno-cedarview-5.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu- --prefix=/usr/local/ffmpeg --extra-cflags=-I/home/gernash/spksrc/spk/ffmpeg/work-cedarview-5.1/install/usr/local/ffmpeg/include --extra-ldflags=-L/home/gernash/spksrc/spk/ffmpeg/work-cedarview-5.1/install/usr/local/ffmpeg/lib --extra-libs='-lxml2 -ldl' --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --pkg-config=/usr/bin/pkg-config --enable-pic --disable-debug --enable-pthreads --enable-thumb --enable-libx264 --enable-libmp3lame --enable-libfdk-aac --enable-libspeex --enable-openssl --enable-libvorbis --enable-gpl --enable-nonfree --enable-libass --enable-libbluray --enable-libopenjpeg --enable-libopus --enable-libtheora --enable-librtmp --enable-fontconfig --enable-libfreetype --enable-libvpx --arch=x86_64
libavutil 54. 27.100 / 54. 27.100
libavcodec 56. 41.100 / 56. 41.100
libavformat 56. 36.100 / 56. 36.100
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 16.101 / 5. 16.101
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.100 / 1. 2.100
libpostproc 53. 3.100 / 53. 3.100

  • Like 1
Link to comment
Share on other sites

Gernash

2015-07-16 03:54:22.8583 Info - Main: Emby
    Command line: /usr/local/emby/share/emby/MediaBrowser.Server.Mono.exe -programdata /usr/local/emby/var -ffmpeg /usr/local/ffmpeg/bin/ffmpeg -ffprobe /usr/local/ffmpeg/bin/ffprobe
    Operating system: Unix 3.10.35.0
    Processor count: 4
    64-Bit OS: True
    64-Bit Process: True
    Program data path: /usr/local/emby/var
    Mono: 3.12.1 (tarball Thursday 16 July 03:45:31 AEST 2015)

 

Building 4.0.2.5 going to sleep 4am

 

55a6a04289c54_1607201535934AM.jpg

Edited by Gernash
Link to comment
Share on other sites

Gernash

#ref info

 

ffmpeg HW transoding.

 

Looks like it can be done on the DS Play models or XPEnology , the intel drivers are enabled so you can manipulate them for newer version (if needed.) if you go down the libva path. At this point you would have to hack the OS of the synology making it unstable with DSM updates (which i have no interest in doing). So at this point if anyone who knows about spksrc and has a synology play you can fiddle down this path. I have made up the cross files for spksrc (with my limited knowledge) and can email requested files for you to laugh at.

 

In my understanding the ffmpeg trans code path with VAAI is|  vid input==>ffmpeg==>libVA==>dummyx11 driver==>intel driver==>ffmpeg==>vid output

Hope this helps anyone.

 

DS415Play files

55a9a5d71ffda_intelko.jpg

 

libva - DEPENDS = cross/wayland cross/libdrm

libdrm - DEPENDS = cross/libpthread-stubs cross/libpciaccess cross/valgrind

wayland - DEPENDS = cross/libffi cross/expat

libpciaccess - DEPENDS = cross/xorg-macros (the dev package)

 

 

 

 

Please correct me if I'm wrong so I can update info

Edited by Gernash
Link to comment
Share on other sites

Gernash

Hi Gernash ,

Thank you for contacting Synology support.

The inquired may be beyond the scope of Synology Support, please allow me to explain:

1. Unfortunately, this hasn't been supported and tested. However, I will be glad to put in an enhancement request regarding this for our developer analysis.

2. Unfortunately, I must apologize that currently we have no support for such modification and no engineer ever did what you want to modified. However, maybe you could take the following modification site as a reference, which are provided from the powerful users of Synology forum. We believe that this information could be more helpful for your achievement:

http://forum.synology.com/wiki/index.php/Modifications

Users of forums may be able provide other insight:
http://forum.synology.com/

Thanks for your understanding and continued support.

Hope this helps.

Technical Support
Synology Inc.

 

Problem Explanation:

Question 1: Will the DS1812+ or any of the other atom based Synology NAS's have the intel onboard graphic drivers enabled to allow Hardware transcoding by 3rd party packages like EMBY,PLEX or Visualization Packages?

Question 2: The DS Play have custom/proprietary ffmpeg --enable-libh264_smd --enable-smd. Is the toolchain sorce available to this for development? If not can a transcoding capable version be built as a package install for these models so Emby/Plex make use of them.

Thanks in advance
 

 

 

Product Information/Question

Personal Information

Product:

DS1812+

Type of Customer:

End User

Product Version:

DSM 5.2-5592 Update 1

Company Name:

Edited by Gernash
Link to comment
Share on other sites

Gernash

So maybe Synology will adds the intel.ko files to some synology's in the future, But Hacking the OS is the path they recommend (ie Script.)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...