Comments (10)
Hi @Zulko! What'd be the use-case? Would these users like to use their native installed ffmpeg binary?
Would it suffice to prevent downloading via an environment variable? That should be easy to fix.
from imageio.
Thanks ! Actually using a native ffmpeg binary is not a problem (I think imageio doesn't overwrite the native ffmpeg). I think it's more to be sure that nothing (ffmpeg or anything else) gets automatically downloaded on the server. Automatic dowloads can be unwelcome for safety or security reasons I guess.
from imageio.
Ok, I understand. So do you think (or could you ask) whether disabling it via an environment variable would do the trick?
from imageio.
Ah sorry I didn't answer that. Yes an environment variable would do the trick.
from imageio.
I have ffmpeg installed on my computer but imageio still complains that it cannot find it and proceeds to download its own copy.
Also is it really considered a good practice to download binaries from the internet without the user's explicit permission? I see two major problems with this:
- Polluting the user's home directory with additional files is not a good practice. Typically it is expected that pip uninstall should leave the system in its original state without any residues, but in this case the downloaded files will never be cleaned up.
- Downloading executable code could be a serious security vulnerability especially if there is a probabiliyty that the server where that code is hosted becomes compromised. Third party binaries like ffmpeg should always be downloaded from trusted repositories, and not from custom self-hosted ones.
If you insist on downloading the binaries, I would suggest you do it during the setup.py install stage when the user has granted permission for the package to be installed and it is expected that files will be written, and not during the import stage of a module when the user doesn't expect any major side effects.
from imageio.
@drufat Yes, I won't argue it's ideal, though not uncommon for apps to download stuff automatically to the home dir (e.g. I believe Chrome updates itself in a similar way). Installing everything during installation solves some of the issues, but then imageio becomes a huge package for someone who just wants to read a jpg ...
from imageio.
Actually, such an environment variable already exists: IMAGEIO_NO_INTERNET
from imageio.
I think we need some documentation on environment variables.
from imageio.
Fixed in #86
from imageio.
Thanks !
from imageio.
Related Issues (20)
- ImageResource type should support bytes HOT 1
- [Bug Report] imageio v3 crashed when read hdr images after a certain number of times
- Link to the documentation in the README is broken HOT 1
- imread() fails on HTTPS, code example from documentation HOT 3
- 8bit grayscale now loaded as RGB HOT 5
- 2.31.4: documentation build fails HOT 1
- iio pyav plugin crash along with python when handling a webm file, setting format to rgba HOT 2
- It does not seem to support avif image format HOT 1
- Support for Pillow v10.1 (re: setting `image.mode`) HOT 8
- Inconsistency when reading floating point .exr image file HOT 3
- imageio.imread changes the values of graycale pixels, try to read 12-bit png grayscale image. HOT 8
- super slow video reads HOT 6
- imageio v2.33.0 requieres Pillow>=9.1.0 for GIFs HOT 1
- Trouble using freeimage plugin on MacOS arm64 HOT 2
- 2.33.1: pytest is failing in 5 units HOT 1
- [Question] What tonemapping method does the imageio library use when reading HDR images? HOT 2
- title of the gif got stacked together HOT 2
- UnicodeDecodeError if metadata is not UTF-8 encoded (pyav plugin) HOT 3
- [request] more color/palette control on GIF writing HOT 3
- Transition from v2 ffmpeg read/write to v3 pyav read/write: quality, batching HOT 7
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 imageio.