FilePresto older-formats converter: build record ================================================ What it is ---------- A build of FFmpeg for the browser, made by FilePresto, used by the AVI, FLV and MPEG to MP4 pages, by the other video pages to read Dolby Digital (AC-3) sound, and by FLAC to ALAC. It reads files on the visitor's device and hands pictures and sound to the browser's own encoders. It contains no video encoder. Its only encoder is FFmpeg's own ALAC (Apple Lossless) encoder. Served files ------------ /assets/lib/video/fp-video-engine-0a12b37b.js Emscripten runtime and FilePresto's wrapper interface sha256 4da0e583ae47d579fef05b92aa6d1d83e8c836a56dba9c177b6f8a1bbb010f6e /assets/lib/video/fp-video-engine-0a12b37b.wasm.bin the engine, gzip-compressed, sha256 a40b6f3ffca503a4cd2e460dd915cb4fc72280e7c323353c64f986149a169db2 decompressed sha256 c66ca07f6bcc14039355285164f920428037b7aec6b179c7d34b2c1d244b47a2 /assets/tools/oldvideo-worker.js FilePresto's helper that runs the engine (plain source) Source and build material (complete corresponding source, GNU LGPL 2.1 section 6) --------------------------------------------------------------------------------- /assets/lib/video/source/ffmpeg-7.1-n7.1.tar.xz FFmpeg 7.1, tag n7.1, commit b08d7969c550a804a59511c7b83f2dd8cc0499b8, unmodified, as published at https://git.ffmpeg.org/ffmpeg.git and https://github.com/FFmpeg/FFmpeg/tree/n7.1 sha256 bf6f977057e606b54017d948edb5978ab2d5734d4bbedc8a8bd5f79c7da99618 /assets/lib/video/source/fpdec.c FilePresto's wrapper (C), under the GNU LGPL 2.1 or later /assets/lib/video/source/configure-ffmpeg.sh the exact FFmpeg configuration used /assets/lib/video/source/build-engine.sh the exact link step To rebuild or replace: unpack the FFmpeg source next to the three files, run configure-ffmpeg.sh, then "make && make install" in the FFmpeg folder, then build-engine.sh. The result is fp-video-engine.js and fp-video-engine.wasm; gzip the .wasm to make the .wasm.bin file. Any compatible build can replace ours. Tools used: Emscripten 3.1.6 (Ubuntu package), clang 15. Licence ------- The engine is licensed under the GNU Lesser General Public Licence, version 2.1 or later (ffmpeg-LGPL-2.1.txt). It was configured without --enable-gpl, --enable-version3 or --enable-nonfree; FFmpeg's own configure step reports "License: LGPL version 2.1 or later". The Emscripten runtime is under the MIT licence (emscripten-LICENSE.txt). Exact configuration (as recorded in the finished build) ------------------------------------------------------ "--prefix=./prefix --target-os=none --arch=x86_32 --enable-cross-compile --cc=emcc --cxx=em++ --ar=emar --ranlib=emranlib --nm=emnm --disable-asm --disable-x86asm --disable-inline-asm --disable-stripping --disable-programs --disable-doc --disable-debug --disable-runtime-cpudetect --disable-pthreads --disable-w32threads --disable-os2threads --disable-network --disable-autodetect --disable-iconv --disable-zlib --disable-bzlib --disable-lzma --disable-everything --disable-avdevice --disable-avfilter --disable-postproc --enable-avcodec --enable-avformat --enable-avutil --enable-swscale --enable-swresample --enable-protocol=file --enable-demuxer='avi,flv,mpegps,mpegts,flac,mpegvideo,h264' --enable-muxer=ipod --enable-decoder='mpeg4,mpeg1video,mpeg2video,h263,flv,mjpeg,rawvideo' --enable-decoder='mp3float,mp2float,mp1float,ac3,flac,pcm_s8,pcm_u8,pcm_s16le,pcm_s16be,pcm_u16le,pcm_s24le,pcm_s24be,pcm_s32le,pcm_f32le,pcm_f64le,pcm_mulaw,pcm_alaw,pcm_dvd,adpcm_ms,adpcm_ima_wav,adpcm_swf' --enable-encoder=alac --enable-parser='mpeg4video,mpegvideo,mpegaudio,ac3,h263,mjpeg,flac,h264,aac' --enable-bsf=aac_adtstoasc --extra-cflags=-Oz --extra-ldflags=-Oz --optflags=-Oz" Components actually enabled, as reported by FFmpeg's configure step ------------------------------------------------------------------- Enabled decoders: ac3 mp3float pcm_s16le adpcm_ima_wav mpeg1video pcm_s24be adpcm_ms mpeg2video pcm_s24le adpcm_swf mpeg4 pcm_s32le flac pcm_alaw pcm_s8 flv pcm_dvd pcm_u16le h263 pcm_f32le pcm_u8 mjpeg pcm_f64le rawvideo mp1float pcm_mulaw mp2float pcm_s16be Enabled encoders: alac Enabled parsers: aac h263 mpeg4video ac3 h264 mpegaudio flac mjpeg mpegvideo Enabled demuxers: avi h264 mpegvideo flac mpegps flv mpegts Enabled muxers: ipod mov Enabled protocols: file Enabled bsfs: aac_adtstoasc vp9_superframe License: LGPL version 2.1 or later Network protocols: none. Only the local "file" protocol is enabled, which reads the file the visitor chose. (vp9_superframe is a bitstream filter that FFmpeg enables automatically; FilePresto never uses it.) What FilePresto uses, and what it refuses ----------------------------------------- Video decoded here: MPEG-4 Part 2 (DivX, Xvid), MPEG-1, MPEG-2, H.263, Sorenson Spark, Motion JPEG, uncompressed. Sound decoded here: MP3, MP2, MP1, Dolby Digital (AC-3), FLAC, ADPCM, uncompressed. Copied unchanged, never decoded here: H.264 video (decoded, where needed, by the browser) and AAC sound. Refused by name before any decoding, as the board ruled on 23rd September 2026: VP6, Windows Media video and sound, Microsoft MPEG-4 (DivX 3), VC-1, Dolby Digital Plus (E-AC-3), DTS, Nellymoser and Speex. None of these decoders is included in the build.