Comments (15)
@techdragon Travis has now increased the build time limits. Feel free to create pull request.
from opencv-python.
@skvark let me know once Travis-CI have raised the build timeout limit and I'll submit the PR.
from opencv-python.
@techdragon Same here. Anything I can do to help with for Mac OS or Linux builds with FFMPEG, let me know.
from opencv-python.
Yes, that is correct as long as the FFmpeg version is LGPL and compiled with --enable-shared
. I will not include any GPL'ed libraries to the wheels because then the whole package license would have to be GPL.
I have already experimented with FFmpeg LGPL builds on the Cent OS 5 containers and it seems that it should be possible to add FFmpeg support for Linux also.
Thanks for your work in advance :)
from opencv-python.
@skvark The default FFmpeg build on homebrew is built using --enabled-shared so the main issue is building without --enable-gpl
which is/was part of the set options and not changeable with a build flag before my PR is merged. Speaking of the PR, it's now passing their CI checks so hopefully its merged soon.
I'm also glad to hear the Linux work appears possible since I was going to look at fixing that next. I'm fairly familiar with building things from source on linux but having not really used CentOS much I was concerned the build toolchain might be prohibitively difficult. Its one thing to compile some libraries from source code before compiling a program from sources, its another thing to need to build something like all of LLVM & clang using gcc because gcc is the only prebuilt compiler and the program won't compile with anything but clang.
from opencv-python.
@skvark I think I may have this working, but its a little hard to tell if it worked without the assets at the end and my travis-ci run didn't publish them anywhere useful. techdragon@b487193
https://travis-ci.org/techdragon/opencv-python/builds/286375673
@skvark do you want a PR regardless? or do you know a way I can get the wheel after travis is done in order to test these versions?
from opencv-python.
Sorry for the slow answer. As fas as I can see, the build does not have FFmpeg enabled:
-- FFMPEG: NO
-- avcodec: NO
-- avformat: NO
-- avutil: NO
-- swscale: NO
-- avresample: NO
This is due to this error in brew recipe:
==> ./configure --prefix=/usr/local/Cellar/ffmpeg/3.3.4 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma --enable-vda
Last 15 lines from /Users/travis/Library/Logs/Homebrew/ffmpeg/01.configure:
--enable-libmp3lame
--enable-libx264
--enable-libxvid
--enable-opencl
--enable-videotoolbox
--disable-lzma
--enable-vda
libx264 is gpl and --enable-gpl is not specified.
If you think configure made a mistake, make sure you are using the latest
version from Git. If the latest version fails, report the problem to the
[email protected] mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "config.log" produced by configure as this will help
solve the problem.
You have to remove --enable-libx264
. It's a GPL plugin.
You can test if the video support is ok by enabling macOS test here: https://github.com/skvark/opencv-python/blob/master/tests/test.py
from opencv-python.
Thanks for dissecting the output there @skvark, due to some how homebrew flags work, it seems I did indeed misconfigure things. I'll dig back into this again and now I know I should see some useful information in the OpenCV log output hopefully I'll know if it worked this time. 😄
from opencv-python.
@skvark I've gotten this working in my fork, but the complete build time is too slow and causes Travis-CI to fail for all four of the Mac + OpenCV + OpenCV Contrib modules combinations. Are there any possible speedups in the MultiBuild repo you can think of?
from opencv-python.
You could contact Travis and ask for an increased time limit.
from opencv-python.
Like @ofek said, I'll have contact Travis and ask if they can increase the time limit. There's no way to speed it up because brew builds FFmpeg from scratch.
Luckily this problem concerns only macOS since we can precompile FFmpeg on the Docker containers.
from opencv-python.
I sent an email about build time limit increase to Travis. Waiting for an answer.
from opencv-python.
@techdragon any way I could help you on this PR? Let me know
from opencv-python.
PR #56 opened. Hopefully the build doesn't time out.
from opencv-python.
Let's see, the build timeout limit should be at 90 minutes.
from opencv-python.
Related Issues (20)
- PyPI: macOS arm64 wheel missing
- cv2.createThinPlateSplineShapeTransformer not exist in 4.10
- imdecode jpeg2000 segfault or deadlock in multithreading HOT 2
- Typing of compare does not allow scalar for src1 or src2
- Why Building wheel for opencv-python when using "pip install opencv-python"
- Typing stubs generation has failed when building wheel HOT 1
- error: OpenCV(4.9.0) D:\a\opencv-python\opencv-python\opencv\modules\dnn\src\layers\convolution_layer.cpp:396: error: (-2:Unspecified error) Number of input channels should be multiple of 3 but got 4 in function 'cv::dnn::ConvolutionLayerImpl::getMemoryShapes'
- Gstreamer support on windows 10
- why ı am getting this error
- BUG: cv2.fillPoly() causing segmentation fault on Ubuntu 22.04.4 LTS HOT 1
- [Suggestion] Metapackage as solution to current issues with opencv as dependency HOT 1
- Build from source python 3.12 fails HOT 6
- error: OpenCV(4.8.0) /io/opencv/modules/core/src/copy.cpp:71: error: (-215:Assertion failed) cn <= 4 in function 'scalarToRawData'
- ModuleNotFoundError: No module named 'distutils' in latest release HOT 7
- MacOS arm64 wheels missing from PyPI 4.10 release HOT 2
- ImportError: numpy.core.multiarray --- Numpy 2.0.0 HOT 1
- cv2/cv2.abi3.so, 2): Library not loaded: /usr/local/opt/libunistring/lib/libunistring.2.dylib Referenced from: /usr/local/opt/gnutls/lib/libgnutls.30.dylib HOT 1
- When will opencv-python support numpy 2.0? HOT 6
- compile bug
- AttributeError: module 'numpy' has no attribute 'object'. `np.object` was a deprecated alias for the builtin `object`. To avoid this error in existing code, use `object` by itself. Doing this will not modify any behavior and is safe. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from opencv-python.