Code Monkey home page Code Monkey logo

nwjs-ffmpeg-prebuilt's Introduction

FFmpeg prebuilt for NW.js

FFmpeg prebuilt binaries with proprietary codecs and build instructions for Window, Linux and macOS.

Downloads

Downloads can be found here

Build

Usage:

node build[-h] [-c] [--version NW_VERSION] [--arch TARGET_ARCH] or npx nwjs-ffmpeg-prebuilt [-h] [-c] [-d] [--get-download-url] [--version NW_VERSION] [--arch TARGET_ARCH]

Arguments explanied:
  • -h, --help : Show the help message and exit
  • -c, --clean : Clean the workspace, removes downloaded source code
  • -v NW_VERSION, --version NW_VERSION : Build ffmpeg for the specified Nw.js version (latest from http://nwjs.io/versions.json if not specified)
  • -a TARGET_ARCH, --arch TARGET_ARCH : Target architecture, x86, x64, arm
  • -d, --download : Download Prebuild binaries.
  • -p, --platform : Download platform, darwin, win, linux
  • --get-download-url : Get Download Url for Prebuild binaries
  • -o, --out : Output Directory

Specific guides:

You can get the FFmpeg source code from here.

License and Patent Fee

Using MP3 and H.264 codecs requires you to pay attention to the patent royalties and the license of the source code. Consult a lawyer if you do not understand the licensing constraints and using patented media formats in your application. For more information about the license of the source code, check here.

nwjs-ffmpeg-prebuilt's People

Contributors

asteriosgr avatar ayushmanchhabra avatar biemax avatar bryant1410 avatar dependabot[bot] avatar iteufel avatar vzamanillo avatar zkrige 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  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

nwjs-ffmpeg-prebuilt's Issues

Blank Screen in latest 0.32.3_win_64 build

Blank screen but Audio is going. Any help on this?

<video width="1280" height="720" controls> <source src="https://www.quirksmode.org/html5/videos/big_buck_bunny.mp4" type="video/mp4">
</video>

0.15.4

Version: Windows ia32 0.15.4
After I replace the file, start nw.exe it alerts a message which points out I have some higher version of user contents, may cause problems.
Am I missing something?

[question] Is the python builder dependent on NWJS version?

I have been trying to understand if the ffmpeg.dll builder depends on the NWJS versions or just Chromium releases, but I cannot find a clear indication of this. My concern is related to building a binary that is for an old NWJS version that is no longer compatible with any future release, but if this is only depending on Chromium releases then it won't matter which is the latest NWJS version, unless Chrome changes the .dll like they did before, but that's a different situation from this one.

Building with proprietary_codecs doesn't play avi files.

Hello!

I built library with flag -pc and without it. A sizes of .dylib are 4.2 MB and 2.6 MB respectively. Without any codecs the size of this library in original nwjs is 1.3 MB.
But there are not difference between 4.2 MB and 2.6 MB. It works the same.

OS X El Capitan 10.11.6
nwjs 19.4

Incorrect release zip file scheme

We expected {nw_version}-{platform}-{arch}.zip, an example

0.18.4-linux-x64.zip

but we are getting

v0.18.4-linux-x64.zip

and the target platform is incorrect for OS X too, the file should be

0.18.4-osx-x64.zip

and we are getting

0.18.4-mac-x64.zip

Build Error with Ubuntu 18.04 and nw.js 0.30.0 / 5

Hi

i have tried to build the libffmpeg.so with nwjs 0.30.0 and 0.30.5 (x64) under ubuntu 18.04 but i am getting some errors.
See output below...

localadmin@Ubuntu-VirtualBox:~$ git clone https://github.com/iteufel/nwjs-ffmpeg-prebuilt.git
Cloning into 'nwjs-ffmpeg-prebuilt'...
remote: Counting objects: 314, done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 314 (delta 2), reused 6 (delta 2), pack-reused 306
Receiving objects: 100% (314/314), 80.04 KiB | 347.00 KiB/s, done.
Resolving deltas: 100% (166/166), done.
localadmin@Ubuntu-VirtualBox:~$ cd nwjs-ffmpeg-prebuilt/
localadmin@Ubuntu-VirtualBox:~/nwjs-ffmpeg-prebuilt$ sudo python build_ffmpeg.py --target_arch=x64 -nw=0.30.0
[sudo] password for localadmin: 
INFO: Setting nw version to 0.30.0
INFO: Building ffmpeg for 0.30.0 on linux for x64, proprietary_codecs = False
Creating /home/localadmin/nwjs-ffmpeg-prebuilt/build directory...
INFO: Cleaning output directory...
INFO: Cloning Chromium depot tools in /home/localadmin/nwjs-ffmpeg-prebuilt/build...
Cloning into 'depot_tools'...
remote: Counting objects: 998, done
remote: Finding sources: 100% (998/998)
remote: Total 998 (delta 119), reused 559 (delta 119)
Receiving objects: 100% (998/998), 2.52 MiB | 5.06 MiB/s, done.
Resolving deltas: 100% (119/119), done.
INFO: Creating .gclient file...
Running depot tools as root is sad.
INFO: Cloning Chromium source code for nw-0.30.0 in /home/localadmin/nwjs-ffmpeg-prebuilt/build
Cloning into 'src'...
remote: Counting objects: 289009, done.
remote: Compressing objects: 100% (207892/207892), done.
remote: Total 289009 (delta 91684), reused 169686 (delta 73004), pack-reused 0
Receiving objects: 100% (289009/289009), 887.10 MiB | 7.83 MiB/s, done.
Resolving deltas: 100% (91684/91684), done.
Note: checking out '004e06da11e10bb08f6632224ae48ee3d5f7b303'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

Checking out files: 100% (292554/292554), done.
INFO: Hard source code reset to nw 0.30.0 specified version
HEAD is now at 004e06da11 nwjs master
INFO: Cleaning previous DEPS and BUILD.gn backup files...
INFO: Backing up and overwriting DEPS...
INFO: Backing up and overwriting BUILD.gn...
INFO: Installing build dependencies...
ERROR: The only supported distros are
 	Ubuntu 14.04 (trusty)
 	Ubuntu 16.04 (xenial)
 	Ubuntu 17.10 (artful)
 	Debian 8 (jessie) or later
INFO: Syncing with gclient...
Running depot tools as root is sad.
/home/localadmin/nwjs-ffmpeg-prebuilt/build/.gclient_entries missing, .gclient file in parent directory /home/localadmin/nwjs-ffmpeg-prebuilt/build might not be the file you want to use.
Syncing projects: 100% (10/10), done.                                    

________ running '/usr/bin/python src/build/linux/sysroot_scripts/install-sysroot.py --arch=x86' in '/home/localadmin/nwjs-ffmpeg-prebuilt/build'
Installing Debian Sid i386 root image: /home/localadmin/nwjs-ffmpeg-prebuilt/build/src/build/linux/debian_sid_i386-sysroot
Downloading https://commondatastorage.googleapis.com/chrome-linux-sysroot/toolchain/15b7efb900d75f7316c6e713e80f87b9904791b1/debian_sid_i386_sysroot.tar.xz
Hook '/usr/bin/python src/build/linux/sysroot_scripts/install-sysroot.py --arch=x86' took 12.19 secs
Running hooks:  28% ( 2/ 7) sysroot_x64
________ running '/usr/bin/python src/build/linux/sysroot_scripts/install-sysroot.py --arch=x64' in '/home/localadmin/nwjs-ffmpeg-prebuilt/build'
Installing Debian Sid amd64 root image: /home/localadmin/nwjs-ffmpeg-prebuilt/build/src/build/linux/debian_sid_amd64-sysroot
Downloading https://commondatastorage.googleapis.com/chrome-linux-sysroot/toolchain/15b7efb900d75f7316c6e713e80f87b9904791b1/debian_sid_amd64_sysroot.tar.xz
Hook '/usr/bin/python src/build/linux/sysroot_scripts/install-sysroot.py --arch=x64' took 10.94 secs
Running hooks:  57% ( 4/ 7) clang        
________ running '/usr/bin/python src/tools/clang/scripts/update.py --if-needed' in '/home/localadmin/nwjs-ffmpeg-prebuilt/build'
Downloading https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-325667-1.tgz .......... Done.
Running hooks: 100% ( 7/ 7) gn_linux64
________ running 'download_from_google_storage --no_resume --no_auth --bucket chromium-gn -s src/buildtools/linux64/gn.sha1' in '/home/localadmin/nwjs-ffmpeg-prebuilt/build'
0> Downloading src/buildtools/linux64/gn...
Downloading 1 files took 15.339980 second(s)
Hook 'download_from_google_storage --no_resume --no_auth --bucket chromium-gn -s src/buildtools/linux64/gn.sha1' took 15.48 secs
Running hooks: 100% (7/7), done.      
INFO: Generating ninja files...
ERROR at //build/config/linux/pkg_config.gni:103:17: Script returned non-zero exit code.
    pkgresult = exec_script(pkg_config_script, args, "value")
                ^----------
Current dir: /home/localadmin/nwjs-ffmpeg-prebuilt/build/src/out/nw/
Command: python -- /home/localadmin/nwjs-ffmpeg-prebuilt/build/src/build/config/linux/pkg-config.py -s /home/localadmin/nwjs-ffmpeg-prebuilt/build/src/build/linux/debian_sid_amd64-sysroot -a x64 glib-2.0 gmodule-2.0 gobject-2.0 gthread-2.0
Returned 1.
stderr:

Traceback (most recent call last):
  File "/home/localadmin/nwjs-ffmpeg-prebuilt/build/src/build/config/linux/pkg-config.py", line 233, in <module>
    sys.exit(main())
  File "/home/localadmin/nwjs-ffmpeg-prebuilt/build/src/build/config/linux/pkg-config.py", line 139, in main
    prefix = GetPkgConfigPrefixToStrip(options, args)
  File "/home/localadmin/nwjs-ffmpeg-prebuilt/build/src/build/config/linux/pkg-config.py", line 80, in GetPkgConfigPrefixToStrip
    "--variable=prefix"] + args, env=os.environ)
  File "/usr/lib/python2.7/subprocess.py", line 216, in check_output
    process = Popen(stdout=PIPE, *popenargs, **kwargs)
  File "/usr/lib/python2.7/subprocess.py", line 394, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1047, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

See //build/config/linux/BUILD.gn:83:3: whence it was called.
  pkg_config("glib") {
  ^-------------------
See //build/config/compiler/BUILD.gn:198:18: which caused the file to be included.
    configs += [ "//build/config/linux:compiler" ]
                 ^------------------------------
ERROR: Traceback (most recent call last):
  File "build_ffmpeg.py", line 101, in main
    build(target_cpu)
  File "build_ffmpeg.py", line 423, in build
    subprocess.check_call('gn gen //out/nw "--args=is_debug=false is_component_ffmpeg=true target_cpu=\\\"%s\\\" is_official_build=true ffmpeg_branding=\\\"Chrome\\\""' % target_cpu, shell=True)
  File "/usr/lib/python2.7/subprocess.py", line 190, in check_call
    raise CalledProcessError(retcode, cmd)
CalledProcessError: Command 'gn gen //out/nw "--args=is_debug=false is_component_ffmpeg=true target_cpu=\"x64\" is_official_build=true ffmpeg_branding=\"Chrome\""' returned non-zero exit status 1

0.28.0 linux not working

hi

just tried lastest .so with nwjs 0.28.0 (x64) and .1, nwjs won t decode anything, 0.28.1 coming soon ?

thanks m8

Build safety

One of my clients may be using the prebuilt files in a Government project. Do you know how safe the files are and if they were built cleanly/securely? Were they built by yourself, and is there a way of validation? I hope your don't mind me asking. Thanks.

Planned usage of ffmpeg 32 bit.

error building on windows

hi m8

the adventure continue, now on windows

i installed all the needed tools, build njws os ok , now ffmpeg under cygwin i have a strange error and it won t build

configure / make ok then ... (installed yasm git diffutils and make thru cygwin installer)

License: LGPL version 2.1 or later
Creating config.mak, config.h, and doc/config.texi...
Running ['make', '-j8', 'libavcodec/avcodec-57.dll', 'libavformat/avformat-57.dll', 'libavutil/avutil-55.dll']
CC      libavformat/allformats.o
CC      libavformat/avio.o
CC      libavformat/aviobuf.o
CC      libavformat/cutils.o
CC      libavformat/dump.o
cl▒: Ligne de commande warning D9002▒: option '/home/sylvain/nwjs-ffmpeg-prebuilt/build/src/third_party/ffmpeg/libavformat/allformats.c' inconnue ignor▒e
cl▒: Ligne de commande error D8003▒: nom de fichier de la source absent
CC      libavformat/file_open.o
make: *** [/home/sylvain/nwjs-ffmpeg-prebuilt/build/src/third_party/ffmpeg/common.mak:60: libavformat/allformats.o] Error 2
make: *** Attente des tâches non terminées....
CC      libavformat/flac_picture.o
cl▒: Ligne de commande warning D9002▒: option '/home/sylvain/nwjs-ffmpeg-prebuilt/build/src/third_party/ffmpeg/libavformat/avio.c' inconnue ignor▒e
cl▒: Ligne de commande error D8003▒: nom de fichier de la source absent
make: *** [/home/sylvain/nwjs-ffmpeg-prebuilt/build/src/third_party/ffmpeg/common.mak:60: libavformat/avio.o] Error 2
CC      libavformat/format.o
cl▒: Ligne de commande warning D9002▒: option '/home/sylvain/nwjs-ffmpeg-prebuilt/build/src/third_party/ffmpeg/libavformat/aviobuf.c' inconnue ignor▒e
cl▒: Ligne de commande error D8003▒: nom de fichier de la source absent
make: *** [/home/sylvain/nwjs-ffmpeg-prebuilt/build/src/third_party/ffmpeg/common.mak:60: libavformat/aviobuf.o] Error 2
cl▒: Ligne de commande warning D9002▒: option '/home/sylvain/nwjs-ffmpeg-prebuilt/build/src/third_party/ffmpeg/libavformat/cutils.c' inconnue ignor▒e
cl▒: Ligne de commande error D8003▒: nom de fichier de la source absent
make: *** [/home/sylvain/nwjs-ffmpeg-prebuilt/build/src/third_party/ffmpeg/common.mak:60: libavformat/cutils.o] Error 2
cl▒: Ligne de commande warning D9002▒: option '/home/sylvain/nwjs-ffmpeg-prebuilt/build/src/third_party/ffmpeg/libavformat/dump.c' inconnue ignor▒e
cl▒: Ligne de commande error D8003▒: nom de fichier de la source absent
make: *** [/home/sylvain/nwjs-ffmpeg-prebuilt/build/src/third_party/ffmpeg/common.mak:60: libavformat/dump.o] Error 2
cl▒: Ligne de commande warning D9002▒: option '/home/sylvain/nwjs-ffmpeg-prebuilt/build/src/third_party/ffmpeg/libavformat/file_open.c' inconnue ignor▒e
cl▒: Ligne de commande error D8003▒: nom de fichier de la source absent
make: *** [/home/sylvain/nwjs-ffmpeg-prebuilt/build/src/third_party/ffmpeg/common.mak:60: libavformat/file_open.o] Error 2
cl▒: Ligne de commande warning D9002▒: option '/home/sylvain/nwjs-ffmpeg-prebuilt/build/src/third_party/ffmpeg/libavformat/flac_picture.c' inconnue ignor▒e
cl▒: Ligne de commande error D8003▒: nom de fichier de la source absent
make: *** [/home/sylvain/nwjs-ffmpeg-prebuilt/build/src/third_party/ffmpeg/common.mak:60: libavformat/flac_picture.o] Error 2
cl▒: Ligne de commande warning D9002▒: option '/home/sylvain/nwjs-ffmpeg-prebuilt/build/src/third_party/ffmpeg/libavformat/format.c' inconnue ignor▒e
cl▒: Ligne de commande error D8003▒: nom de fichier de la source absent
make: *** [/home/sylvain/nwjs-ffmpeg-prebuilt/build/src/third_party/ffmpeg/common.mak:60: libavformat/format.o] Error 2
Traceback (most recent call last):
  File "./chromium/scripts/build_ffmpeg.py", line 648, in <module>
    sys.exit(main(sys.argv[1:]))
  File "./chromium/scripts/build_ffmpeg.py", line 613, in main
    configure_args)
  File "./chromium/scripts/build_ffmpeg.py", line 605, in do_build_ffmpeg
    options.config_only, branding, configure_flags)
  File "./chromium/scripts/build_ffmpeg.py", line 220, in BuildFFmpeg
    ['make', '-j%d' % parallel_jobs] + libraries, cwd=config_dir)
  File "./chromium/scripts/build_ffmpeg.py", line 95, in PrintAndCheckCall
    subprocess.check_call(argv, *args, **kwargs)
  File "/usr/lib/python2.7/subprocess.py", line 541, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['make', '-j8', 'libavcodec/avcodec-57.dll', 'libavformat/avformat-57.dll', 'libavutil/avutil-55.dll']' returned non-zero exit status 2
ERROR: Traceback (most recent call last):
  File "build_ffmpeg.py", line 96, in main
    check_build_with_proprietary_codecs(proprietary_codecs, host_platform, target_arch)
  File "build_ffmpeg.py", line 464, in check_build_with_proprietary_codecs
    subprocess.check_call('./chromium/scripts/build_ffmpeg.py {0} {1}'.format(host_platform, target_arch), shell=True)
  File "/usr/lib/python2.7/subprocess.py", line 541, in check_call
    raise CalledProcessError(retcode, cmd)

to translate...
cl▒: Ligne de commande warning D9002▒: option '/home/sylvain/nwjs-ffmpeg-prebuilt/build/src/third_party/ffmpeg/libavformat/allformats.c' inconnue ignor▒e

=

cl : command line warning D9002 : blablabla allformats.c' ignored

then D8003 source filename is missing .. Oo ?

nwjs build was all right with exact same config :(

an idear ?? :(

thanks !!

Question: Support for matroska?

Does this support this ogg,matroska,wav demuxers and the theora,vorbis,vp8,pcm_u8,pcm_s16le,pcm_s24le,pcm_f32le,pcm_s16be,pcm_s24be codecs? I couldn't find a list in the readme of what this project supports.

How should I use "prebuilt binaries"?

I just replace "nwjs.app/Contents/Versions//nwjs Framework.framework/libffmpeg.dylib" to "prebuilt binary"

and I used it like this, but it does not work.

<video width="320" height="240" controls>
  <source src="video.mkv" type="video/matroska">
</video>

Linux broken?

hi

spend few hours yesterday to build the 0.28.3 linux ffmpeg.so and have some difficulties:

deps are not installed, had to figure i needed ninja-build/clang/ldd/fuse-dev libavcodec-dev etc etc, then the patch for the -pc option is not working anymore had to change it (will provide pr if possible)

BUT the biggest problem is i ended with a 16.6 mo .so file without build error, but nwjs 0.28.3 won t play anything but vp8/9 and mp3 , no aac, no h264, no hevc (dont care about others) have the same problem ? (demuxer problem can t open...)

GOOD JOB

you save my time! I just want to say motivation for you.

Build Error

I keep getting this error every time I run the script.
image

error building 32bit linux

hello

already had this error ?

python build_ffmpeg.py -c -nw 0.19.2 -ta ia32 -pc

everything fine then

-o obj/third_party/ffmpeg/ffmpeg_internal/hevc_cabac.o -x c ../../third_party/ffmpeg/libavcodec/hevc_cabac.c 
1.	<eof> parser at end of file
2.	Code generation
3.	Running pass 'Function Pass Manager' on module '../../third_party/ffmpeg/libavcodec/hevc_cabac.c'.
4.	Running pass 'Greedy Register Allocator' on function '@ff_hevc_part_mode_decode'
clang: error: unable to execute command: Aborted (core dumped)
clang: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 4.0.0 (trunk 282487)
Target: i386-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/nwjs_build/build_dir/ffmpeg/nwjs-ffmpeg-prebuilt/build/src/out/nw/../../third_party/llvm-build/Release+Asserts/bin
clang: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
clang: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/hevc_cabac-2b36ca.c
clang: note: diagnostic msg: /tmp/hevc_cabac-2b36ca.sh
clang: note: diagnostic msg: 

********************
[408/448] CC obj/third_party/ffmpeg/ffmpeg_internal/h264qpel.o
ninja: build stopped: subcommand failed.
ERROR: Traceback (most recent call last):
  File "build_ffmpeg.py", line 98, in main
    build(target_cpu)
  File "build_ffmpeg.py", line 409, in build
    subprocess.check_call('ninja -C out/nw ffmpeg', shell=True)
  File "/usr/lib/python2.7/subprocess.py", line 541, in check_call
    raise CalledProcessError(retcode, cmd)
CalledProcessError: Command 'ninja -C out/nw ffmpeg' returned non-zero exit status 1

thanks

When will we have 0.18.8 ?

Title says it all.. I can't build myself as I have an old version of Xcode which needs updating which requires updating OS which I can't do.

0.28.0 does nothing on Opera

Version 0.26-6 works, 0.28.0 does nothing, maybe is crashing.
I use this to decode youtube html5 by copying the *.so to Opera home folder at /usr/lib/x86_64-linux-gnu/opera

nwjs 0.30.3 crashes on windows

Please understand that I use translator because it is not familiar with English.

I am using windows 10 64bit and build the application using nw-builder.
I also found a problem with version 0.30.2 and version 0.30.3 of ffmpeg.
The application crashes after it is started.

Are you experiencing the same symptoms?

codec support isn't full

Hi,

I tried your prebuilt libs, we used to have our own for 0.12.

But I encountered two issues:

  1. HEVC has no image, only sound support
  2. AVI files (probably mpeg2?) have no support at all

Is that normal behavior?

Black screen on H264 videos (0.14.7 win x64)

I get black screen (but audio plays) with 0.14.7 windows x64 release on h264 videos.

<video width="1280" height="720" controls> <source src="https://www.quirksmode.org/html5/videos/big_buck_bunny.mp4" type="video/mp4"> </video>

Build Error : Help

I have cloned your repo and trying to build it via

python build_ffmpeg.py --target=x64

And I am getting the following error, I need your help, please!

default

Need build for NW.js 0.31.0

The 0.30.5 build doesn't work for NW.js 0.31.0. It would be really nice if there was a new build that would work with it.

Use --proprietary_codecs for prebuilt binaries?

Hi.

As far as I can understand, you don't enable -pc flag for your prebuilt binaries, only MP3, AAC and H.264 are available in addition to roality-free formats (i.e. formats like H.265, AC3, MPEG-2 won't work). So my question is: is there any reason for this, and do you plan to release binaries with that configure patch applied?

Thanks.

No 0.24.0-win-ia32.zip file

Some kind of fault when you published:

There is no 0.24.0-win-ia32.zip file.
There is a file with name 0.24.0-win-x86.zip that is equal to 0.24.0-win-x64.zip

Error "FAILED: genversion genversion.map.gz "

I have cloned your repo and trying to build it via

python build_ffmpeg.py --target x64 --proprietary_codecs

And I am getting the following error -

Writing: ./ffmpeg_generated.gni
INFO: Generating ninja files...
ERROR at //.gn:44:22: Build argument has no effect.
  v8_enable_gdbjit = false
                     ^----
The variable "v8_enable_gdbjit" was set as a build argument
but never appeared in a declare_args() block in any buildfile.

To view all possible args, run "gn args --list <builddir>"
Done. Made 42 targets from 47 files in 68ms
INFO: Starting ninja for building ffmpeg...
ninja: Entering directory `out/nw'
[150/541] LINK ./genversion
FAILED: genversion genversion.map.gz 
python "../../build/toolchain/gcc_link_wrapper.py" --output="./genversion" --map-file "./genversion.map.gz" -- ../../third_party/llvm-build/Release+Asserts/bin/clang++ -Wl,--fatal-warnings -Wl,--build-id=sha1 -fPIC -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro -Wl,-z,defs -Wl,--no-as-needed -lpthread -Wl,--as-needed -fuse-ld=gold -B../../third_party/binutils/Linux_x64/Release/bin -Wl,--threads -Wl,--thread-count=4 -Wl,--icf=all -flto -fwhole-program-vtables -Wl,-plugin-opt,O1 -Wl,-plugin-opt,-function-sections -m64 -pthread -Wl,-O1 -Wl,--gc-sections --sysroot=../../build/linux/debian_jessie_amd64-sysroot -L/home/denimuser/Desktop/nwjs-ffmpeg-prebuilt/build/src/build/linux/debian_jessie_amd64-sysroot/lib/x86_64-linux-gnu -Wl,-rpath-link=/home/denimuser/Desktop/nwjs-ffmpeg-prebuilt/build/src/build/linux/debian_jessie_amd64-sysroot/lib/x86_64-linux-gnu -L/home/denimuser/Desktop/nwjs-ffmpeg-prebuilt/build/src/build/linux/debian_jessie_amd64-sysroot/usr/lib/x86_64-linux-gnu -Wl,-rpath-link=/home/denimuser/Desktop/nwjs-ffmpeg-prebuilt/build/src/build/linux/debian_jessie_amd64-sysroot/usr/lib/x86_64-linux-gnu -L/home/denimuser/Desktop/nwjs-ffmpeg-prebuilt/build/src/build/linux/debian_jessie_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6 -Wl,-rpath-link=/home/denimuser/Desktop/nwjs-ffmpeg-prebuilt/build/src/build/linux/debian_jessie_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6 -L/home/denimuser/Desktop/nwjs-ffmpeg-prebuilt/build/src/build/linux/debian_jessie_amd64-sysroot/usr/lib -Wl,-rpath-link=/home/denimuser/Desktop/nwjs-ffmpeg-prebuilt/build/src/build/linux/debian_jessie_amd64-sysroot/usr/lib -fsanitize=cfi-vcall -Wl,-rpath-link=./lib -Wl,--disable-new-dtags -Werror -o "./genversion" -Wl,--start-group @"./genversion.rsp"  -Wl,--end-group  -ldl -lrt 
/usr/bin/ld.gold: warning: ignoring --threads: /usr/bin/ld.gold was compiled without thread support
/usr/bin/ld.gold: warning: ignoring --thread-count: /usr/bin/ld.gold was compiled without thread support
/usr/bin/ld.gold: error: treating warnings as errors
clang: error: linker command failed with exit code 1 (use -v to see invocation)
[159/541] CC obj/third_party/yasm/re2c/code.o
ninja: build stopped: subcommand failed.
ERROR: Traceback (most recent call last):
  File "build_ffmpeg.py", line 101, in main
    build(target_cpu)
  File "build_ffmpeg.py", line 396, in build
    subprocess.check_call('ninja -C out/nw ffmpeg', shell=True)
  File "/usr/lib/python2.7/subprocess.py", line 540, in check_call
    raise CalledProcessError(retcode, cmd)
CalledProcessError: Command 'ninja -C out/nw ffmpeg' returned non-zero exit status 1

My OS version - Ubuntu 14.04 LTS

[QUESTION] Does ffmpeg use hardware acceleration on Linux

Hi
I'm using nwjs on Arch Linux to play h264 videos and It doesn't seem like the decoder use the GPU (intel I5 6gen)
I've checked with intel_gpu_top and the GPU doesn't go over 6-7% and CPU is 80-90%
Can nwjs-ffmpeg-prebuilt use HW acceleration?
Thanks for the help

[Question] confused if I need the rebuilt fmpeg.dll anymore

I recently updated to NWJS 0.29.1 (win-x64) and started running some tests and I was surprised it was able to play MP3 files without me downloading the rebuilt ffmpeg

I came here and downloaded it anyway and it was just a little bit smaller in size than the one shipped with NWJS
so, now I'm confused! do we no longer need to download the rebuild ffmpeg or what, and what are the differences between the two?

Codec range is not in harmony with Chrome's

Right now I was trying to watch the emmys live stream in YouTube via NWJS with the ffmpeg.dll released here, but failed all the time. Tried watching the same stream on Chrome and it works perfectly (HTML5, it never switches to the flash player like a few videos do).
Debugging allowed me to find that the problem lies with the lack of M4A codec in the dll. To confirm this I tested the same situation but with Electron's dll and the stream started playing in NWJS with no problems.

I am only posting this because in #1 (comment) you said the support should be the same as Chrome's, so assuming that it is your intention I thought I should let you know in case you want to correct the lack of M4A support.

Linux builds missing from releases

Hi there - I've found this project useful for automating my integration of working ffmpeg with nwjs, however I've noticed for the last version (21.x) there are no longer linux 32 or 64 bit builds?

Is this an issue with your build system or are you no longer going to produce ffmpeg binaries for linux?

[Suggestion] Make a Multi OS ffmpeg_generated.gni

Hello,

Why not make it this way?

Every nwjs version have its own branch + instead of compiling and let the user / other coders fight with Compiling why not include Ffmpeg_generated.gni for all the OS ready + chromium/config/Chrome for all OS which will make the work really easier , we wont need build_ffmpeg.py anymore

Automate builds

NW.js is releasing releases fast now days.
And builds here are posted much later

Build Error

I get the following error when running

python build_ffmpeg.py -pc

ffmpeg

nwjs build args to enable ac3 and hevc demuxing

hello

i used your script to build libffmpeg.so against nw 0.19.1 but i need to build nwjs with proprietary codec

so i did it with

gn gen //out/nw --args='is_debug=false is_component_ffmpeg=true target_cpu="x64" is_official_build=true ffmpeg_branding="Chrome" enable_nacl=true proprietary_codecs=true'

and nothing black screen on avi / ac3 not oworking etc

i tried with chromeOS as ffmpeg branding and avi works but very choppy and ac3 not working.. so how do you build your nw to get hevc / ac3 etc working please?

thanks

With -pc build is broken with the latest Chromium versions

INFO: Creating a GYP include file for building FFmpeg from source...
/bin/sh: 1: ./chromium/scripts/generate_gyp.py: not found
ERROR: Traceback (most recent call last):
  File "build_ffmpeg.py", line 96, in main
    check_build_with_proprietary_codecs(proprietary_codecs, host_platform, target_arch)
  File "build_ffmpeg.py", line 486, in check_build_with_proprietary_codecs
    subprocess.check_call('./chromium/scripts/generate_gyp.py', shell=True)
  File "/usr/lib/python2.7/subprocess.py", line 541, in check_call
    raise CalledProcessError(retcode, cmd)
CalledProcessError: Command './chromium/scripts/generate_gyp.py' returned non-zero exit status 127

Seems like Google completly removed GYP in favor of GN, our script needs to be modified to build the library with custom codecs using it.

how to use libffmpeg.so

i want to be able to play mp4 video/audio in my nwjs app on linux. i did this:

  1. download nwjs 28.1 for linux from nwjs.io https://dl.nwjs.io/v0.28.1/nwjs-v0.28.1-linux-x64.tar.gz
  2. download https://github.com/iteufel/nwjs-ffmpeg-prebuilt/releases/download/0.28.1/0.28.1-linux-x64.zip and extract libffmpeg.so to /lib in nwjs directory
    yet, my app doesn’t play video or audio.
    what i do wrong?

i get these errors in my log
"Uncaught (in promise) NotSupportedError: Failed to load because no supported source was found.", source

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.