ffmpeg-python
Advanced tools
| Metadata-Version: 1.1 | ||
| Name: ffmpeg-python | ||
| Version: 0.1.14 | ||
| Version: 0.1.15 | ||
| Summary: Python bindings for FFmpeg - with complex filtering support | ||
@@ -9,3 +9,3 @@ Home-page: https://github.com/kkroening/ffmpeg-python | ||
| License: UNKNOWN | ||
| Download-URL: https://github.com/kkroening/ffmpeg-python/archive/v0.1.14.zip | ||
| Download-URL: https://github.com/kkroening/ffmpeg-python/archive/v0.1.15.zip | ||
| Description: ffmpeg-python: Python bindings for FFmpeg | ||
@@ -12,0 +12,0 @@ ========================================= |
@@ -375,3 +375,10 @@ from __future__ import unicode_literals | ||
| """ | ||
| kwargs['n'] = len(streams) | ||
| video_stream_count = kwargs.get('v', 1) | ||
| audio_stream_count = kwargs.get('a', 0) | ||
| stream_count = video_stream_count + audio_stream_count | ||
| if len(streams) % stream_count != 0: | ||
| raise ValueError( | ||
| 'Expected concat input streams to have length multiple of {} (v={}, a={}); got {}' | ||
| .format(stream_count, video_stream_count, audio_stream_count, len(streams))) | ||
| kwargs['n'] = int(len(streams) / stream_count) | ||
| return FilterNode(streams, concat.__name__, kwargs=kwargs, max_inputs=None).stream() | ||
@@ -378,0 +385,0 @@ |
+2
-2
| Metadata-Version: 1.1 | ||
| Name: ffmpeg-python | ||
| Version: 0.1.14 | ||
| Version: 0.1.15 | ||
| Summary: Python bindings for FFmpeg - with complex filtering support | ||
@@ -9,3 +9,3 @@ Home-page: https://github.com/kkroening/ffmpeg-python | ||
| License: UNKNOWN | ||
| Download-URL: https://github.com/kkroening/ffmpeg-python/archive/v0.1.14.zip | ||
| Download-URL: https://github.com/kkroening/ffmpeg-python/archive/v0.1.15.zip | ||
| Description: ffmpeg-python: Python bindings for FFmpeg | ||
@@ -12,0 +12,0 @@ ========================================= |
+20
-16
@@ -43,11 +43,6 @@ # ffmpeg-python: Python bindings for FFmpeg | ||
| ```bash | ||
| ffmpeg -i input.mp4 \ | ||
| -filter_complex "\ | ||
| [0]trim=start_frame=10:end_frame=20[v0];\ | ||
| [0]trim=start_frame=30:end_frame=40[v1];\ | ||
| [v0][v1]concat=n=2[v2];\ | ||
| [1]hflip[v3];\ | ||
| [v2][v3]overlay=eof_action=repeat[v4];\ | ||
| [v4]drawbox=50:50:120:120:red:t=5[v5]"\ | ||
| -map [v5] output.mp4 | ||
| ffmpeg -i input.mp4 -filter_complex "[0]trim=start_frame=10:end_frame=20[v0];\ | ||
| [0]trim=start_frame=30:end_frame=40[v1];[v0][v1]concat=n=2[v2];[1]hflip[v3];\ | ||
| [v2][v3]overlay=eof_action=repeat[v4];[v4]drawbox=50:50:120:120:red:t=5[v5]"\ | ||
| -map [v5] output.mp4 | ||
| ``` | ||
@@ -84,3 +79,3 @@ | ||
| The easiest way to acquire the latest version of `ffmpeg-python` is through pip: | ||
| The latest version of `ffmpeg-python` can be acquired via pip: | ||
@@ -104,7 +99,7 @@ ``` | ||
| Here are a few of the examples: | ||
| Here are a few: | ||
| - [Convert video to numpy array](https://github.com/kkroening/ffmpeg-python/blob/master/examples/README.md#convert-video-to-numpy-array) | ||
| - [Generate thumbnail for video](https://github.com/kkroening/ffmpeg-python/blob/master/examples/README.md#generate-thumbnail-for-video) | ||
| - [Read raw PCM audio via pipe](https://github.com/kkroening/ffmpeg-python/blob/master/examples/README.md#convert-sound-to-raw-pcm-audio) | ||
| - [Jupyter Stream Editor](https://github.com/kkroening/ffmpeg-python/blob/master/examples/README.md#jupyter-stream-editor) | ||
| - [JupyterLab/Notebook stream editor](https://github.com/kkroening/ffmpeg-python/blob/master/examples/README.md#jupyter-stream-editor) | ||
@@ -128,3 +123,3 @@ <img src="https://raw.githubusercontent.com/kkroening/ffmpeg-python/master/doc/jupyter-demo.gif" alt="jupyter demo" width="75%" /> | ||
| Don't see the filter you're looking for? `ffmpeg-python` is a work in progress, but it's easy to use any arbitrary ffmpeg filter: | ||
| Don't see the filter you're looking for? `ffmpeg-python` includes , but it's easy to use any arbitrary ffmpeg filter: | ||
| ```python | ||
@@ -147,4 +142,13 @@ stream = ffmpeg.input('dummy.mp4') | ||
| When in doubt, refer to the [existing filters](https://github.com/kkroening/ffmpeg-python/blob/master/ffmpeg/_filters.py) and/or the [official ffmpeg documentation](https://ffmpeg.org/ffmpeg-filters.html). | ||
| Arguments with special names such as `-qscale:v` can be specified as a keyword-args dictionary as follows: | ||
| ```python | ||
| (ffmpeg | ||
| .input('dummy.mp4') | ||
| .output('dummy2.mp4', **{'qscale:v': 3}) | ||
| .run() | ||
| ) | ||
| ``` | ||
| When in doubt, refer to the [existing filters](https://github.com/kkroening/ffmpeg-python/blob/master/ffmpeg/_filters.py), [examples](https://github.com/kkroening/ffmpeg-python/tree/master/examples), and/or the [official ffmpeg documentation](https://ffmpeg.org/ffmpeg-filters.html). | ||
| ## Contributing | ||
@@ -154,5 +158,5 @@ | ||
| Feel free to report any bugs or feature requests. | ||
| Feel free to report any bugs or submit feature requests. | ||
| It should be fairly easy to use filters that aren't explicitly built into `ffmpeg-python` but if there's a feature or filter you'd really like to see included in the library, don't hesitate to open a feature request. | ||
| It's generally straightforward to use filters that aren't explicitly built into `ffmpeg-python` but if there's a feature you'd like to see included in the library, head over to the [issue tracker](https://github.com/kkroening/ffmpeg-python/issues). | ||
@@ -159,0 +163,0 @@ Pull requests are welcome as well. |
+1
-1
| from setuptools import setup | ||
| from textwrap import dedent | ||
| version = '0.1.14' | ||
| version = '0.1.15' | ||
| download_url = 'https://github.com/kkroening/ffmpeg-python/archive/v{}.zip'.format(version) | ||
@@ -6,0 +6,0 @@ |
Alert delta unavailable
Currently unable to show alert delta for PyPI packages.
68426
0.98%1228
0.57%