Code Monkey home page Code Monkey logo

ffmpeg.js.wasm's Introduction

ffmpeg.js

NPM

This library provides FFmpeg builds ported to JavaScript using Emscripten project. Builds are optimized for in-browser use: minimal size for faster loading, asm.js, performance tunings, etc. Though they work in Node as well.

Builds

Currently available builds (additional builds may be added in future):

  • ffmpeg-webm.js - WebM encoding (VP8 & Opus encoders, popular decoders).
  • ffmpeg-worker-webm.js - Web Worker version of ffmpeg-webm.js.
  • ffmpeg-mp4.js - MP4 encoding (H.264 & AAC & MP3 encoders, popular decoders).
  • ffmpeg-worker-mp4.js - Web Worker version of ffmpeg-mp4.js.

Note: only NPM releases contain abovementioned files.

Version scheme

ffmpeg.js uses the following version pattern: major.minor.9ddd, where:

  • major - FFmpeg's major version number used in the builds.
  • minor - FFmpeg's minor version.
  • ddd - ffmpeg.js own patch version. Should not be confused with FFmpeg's patch version number.

Example: 2.7.9005

Usage

See documentation on Module object for the list of options that you can pass.

Sync run

ffmpeg.js provides common module API, ffmpeg-webm.js is the default module. Add its name after the slash if you need another build, e.g. require("ffmpeg.js/ffmpeg-mp4.js").

var ffmpeg = require("ffmpeg.js");
var stdout = "";
var stderr = "";
// Print FFmpeg's version.
ffmpeg({
  arguments: ["-version"],
  print: function(data) { stdout += data + "\n"; },
  printErr: function(data) { stderr += data + "\n"; },
  onExit: function(code) {
    console.log("Process exited with code " + code);
    console.log(stdout);
  },
});

Use e.g. browserify in case of Browser.

Via Web Worker

ffmpeg.js also provides wrapper for main function with Web Worker interface to offload the work to different process. Worker sends the following messages:

  • {type: "ready"} - Worker loaded and ready to accept commands.
  • {type: "run"} - Worker started the job.
  • {type: "stdout", data: "<line>"} - FFmpeg printed to stdout.
  • {type: "stderr", data: "<line>"} - FFmpeg printed to stderr.
  • {type: "exit", data: "<code>"} - FFmpeg exited.
  • {type: "done", data: "<result>"} - Job finished with some result.
  • {type: "error", data: "<error description>"} - Error occured.

You can send the following messages to the worker:

  • {type: "run", ...opts} - Start new job with provided options.
var stdout = "";
var stderr = "";
var worker = new Worker("ffmpeg-worker-webm.js");
worker.onmessage = function(e) {
  var msg = e.data;
  switch (msg.type) {
  case "ready":
    worker.postMessage({type: "run", arguments: ["-version"]});
    break;
  case "stdout":
    stdout += msg.data + "\n";
    break;
  case "stderr":
    stderr += msg.data + "\n";
    break;
  case "exit":
    console.log("Process exited with code " + msg.data);
    console.log(stdout);
    worker.terminate();
    break;
  }
};

This works in Browser as is, use e.g. webworker-threads Web Worker implementation in Node.

Files

Empscripten supports several types of file systems. ffmpeg.js uses MEMFS to store the input/output files in FFmpeg's working directory. You need to pass Array of Object to MEMFS option with the following keys:

  • name (String) - File name, can't contain slashes.
  • data (ArrayBuffer/ArrayBufferView/Array) - File data.

ffmpeg.js resulting object has MEMFS option with the same structure and contains files which weren't passed to the input, i.e. new files created by FFmpeg.

var ffmpeg = require("ffmpeg.js");
var fs = require("fs");
var testData = new Uint8Array(fs.readFileSync("test.webm"));
// Encode test video to VP8.
var result = ffmpeg({
  MEMFS: [{name: "test.webm", data: testData}],
  arguments: ["-i", "test.webm", "-c:v", "libvpx", "-an", "out.webm"],
  // Ignore stdin read requests.
  stdin: function() {},
});
// Write out.webm to disk.
var out = result.MEMFS[0];
fs.writeFileSync(out.name, Buffer(out.data));

You can also mount other FS by passing Array of Object to mounts option with the following keys:

  • type (String) - Name of the file system.
  • opts (Object) - Underlying file system options.
  • mountpoint (String) - Mount path, must start with a slash, must not contain other slashes and also the following paths are blacklisted: /tmp, /home, /dev, /work. Mount directory will be created automatically before mount.

See documentation of FS.mount for more details.

var ffmpeg = require("ffmpeg.js");
ffmpeg({
  // Mount /data inside application to the current directory.
  mounts: [{type: "NODEFS", opts: {root: "."}, mountpoint: "/data"}],
  arguments: ["-i", "/data/test.webm", "-c:v", "libvpx", "-an", "/data/out.webm"],
  stdin: function() {},
});
// out.webm was written to the current directory.

Credits

Thanks to videoconverter.js for inspiration. And of course to all great projects which made this library possible: FFmpeg, Emscripten, asm.js, node.js and many others.

License

Own library code licensed under LGPL 2.1 or later.

WebM build

This build uses LGPL version of FFmpeg and thus available under LGPL 2.1 or later. See here for more details and FFmpeg's license information.

Included libraries:

See LICENSE.WEBM for the full text of software licenses used in this build.

MP4 build

This build uses GPL version of FFmpeg and thus available under GPL 2.0. It also includes patent encumbered H.264, AAC and MP3 encoders. Make sure to contact lawyer before using it in your country.

Included libraries:

See LICENSE.MP4 for the full text of software licenses used in this build.

ffmpeg.js.wasm

ffmpeg.js.wasm's People

Contributors

brianjfeldman avatar kagami avatar paulkinlan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ffmpeg.js.wasm's Issues

fatal: No url found for submodule path 'ffmpeg (copy).js' in .gitmodules

When installing via npm from the git repo, I get the error

fatal: No url found for submodule path 'ffmpeg (copy).js' in .gitmodules

so installation cannot proceed.

Going with the "clone elsewhere and copy" method but won't be able to keep up with updates 100% that way.

Thank you for putting this together, it's inspiring!

make: *** [build/fribidi/dist/lib/libfribidi.so] Error 2

Hey,

I try to compile but without success. I need an advice.

os: osx 10.14.6 (18G95)

make all
cd build/fribidi && \
        git reset --hard && \
        patch -p1 < ../fribidi-make.patch && \
        emconfigure ./configure \
                CFLAGS=-O3 \
                NM=llvm-nm \
                --prefix="$(pwd)/dist" \
                --disable-dependency-tracking \
                --disable-debug \
                --without-glib \
                && \
        emmake make -j8 && \
        emmake make install
HEAD is now at 1a6935c 0.19.7
patching file Makefile.am
patching file gen.tab/Makefile.am
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking whether make supports the include directive... yes (GNU style)
checking for gcc... /Users/szymon/emsdk/fastcomp/emscripten/emcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /Users/szymon/emsdk/fastcomp/emscripten/emcc accepts -g... yes
checking for /Users/szymon/emsdk/fastcomp/emscripten/emcc option to accept ISO C89... none needed
checking whether /Users/szymon/emsdk/fastcomp/emscripten/emcc understands -c and -o together... yes
checking dependency style of /Users/szymon/emsdk/fastcomp/emscripten/emcc... none
checking the archiver (/Users/szymon/emsdk/fastcomp/emscripten/emar) interface... ar
checking build system type... x86_64-apple-darwin18.7.0
checking host system type... x86_64-apple-darwin18.7.0
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by /Users/szymon/emsdk/fastcomp/emscripten/emcc... /Users/szymon/emsdk/fastcomp/emscripten/emcc
checking if the linker (/Users/szymon/emsdk/fastcomp/emscripten/emcc) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... llvm-nm
checking the name lister (llvm-nm) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 196608
checking how to convert x86_64-apple-darwin18.7.0 file names to x86_64-apple-darwin18.7.0 format... func_convert_file_noop
checking how to convert x86_64-apple-darwin18.7.0 file names to toolchain format... func_convert_file_noop
checking for /Users/szymon/emsdk/fastcomp/emscripten/emcc option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... /Users/szymon/emsdk/fastcomp/emscripten/emranlib
checking command to parse llvm-nm output from /Users/szymon/emsdk/fastcomp/emscripten/emcc object... failed
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking for dsymutil... dsymutil
checking for nmedit... nmedit
checking for lipo... lipo
checking for otool... otool
checking for otool64... no
checking for -single_module linker flag... emcc:WARNING: ignoring unsupported linker flag: `-single_module`
no
checking for -exported_symbols_list linker flag... yes
checking for -force_load linker flag... emcc:WARNING: ignoring unsupported linker flag: `-force_load`
no
checking how to run the C preprocessor... /Users/szymon/emsdk/fastcomp/emscripten/emcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if /Users/szymon/emsdk/fastcomp/emscripten/emcc supports -fno-rtti -fno-exceptions... yes
checking for /Users/szymon/emsdk/fastcomp/emscripten/emcc option to produce PIC... -fno-common -DPIC
checking if /Users/szymon/emsdk/fastcomp/emscripten/emcc PIC flag -fno-common -DPIC works... yes
checking if /Users/szymon/emsdk/fastcomp/emscripten/emcc static flag -static works... yes
checking if /Users/szymon/emsdk/fastcomp/emscripten/emcc supports -c -o file.o... yes
checking if /Users/szymon/emsdk/fastcomp/emscripten/emcc supports -c -o file.o... (cached) yes
checking whether the /Users/szymon/emsdk/fastcomp/emscripten/emcc linker (/Users/szymon/emsdk/fastcomp/emscripten/emcc) supports shared libraries... emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 1.38.45
clang version 6.0.1 (/b/s/w/ir/cache/git/chromium.googlesource.com-external-github.com-emscripten--core-emscripten--fastcomp--clang 98df4be387dde3e3918fa5bbb5fc43e1a0e1daac) (/b/s/w/ir/cache/git/chromium.googlesource.com-external-github.com-emscripten--core-emscripten--fastcomp 6c7e775325067e33fa60611e619a8b987b6d0c35) (emscripten 1.38.31 : 1.38.31)
Target: x86_64-apple-darwin18.7.0
Thread model: posix
InstalledDir: /Users/szymon/emsdk/fastcomp/fastcomp/bin
shared:INFO: (Emscripten: Running sanity checks)
yes
checking whether -lc should be explicitly linked in... yes
checking dynamic linker characteristics... darwin18.7.0 dyld
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for gcc... (cached) /Users/szymon/emsdk/fastcomp/emscripten/emcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether /Users/szymon/emsdk/fastcomp/emscripten/emcc accepts -g... (cached) yes
checking for /Users/szymon/emsdk/fastcomp/emscripten/emcc option to accept ISO C89... (cached) none needed
checking whether /Users/szymon/emsdk/fastcomp/emscripten/emcc understands -c and -o together... (cached) yes
checking dependency style of /Users/szymon/emsdk/fastcomp/emscripten/emcc... (cached) none
checking for pkg-config... /usr/local/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for native Win32... no
checking for some Win32 platform... no
checking for ANSI C header files... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking for inttypes.h... (cached) yes
checking wchar.h usability... yes
checking wchar.h presence... yes
checking for wchar.h... yes
checking asm/page.h usability... no
checking asm/page.h presence... no
checking for asm/page.h... no
checking sys/times.h usability... yes
checking sys/times.h presence... yes
checking for sys/times.h... yes
checking for an ANSI C-conforming const... yes
checking for preprocessor stringizing operator... yes
checking size of int... 4
checking size of short... 2
checking size of void *... 4
checking size of wchar_t... 4
checking for memmove... yes
checking for memset... yes
checking for strdup... yes
checking return type of signal handlers... void
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating fribidi.pc
config.status: creating lib/fribidi-config.h
config.status: creating Makefile
config.status: creating charset/Makefile
config.status: creating gen.tab/Makefile
config.status: creating lib/Makefile
config.status: creating bin/Makefile
config.status: creating doc/Makefile
config.status: creating test/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
make: ['make', '-j8']
 cd . && /bin/sh /Users/szymon/ffmpeg.js/build/fribidi/missing automake-1.16 --gnits Makefile
 cd . && /bin/sh ./config.status Makefile 
config.status: creating Makefile
  GEN      .gitignore
/Library/Developer/CommandLineTools/usr/bin/make  all-recursive
/bin/sh ./config.status --recheck
running CONFIG_SHELL=/bin/sh /bin/sh ./configure CFLAGS=-O3 NM=llvm-nm --prefix=/Users/szymon/ffmpeg.js/build/fribidi/dist --disable-dependency-tracking --disable-debug --without-glib CC=/Users/szymon/emsdk/fastcomp/emscripten/emcc PKG_CONFIG_PATH= PKG_CONFIG_LIBDIR=/Users/szymon/emsdk/fastcomp/emscripten/system/local/lib/pkgconfig:/Users/szymon/emsdk/fastcomp/emscripten/system/lib/pkgconfig --no-create --no-recursion
Usable autoreconf found, running
glibtoolize: putting auxiliary files in '.'.
glibtoolize: copying file './ltmain.sh'
glibtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
glibtoolize: copying file 'm4/libtool.m4'
glibtoolize: copying file 'm4/ltoptions.m4'
glibtoolize: copying file 'm4/ltsugar.m4'
glibtoolize: copying file 'm4/ltversion.m4'
glibtoolize: copying file 'm4/lt~obsolete.m4'
configure.ac:54: installing './compile'
configure.ac:51: installing './missing'
bin/Makefile.am: installing './depcomp'
lib/Headers.mk:22: warning: shell cat $(top_srcdir: non-POSIX variable name
lib/Headers.mk:22: (probably a GNU make extension)
doc/Makefile.am:26:   'lib/Headers.mk' included from here
lib/Headers.mk:22: warning: shell cat $(top_srcdir: non-POSIX variable name
lib/Headers.mk:22: (probably a GNU make extension)
lib/Makefile.am:28:   'lib/Headers.mk' included from here
test/Makefile.am:30: warning: '%'-style pattern rules are a GNU make extension
configure: WARNING: unrecognized options: --enable-maintainer-mode, --enable-compile-warnings
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking whether make supports the include directive... yes (GNU style)
checking for gcc... /Users/szymon/emsdk/fastcomp/emscripten/emcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /Users/szymon/emsdk/fastcomp/emscripten/emcc accepts -g... yes
checking for /Users/szymon/emsdk/fastcomp/emscripten/emcc option to accept ISO C89... none needed
checking whether /Users/szymon/emsdk/fastcomp/emscripten/emcc understands -c and -o together... yes
checking dependency style of /Users/szymon/emsdk/fastcomp/emscripten/emcc... none
checking the archiver (/Users/szymon/emsdk/fastcomp/emscripten/emar) interface... ar
checking build system type... x86_64-apple-darwin18.7.0
checking host system type... x86_64-apple-darwin18.7.0
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by /Users/szymon/emsdk/fastcomp/emscripten/emcc... /Users/szymon/emsdk/fastcomp/emscripten/emcc
checking if the linker (/Users/szymon/emsdk/fastcomp/emscripten/emcc) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... llvm-nm
checking the name lister (llvm-nm) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 196608
checking how to convert x86_64-apple-darwin18.7.0 file names to x86_64-apple-darwin18.7.0 format... func_convert_file_noop
checking how to convert x86_64-apple-darwin18.7.0 file names to toolchain format... func_convert_file_noop
checking for /Users/szymon/emsdk/fastcomp/emscripten/emcc option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... /Users/szymon/emsdk/fastcomp/emscripten/emranlib
checking command to parse llvm-nm output from /Users/szymon/emsdk/fastcomp/emscripten/emcc object... failed
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking for dsymutil... dsymutil
checking for nmedit... nmedit
checking for lipo... lipo
checking for otool... otool
checking for otool64... no
checking for -single_module linker flag... emcc:WARNING: ignoring unsupported linker flag: `-single_module`
no
checking for -exported_symbols_list linker flag... yes
checking for -force_load linker flag... emcc:WARNING: ignoring unsupported linker flag: `-force_load`
no
checking how to run the C preprocessor... /Users/szymon/emsdk/fastcomp/emscripten/emcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if /Users/szymon/emsdk/fastcomp/emscripten/emcc supports -fno-rtti -fno-exceptions... yes
checking for /Users/szymon/emsdk/fastcomp/emscripten/emcc option to produce PIC... -fno-common -DPIC
checking if /Users/szymon/emsdk/fastcomp/emscripten/emcc PIC flag -fno-common -DPIC works... yes
checking if /Users/szymon/emsdk/fastcomp/emscripten/emcc static flag -static works... yes
checking if /Users/szymon/emsdk/fastcomp/emscripten/emcc supports -c -o file.o... yes
checking if /Users/szymon/emsdk/fastcomp/emscripten/emcc supports -c -o file.o... (cached) yes
checking whether the /Users/szymon/emsdk/fastcomp/emscripten/emcc linker (/Users/szymon/emsdk/fastcomp/emscripten/emcc) supports shared libraries... emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 1.38.45
clang version 6.0.1 (/b/s/w/ir/cache/git/chromium.googlesource.com-external-github.com-emscripten--core-emscripten--fastcomp--clang 98df4be387dde3e3918fa5bbb5fc43e1a0e1daac) (/b/s/w/ir/cache/git/chromium.googlesource.com-external-github.com-emscripten--core-emscripten--fastcomp 6c7e775325067e33fa60611e619a8b987b6d0c35) (emscripten 1.38.31 : 1.38.31)
Target: x86_64-apple-darwin18.7.0
Thread model: posix
InstalledDir: /Users/szymon/emsdk/fastcomp/fastcomp/bin
shared:INFO: (Emscripten: Running sanity checks)
yes
checking whether -lc should be explicitly linked in... yes
checking dynamic linker characteristics... darwin18.7.0 dyld
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for gcc... (cached) /Users/szymon/emsdk/fastcomp/emscripten/emcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether /Users/szymon/emsdk/fastcomp/emscripten/emcc accepts -g... (cached) yes
checking for /Users/szymon/emsdk/fastcomp/emscripten/emcc option to accept ISO C89... (cached) none needed
checking whether /Users/szymon/emsdk/fastcomp/emscripten/emcc understands -c and -o together... (cached) yes
checking dependency style of /Users/szymon/emsdk/fastcomp/emscripten/emcc... (cached) none
checking for pkg-config... /usr/local/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for native Win32... no
checking for some Win32 platform... no
checking for ANSI C header files... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking for inttypes.h... (cached) yes
checking wchar.h usability... yes
checking wchar.h presence... yes
checking for wchar.h... yes
checking asm/page.h usability... no
checking asm/page.h presence... no
checking for asm/page.h... no
checking sys/times.h usability... yes
checking sys/times.h presence... yes
checking for sys/times.h... yes
checking for an ANSI C-conforming const... yes
checking for preprocessor stringizing operator... yes
checking size of int... 4
checking size of short... 2
checking size of void *... 4
checking size of wchar_t... 4
checking for memmove... yes
checking for memset... yes
checking for strdup... yes
checking return type of signal handlers... void
checking that generated files are newer than configure... done
configure: creating ./config.status
configure: WARNING: unrecognized options: --enable-maintainer-mode, --enable-compile-warnings
 /bin/sh ./config.status
config.status: creating fribidi.pc
config.status: creating lib/fribidi-config.h
config.status: creating Makefile
config.status: creating charset/Makefile
config.status: creating gen.tab/Makefile
config.status: creating lib/Makefile
config.status: creating bin/Makefile
config.status: creating doc/Makefile
config.status: creating test/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
Making all in gen.tab
  GEN      .gitignore
Making all in charset
Making all in lib
/Library/Developer/CommandLineTools/usr/bin/make  all-am
  CCLD     libfribidi.la
../libtool: eval: line 1717: syntax error near unexpected token `|'
../libtool: eval: line 1717: `llvm-nm  .libs/fribidi.o .libs/fribidi-arabic.o .libs/fribidi-bidi.o .libs/fribidi-bidi-types.o .libs/fribidi-deprecated.o .libs/fribidi-joining.o .libs/fribidi-joining-types.o .libs/fribidi-mem.o .libs/fribidi-mirroring.o .libs/fribidi-run.o .libs/fribidi-shape.o   ../charset/.libs/libfribidi-char-sets.a |  | /usr/bin/sed 's/.* //' | sort | uniq > .libs/libfribidi.exp'
make[4]: *** [libfribidi.la] Error 1
make[3]: *** [all] Error 2
make[2]: *** [all-recursive] Error 1
make[1]: *** [all] Error 2
make: *** [build/fribidi/dist/lib/libfribidi.so] Error 2

Published on npm?

Hello, has this package been published on npm? It looks like the package.json is of the forked projects' code. If it's ready, could it be?
Thank you

convert rtsp udp stream

Hello!

I am interesting in using your library, but don't sure how...

I have udp stream from rtsp webcam. It is h264 encoded data.

And in result I want to show it in chrome browser with MSE, but it can eat only fragmented mp4

The best result that I got - avplay from stdout after some preparation of h264 input stream, but I need it in browser.

Can you advise me something?

Thank you! And hello from Ukraine!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.