Je suis nouveau sur Linux. J'ai installé ImageMagick comme instruction sur réponse et cela a fonctionné. Mais quand je lance mon code python comme ci-dessous:
from moviepy.editor import *
clip = VideoFileClip("video.mkv").subclip(50,60)
clip = clip.volumex(0.8)
txt_clip = TextClip("My Holidays 2013", fontsize = 70, color = 'white')
txt_clip = txt_clip.set_pos('center').set_duration(10)
video = CompositeVideoClip([clip, txt_clip])
video.write_videofile("modifiedVideo.mp4")
cela me donne toujours une erreur comme ceci:
[MoviePy] This command returned an error !Traceback (most recent call last):
File "tst.py", line 5, in <module>
txt_clip = TextClip("My Holidays 2013", fontsize = 70, color = 'white')
File "/usr/local/lib/python2.7/dist-packages/moviepy/video/VideoClip.py", line 1145, in __init__
raise IOError(error)
IOError: MoviePy Error: creation of None failed because of the following error:
convert: not authorized `@/tmp/tmp920Byo.txt' @ error/property.c/InterpretImageProperties/3405.
convert: no images defined `PNG32:/tmp/tmpUoKRUA.png' @ error/convert.c/ConvertImageCommand/3210.
.
.This error can be due to the fact that ImageMagick is not installed on your computer, or (for Windows users) that you didn't specify the path to the ImageMagick binary in file conf.py, or.that the path you specified is incorrect
il est indiqué que ImageMagick
n'est pas installé sur mon ordinateur (ma version actuelle du système d'exploitation est Ubuntu 16.04 LTS
, ma version python est 2.7.12
). Quelqu'un m'a aidé? Merci!
J'ai le même problème et j'essaie aussi les deux réponses de pauljohn32 mais cela ne fonctionne pas. Cependant, j'ai résolu le problème.
Tout d'abord, j'installe libmagick++-dev
en utilisant Sudo apt install libmagick++-dev
. Deuxièmement, je suis la suggestion de reddit . Plus précisément, j'ouvre policy.xml
de ImageMagick à l'aide de la commande: Sudo vim /etc/ImageMagick-6/policy.xml
, puis commente la stratégie @ en passant de <policy domain="path" rights="none" pattern="@*" />
à <!--<policy domain="path" rights="none" pattern="@*" /> -->
.
J'espère que cela fonctionne pour votre cas
Vous pouvez avoir ImageMagic SPECTATEUR, mais il vous manque probablement la bibliothèque de développement que votre programme Python cherche.
Voici la liste des paquets de mon système. Vous avez probablement besoin de plusieurs paquets. Regardez à la fin, pour les liaisons Python. Je suppose que si vous les installez, ils introduiront les autres exigences. Je ne sais pas combien d'autres fichiers d'en-tête sont nécessaires, mais si vous ne vous retrouvez pas avec libmagick ++-dev, je serais surpris.
$ dpkg -l | grep magic
ii file 1:5.28-2ubuntu1 AMD64 Determines file type using "magic" numbers
ii imagemagick 8:6.8.9.9-7ubuntu8.2 AMD64 image manipulation programs -- binaries
ii imagemagick-6.q16 8:6.8.9.9-7ubuntu8.2 AMD64 image manipulation programs -- quantum depth Q16
ii imagemagick-common 8:6.8.9.9-7ubuntu8.2 all image manipulation programs -- infrastructure
ii libgraphicsmagick-q16-3 1.3.25-1 AMD64 format-independent image processing - C shared library
ii libimage-magick-Perl 8:6.8.9.9-7ubuntu8.2 all Perl interface to the ImageMagick graphics routines
ii libimage-magick-q16-Perl 8:6.8.9.9-7ubuntu8.2 AMD64 Perl interface to the ImageMagick graphics routines -- Q16 version
ii libmagic1:AMD64 1:5.28-2ubuntu1 AMD64 File type determination library using "magi" numbers
ii libmagick++-6-headers 8:6.8.9.9-7ubuntu8.2 all object-oriented C++ interface to ImageMagick - header files
ii libmagick++-6.q16-5v5:AMD64 8:6.8.9.9-7ubuntu8.2 AMD64 object-oriented C++ interface to ImageMagick
ii libmagick++-6.q16-dev:AMD64 8:6.8.9.9-7ubuntu8.2 AMD64 object-oriented C++ interface to ImageMagick - development files
ii libmagick++-dev 8:6.8.9.9-7ubuntu8.2 all object-oriented C++ interface to ImageMagick
ii libmagickcore-6-Arch-config:AMD64 8:6.8.9.9-7ubuntu8.2 AMD64 low-level image manipulation library - architecture header files
ii libmagickcore-6-headers 8:6.8.9.9-7ubuntu8.2 all low-level image manipulation library - header files
ii libmagickcore-6.q16-2:AMD64 8:6.8.9.9-7ubuntu8.2 AMD64 low-level image manipulation library -- quantum depth Q16
ii libmagickcore-6.q16-2-extra:AMD64 8:6.8.9.9-7ubuntu8.2 AMD64 low-level image manipulation library - extra codecs (Q16)
ii libmagickcore-6.q16-dev:AMD64 8:6.8.9.9-7ubuntu8.2 AMD64 low-level image manipulation library - development files (Q16)
ii libmagickwand-6-headers 8:6.8.9.9-7ubuntu8.2 all image manipulation library - headers files
ii libmagickwand-6.q16-2:AMD64 8:6.8.9.9-7ubuntu8.2 AMD64 image manipulation library
ii libmagickwand-6.q16-dev:AMD64 8:6.8.9.9-7ubuntu8.2 AMD64 image manipulation library - development files
ii libvariable-magic-Perl 0.59-2 AMD64 module to associate user-defined magic to variables from Perl
ii python-magic 1:5.28-2ubuntu1 all File type determination library using "magi" numbers (Python bindings)
ii python3-magic 1:5.28-2ubuntu1 all File type determination library using "magi" numbers (Python 3 bindings
Plutôt que d'installer manuellement un par un avec apt-get, je recommande aux novices d'installer le programme "synaptic". Il offre une bien meilleure vision de ce qui existe et de ce que vous pouvez obtenir.
Je cherche maintenant dans Synaptic, il me semble qu’il existe plusieurs autres paquets imagicmagick <-> python. Recherchez "python-pythonmagic" ou "python-wand". Il me semble qu'il y a beaucoup à explorer.
Voici une non-réponse différente. Je ressens ta douleur. Je n'aurais pas dû être aussi confiant quant aux éléments de développement manquants python, ce qui est habituel pour les nouveaux utilisateurs.
Même problème discuté dans ce fil Reddit:
https://www.reddit.com/r/moviepy/comments/2q4754/need_help_with_installationconfiguration/
C'est à propos de MS Windows
La page moviepy https://github.com/Zulko/moviepy propose les mêmes conseils aux utilisateurs de Windows, mais indique que Linux devrait fonctionner immédiatement. J'étais confiant en pensant "je peux faire ce travail pour mon nouvel ami ..."
J'ai installé Moviepy pour voir ce qu'il fait. Je n'avais pas votre vidéo, j'ai trouvé une petite chose "toystory.mp4" à tester (mettez une copie dans http://pj.freefaculty.org/scraps si vous voulez essayer). Ce code est un exemple sur leur page d'accueil: https://github.com/Zulko/moviepy
from moviepy.editor import *
video = VideoFileClip("toystory.mp4").subclip(50,60)
# Make the text. Many more options are available.
txt_clip = ( TextClip("Toy",fontsize=70,color='white')
.set_position('center')
.set_duration(10) )
result = CompositeVideoClip([video, txt_clip]) # Overlay text on video
result.write_videofile("toy.webm",fps=25)
J'ai la même erreur que vous:
>>> txt_clip = ( TextClip("Toy",fontsize=70,color='white')
... .set_position('center')
... .set_duration(10) )
[MoviePy] This command returned an error !Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/pauljohn/.local/lib/python2.7/site-packages/moviepy/video/VideoClip.py", line 1145, in __init__
raise IOError(error)
IOError: erreur MoviePy: la création de Néant a échoué à cause de l'erreur suivante:
convert: not authorized `@/tmp/tmp8uDl3E.txt' @ error/property.c /InterpretImageProperties/3405.
convert: no images defined `PNG32:/tmp/tmprHOK9n.png' @ error/convert.c/ConvertImageCommand/3210.
.
.This error can be due to the fact that ImageMagick is not installed on
your computer, or (for Windows users) that you didn't specify the path
to the ImageMagick binary in file conf.py, or.that the path you
specified is incorrect
Je me suis dit, "peut-être que je dois résoudre ce problème comme l'utilisateur Windows"
from moviepy.config import change_settings
change_settings({"IMAGEMAGICK_BINARY": r"/usr/bin/convert"})
Cela échoue de la même manière.
Donc je n'ai pas de réponse.
Mais j'ai une nouvelle hypothèse. Maintenant, je soupçonne que la version d'ImageMagick que nous avons se comporte d'une manière à laquelle Moviepy ne s'attend pas. Cela déclenche ce message d'erreur inutile.
Le bon endroit pour demander de l'aide se trouve dans le film. Tant que vous avez converti installé.
$ ls -la /usr/bin/convert
lrwxrwxrwx 1 root root 25 Jun 11 2016 /usr/bin/convert -> /etc/alternatives/convert
$ ls -la /etc/alternatives/convert
lrwxrwxrwx 1 root root 20 Jun 11 2016 /etc/alternatives/convert -> /usr/bin/convert-im6
J'ai convert-im6, indiqué par/usr/bin/convert. Si cette version est trop récente, cela pourrait causer des problèmes, vous voyez. Désolé c'est le mieux que je puisse faire.
Si vous obtenez une réponse, n'oubliez pas de nous le faire savoir.