View Full Version : [Linux] AVXSynth + x265
Foo2Bar
14th December 2014, 08:29
I was able to run x265 with AVXSynth 4.0 build from source. Thought of telling you guys :)
AVXScript : "test.avs"
FFVideoSource("/home/ysh/test.mkv")
ConvertToYV12
Command Used
avxFrameServer test.avs false | x265 --input - --input-res 1280x720 --fps 23.976 --preset slow --me 2 --subme 6 --rd 5 --cu-lossless --crf 19 --output video.hevc
If anybody is interested here are the *.deb of the builds ;) Sorry all of them were build for amd64 arch.
AVXSynth 4.0 (http://encode.l33t.xyz/debpacks/avxsynth_4.0-1_amd64.deb)
x265 1.4-208 ee36b6311aaf (http://encode.l33t.xyz/debpacks/x265_1.4%2b208-ee36b6311aaf_amd64.deb)
My System:
Ubuntu 14.04 LTS
gcc 4.8.2
yasm 1.2
-------------------------------------------------------------------------------
You can check http://encode.l33t.xyz/debpacks/ for recent builds...
djcj
27th December 2014, 16:51
I have builds of avxsynth in my PPA, amd64 and i386: https://launchpad.net/~djcj/+archive/ubuntu/tools/+packages?field.name_filter=avxsynth
qyot27
14th January 2015, 16:28
And you could also just have done it through libavformat:
ffmpeg -i input.avs -c:v libx265 [options] output.mkv
or
ffmpeg -i input.avs -f yuv4mpegpipe - | x265 --y4m [options]
There has been absolutely zero reason to use avxFrameServer for almost 2 years. FFmpeg has supported AvxSynth since March 2013, Libav has since December 2013. In both cases, as part of a wholly-rewritten AviSynth demuxer that works better for Windows users too.
Of course, that also means that media players that use libavformat could also use it, depending on how they handle the format exposure (mpv will, since it automatically enables all formats). And with the libavformat option, you also get audio.
djcj
21st January 2015, 18:39
@qyot27: You mean if ffmpeg was compiled with avisynth/avxsynth support it does its work without the avxsynth libraries installed into /usr/lib ?
qyot27
21st January 2015, 20:58
FFmpeg and Libav dynamically load AviSynth (on Windows, with LoadLibrary) or AvxSynth (on Linux and OSX, with dlopen). Additionally, FFmpeg provides local copies of avisynth_c.h and avxsynth_c.h so that the user need not worry about tracking them down themselves or having AvxSynth installed first. AviSynth.dll/libavxsynth.[so|dylib] does have to be installed for the scripts to work, or else you'll get an error message (filename.avs: Unknown error occurred) from FFmpeg/Libav.
For FFmpeg:
1) Build and install FFmpeg with --enable-avisynth
2) Build and/or install AvxSynth.
3) Use script.
4) An mpv built against the FFmpeg in step 1 can use scripts just fine for preview.
For Libav, the headers for AvxSynth are assumed to have been installed by AvxSynth, so the sequence to build everything efficiently would be:
1) Build and install AvxSynth with --disable-ffms2 (on the assumption Libav's dev files haven't been installed on the system yet)
2) Build Libav with --enable-avisynth
3) Build avxffms2 by either re-running the install for AvxSynth without --disable-ffms2, or by just installing FFMS2 by using the c_plugin branch (https://github.com/FFMS/ffms2/commits/c_plugin) and passing --enable-shared --enable-avxsynth to configure (if you also want VapourSynth support in the library, add --enable-vapoursynth); despite the branch name*, the AvxSynth plugin it builds is the normal C++ interface.
4) Use script.
5) An mpv built against the Libav in step 2 can use scripts just fine for preview.
*which actually refers to the AviSynth plugin it builds if you pass --enable-avisynth to configure (which only works if you're on Windows or cross-compiling). That one is the C plugin, and originally, that was the only plugin that that build system could build. At this point, 'c_plugin' for that branch is a bit of a misnomer; a more accurate name would be 'non_autotools', in reference to the build system itself.
https://ffmpeg.org/general.html#AviSynth
https://libav.org/general.html#AviSynth
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.