web-dev-qa-db-ja.com

ImageMagickはmoviepyで検出できませんか?

私はLinuxが初めてです。 ImageMagickを answer の指示としてインストールし、機能しました。しかし、次のようにpythonコードを実行すると:

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")

それでも次のようなエラーが表示されます。

[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

ImageMagickがコンピューターにインストールされていない(現在のOSのバージョンはUbuntu 16.04 LTS、私のpythonバージョンは2.7.12)と表示されます。誰か助けてくれますか?どうも!

4
Tony Chen

私は同じ問題を抱えており、pauljohn32の両方の答えも試してみましたが、うまくいきません。しかし、私は問題を解決しました。

まず、libmagick++-devを使用してSudo apt install libmagick++-devをインストールします。第二に、 reddit の提案に従います。具体的には、コマンドpolicy.xmlを使用してImageMagickのSudo vim /etc/ImageMagick-6/policy.xmlを開き、<policy domain="path" rights="none" pattern="@*" />から<!--<policy domain="path" rights="none" pattern="@*" /> -->に変更して@ポリシーにコメントします。

それがあなたのケースに役立つことを願っています

7
tndoan

ImageMagic VIEWERを持っているかもしれませんが、おそらくPythonプログラムが探している開発ライブラリが不足しています。

これが私のシステムからのパッケージのリストです。おそらくいくつかのパッケージが必要です。最後のPythonバインディングを見てください。それらをインストールする場合、他の要件をもたらすと思われます。必要な他のヘッダーファイルの数はわかりませんが、libmagick ++-devで終わらない場合は驚かされます。

$ 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

Apt-getを使用して手動で1つずつインストールするのではなく、初心者がプログラム「synaptic」をインストールすることをお勧めします。そこに何があり、何を手に入れることができるかについてのより良い見方を提供します。

私は現在シナプスを探していますが、他にもいくつかのimagicmagick <-> pythonパッケージがあるように見えます。 「python-pythonmagic」または「python-wand」を探します。私には、探求すべきことがたくさんあります。

2
pauljohn32

別の非回答があります。あなたの痛みが分かります。私は、pythonの開発者がいないことに自信を持ってはいけませんでした。これは、新しいユーザーにとっては普通のことです。

このRedditスレッドで説明した同じ問題:

https://www.reddit.com/r/moviepy/comments/2q4754/need_help_with_installationconfiguration/

MS Windowsについてです

Moviepyページ https://github.com/Zulko/moviepy にはWindowsユーザー向けのアドバイスがありますが、Linuxはそのままで動作するはずです。 「新しい友達のためにこの作品を作ることができる」と確信していた。

Moviepyをインストールして、その動作を確認しました。私はあなたのビデオを持っていませんでしたが、テスト用の小さなもの "toystory.mp4"を見つけました(コピーを http://pj.freefaculty.org/scraps に入れてみてください)。このコードは、ホームページの例です。 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)

あなたと同じエラーが表示されます:

>>> 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:MoviePyエラー:次のエラーのため、Noneの作成に失敗しました:

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

「Windowsユーザーのようにこれを修正する必要があるかもしれない」と思いました。

from moviepy.config import change_settings
change_settings({"IMAGEMAGICK_BINARY": r"/usr/bin/convert"})

それは同じように失敗します。

だから答えはありません。

しかし、新しい推測があります。今、私が持っているImageMagickバージョンは、moviepyが予期しない方法で動作しているのではないかと疑っています。これにより、役に立たないエラーメッセージがトリガーされます。

助けを求める適切な場所は、映画館です。変換がインストールされている限り。

$ 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

/ usr/bin/convertが指すconvert-im6があります。そのバージョンが新しすぎる場合、問題が発生する可能性があります。申し訳ありませんが、それは私ができる最善のことです。

答えが得られたら、忘れずに答えを知らせてください。

1
pauljohn32