Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update #6

Merged
merged 37 commits into from
Feb 12, 2018
Merged

Update #6

merged 37 commits into from
Feb 12, 2018

Conversation

tburrows13
Copy link
Owner

No description provided.

Mark Beacom and others added 30 commits May 12, 2017 17:14
* Add missing qq, include fast_finish.

* Disable failing matplotlib test and enable pip caching

* Temporarily disable test_issue_368 using matplotlib
`iter_chunks` now uses `np.linspace` to generate indices. In addition
to fixing the out of bounds error, this also ensures each chunk
generates an approximately equal number of indices.
I got the following error:

    /usr/local/lib/python3.5/dist-packages/moviepy/audio/io/ffmpeg_audiowriter.py:91: in write_frames
        + "\n\n"+ffmpeg_error))
    E   TypeError: Can't convert 'bytes' object to str implicitly

To fix it, I wrapped `ffmpeg_error` in `str()` in `ffmpeg_audiowriter.py`.  I also did the same in `ffmpeg_writer.py` but I didn't test the latter.
Don't put a space before question or exclamation marks.
* Reference page for Clip was not being generated due to bad import.
* Copy-edit: Clumsy sentence in install.rst
* Used YouTube to get new iframes HTML.
* Replaced embedded image with link for private video.
Two small corrections to documentation.
#600: Several YouTube examples in Gallery page won't load.
Progress bar was previously hard-coded to True.
…compose") (#585)

* add scipy for py2.7 on travis-ci

* add tests for ffmeg_parse_infos

* put communicate back in

* fix syntax error

* Update test_misc.py

* add scroll test

* remove issue 527/528, this is in another PR

* add tests for colorx, fadein, fadeout

* fix: cv2.CV_AA does not exist error in cv2 version 3

* add headblur example, add opencv dependency

* openvcv only supports 2.7 and 3.4+

* add Exception to ImageSequenceClip when sizes do not match

* add test for ImageSequenceClip

* fix test mains

* fix copy error

* add ImageSequenceClip exception test

* add second image to ImageSequenceClip test

* fix incorrect duration calculation when concatenate method=compose

* fix duration issue of masks when using concatenate method=compose

* `concatenate` -> `concatenate_videoclips

`concatenate` is deprecated. Use `concatenate_videoclips instead. https://github.com/Zulko/moviepy/blob/master/moviepy/video/compositing/concatenate.py#L123
Signed-off-by: Ken Cochrane <kencochrane@gmail.com>
Signed-off-by: Ken Cochrane <kencochrane@gmail.com>
As of commit c0f6925, concatenate_videoclips uses the max fps of the
video clips.

This commit adds the same functionality for CompositeVideoClip.
* add coveralls to travis.yml

* add coveralls python module

* add pytest-cov python module

* add pytest-cov python module

* add pytest-cov python module

* add coverage

* modify .coverage

* travis

* remove coverage

* remove coverage

* remove coverage

* remove coverage

* remove coverage

* remove coverage

* remove coverage

* remove coverage

* remove coverage

* remove coverage

* remove coverage

* remove coverage

* __init__.py needed for pytest-cov and coverage to play nicely

* change concatenation to concatenate_videoclips

*  test tools

* add test for clips_array

* update travis to use Trusty

* add ffmpeg repo

* fix typo

* add another repo

* add -y flag to add-apt-repository

* install ppa-purge

* try another ffmpeg repo

* add -y flag

* add -qq flag

* add -qq flag

* add VideoFileClip tests

* put media download logic into its own file

* put media download logic into its own file

* add download_media.py

* update search path

* update search path

* update search path

* update search path

* update search path

* remove undescore from local variables

* add TextClip test

* add comment tabout ImageMagick errors in Travis

* add comment tabout ImageMagick errors in Travis

* add tests for most fx functions

* fix test_fx.py main

* import make_loopable module
* Exceptions do not have a .message attribute.

* Help tests run on Windows - don't assume temp dir or fonts.

* Python already has a feature for finding the temp dir. Changed
test helper to take advantage of it.

* Still outstanding: Several hard-coded references to /tmp appear in
the tests.

* Liberation-Mono is not commonly installed on Windows, and even when
it is, the font has a different name. Provide a fall-back for Windows
fonts. (Considered the use of a 3rd party tool to help select, but
seemed overkill.)

* Help tests run on Windows - allow some flexibility in versions.

Building/finding binaries on Windows is non-trivial. Aallow some
flexibility in the path levels. (I don't want to force existing users
to upgrade, but new users should be allowed the later patches.)

* Issue 596: Add initial support for closing clips.

Doesn't do anything yet. The work is done in the subclasses that need
it.

Also supports context manager, to allow close to be implicitly performed
without being forgotten even if an exception occurs during processes.

* Issue 596: Update doctest examples to call close.

Demonstrate good practice in the examples.

* More exception details for easier debugging of ImageMagick issues.

Especially for Windows.

* Issue #596: Move away from expecting/requiring __del__ to be called.

The work should be done in close(). Deleting can be left for the garbage
collector.

* Issue #596: Move ffmpeg_writer to using close.

Again, avoid depending on __del__. Add a context manager interface.
Use it lower down.

* Issue #596: Update ffmpeg_audiowriter to support close/context manager.

* Issue #596: Move AudioFileClip to use close(), away from __del__.

Was concerned that lambda might include a reference to reader that
wasn't cleaned up by close, so changed it over to an equivalent
self.reader. Probably has no effect, but feels safer.

* Issue #596: Support close() on CompositeVideoClip.

Note: It does NOT close all the subclips, because they may be used
again (by the caller). It is the caller's job to clean them up.

But clips created by this instance are closed by this instance.

* Issue #596: Add tests to see if this issue has been repaired.

test_resourcereleasedemo exercises the path where close is not called
and demonstrates that there is a consistent problem on Windows. Even
after this fix, it remains a problem that if you don't call close,
moviepg will leak locked files and subprocesses. [Because the problem
remains until the process ends, this is included in
a separate test file.]

test_resourcerelease demonstrates that when close() is called, the
problem goes away.

* Issue #596: Update tests to use close().

* Without tests changes, many of these existing tests do not pass on
Windows.

* Further to PR #597: Change to Arial

Helvetica wasn't recognised by ImageMagick. Changing to another
arbitrary font that should be available on all Windows machines.

* Issue #596 and #598: Updated test to support close().

Also changed test to meet Issue #598, but that is also being done in
PR#585, so will require a merge.

* Revert "More exception details for easier debugging of ImageMagick issues."

This reverts commit dc4a16a.

I bundled too much into one commit. Reverting and reapplying as two separate commits for better history.

* Issue #599: test_6 doesn't test anything.

Removed as it was crashing on Windows, achieving nothing on Linux.

* Issue #596: Move comment to avoid incorporate into documents.

* Issue #596: Add usages tips to documentation.

* Clip class missing from reference documents.

Due to failing import.

* Copy-edit: Clumsy sentence in documentation.

* Fix failing doctest.

* Issue 596: Add initial support for closing clips.

* Add key support for close()

   * FFMPEG_VideoWriter and FFMPEG_AudioWriter: Support close() and context managers.
   * Clip: support close() and context manager. Doesn't do anything itself. The work is done in the subclasses that need it.
   * Clip subclasses: Overrride close.
       * Move away from depending on clients calling__del__(). Deleting can be left to Garbage Collector.
   * CompositeVideoClip: Note: Don't close anything that wasn't constructed here. The client needs to be able to control the component clips.
   * AudioFileClip:  Was concerned that lambda might include a reference to reader that wasn't cleaned up by close, so changed it over to an equivalent self.reader. Probably has no effect, but feels safer.

* Update tests to use close().

   * Note: While many tests pass on Linux either way, a large proportion of the existing unit tests fail on Windows without these changes.
   * Include changes to many doctest examples - Demonstrate good practice in the examples.
   * Also, migrate tests to use TEMPDIR where they were not using it.
   * test_duration(): also corrected a bug in the test (described in #598). This bug is also been addressed in #585, so a merge will be required.

* Add two new test files:

   *  test_resourcereleasedemo exercises the path where close is not called and demonstrates that there is a consistent problem on Windows. Even after this fix, it remains a problem that if you don't call close, moviepg will leak locked files and subprocesses. Because the problem remains until the process ends, this is included in a separate test file.]
   * test_resourcerelease demonstrates that when close() is called, the problem goes away.

* Update documentation to include usage tips for close()

Not included:

    *  Example code has not been updated to use close().

* Merge branch 'WindowsSupport' of C:\Users\xboxl\OneDrive\Documents\MyApps\moviepy with conflicts.

* Neaten up output and PEP8 compliance.

Also, make runnable directly (to help debugging)

* Remove references to /tmp to allow to run on Windows.

* Reference to PermissionError failing on Python 2.7.

* Migrate to use requests to avoid certificate problems.

Old versions of urlretrieve have old certificates which means one of the
video downloads was failing.

Also requires changes to setup.py, to come.

* Clean up of dependencies.

Including adding ranges, removing unnecessary entries, adding missing
entries, adding environment markers, changing versions, and updating
pytest parameter handling.

* Simplification of Travis file - letting te setup.py do the heavy lifting

Remove conditional installations repeating the rules in setup.py
Remove some installation of test needs repeating the rules in setup.py
Add testing of installation options.

* Add Appveyor support.

* Solve Issue 629.
…tion instead (#633)

* add scipy for py2.7 on travis-ci

* add tests for ffmeg_parse_infos

* put communicate back in

* fix syntax error

* Update test_misc.py

* add scroll test

* remove issue 527/528, this is in another PR

* add tests for colorx, fadein, fadeout

* fix: cv2.CV_AA does not exist error in cv2 version 3

* add headblur example, add opencv dependency

* openvcv only supports 2.7 and 3.4+

* add Exception to ImageSequenceClip when sizes do not match

* add test for ImageSequenceClip

* fix test mains

* fix copy error

* add ImageSequenceClip exception test

* add second image to ImageSequenceClip test

* sometimes tempfile.tempdir is null, so use gettempdir function instead
* del proc

* make consistent with audio reader; test
rlphillips and others added 7 commits November 20, 2017 22:46
Updated readme to point out the name of the ImageMagick executable changed in the last version.
Update Readme.rst to reflect imagemagick binary name change
Convert advanced_tools.py to valid Python
@tburrows13 tburrows13 merged commit 1de29a7 into tburrows13:master Feb 12, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet