Skip to content

Commit 11cce8e

Browse files
committed
version bump to 0.3.0
1 parent f3ee297 commit 11cce8e

6 files changed

Lines changed: 88 additions & 29 deletions

File tree

CHANGELOG.md

Lines changed: 46 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,36 +5,58 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a
55

66
## [Unreleased]
77

8+
## [0.3.0]
9+
10+
### Changed
11+
12+
- Python distribution package name from `ffmpegio` to `ffmpegio-core`
13+
- All raw data I/O operations are performed *without* NumPy array (NumPy support
14+
has been spun off to `python-ffmpegio-numpy` repo)
15+
- `audio.create()` to return sampling rate and samples
16+
- `ffmpegprocess.run()` to return its `stdout` output as `bytes`
17+
- Updated AVI processing
18+
- Cleaned up `SimpleStreams.py`
19+
- All stream classes returns `rate` or `rate_in` (instead of `sample_rate` or `frame_rate`)
20+
21+
### Added
22+
23+
- Introduced plugin system (depending on `pluggy` package)
24+
25+
### Removed
26+
27+
- Removed acknowledging planar PCM `sample_fmt`'s
28+
829
## [0.2.1]
930

1031
### Added
1132

12-
-added 'rvv' & 'raa' open modes
13-
-added secret bool option "_force_basic_vf"
33+
- added 'rvv' & 'raa' open modes
34+
- added secret bool option "_force_basic_vf"
1435

1536
### Fixed
1637

17-
-fixed: added media module to the root module
18-
-fixed: exec() no longer sets stdin & stdout when unspecified
19-
-fixed parse() handling of help options
38+
- fixed: added media module to the root module
39+
- fixed: exec() no longer sets stdin & stdout when unspecified
40+
- fixed parse() handling of help options
2041

2142
### Changed
2243

23-
-ffmpeg.exec() capture_log option: None = console display, False = DEVNULL
44+
- ffmpeg.exec() capture_log option: None = console display, False = DEVNULL
2445

2546
## [0.2.0]
2647

2748
### Added
28-
-added media.read()
29-
-added streams.SimpleStreams.SimpleFilterBase
30-
-added streams.SimpleStreams.SimpleAudioFilter
31-
-added streams.SimpleStreams.SimpleVideoFilter
32-
-added streams.AviStreams.AviMediaReader
33-
-added 'vaf' and 'f' mode support for open()
34-
-added ffmpegprocess.run_two_pass() for 2-pass encoding
35-
-added 'two_pass', 'pass1_omits' and 'pass1_extras' arguments
36-
to video.write() and transcode()
37-
-added threading.ReaderThread
49+
50+
- added media.read()
51+
- added streams.SimpleStreams.SimpleFilterBase
52+
- added streams.SimpleStreams.SimpleAudioFilter
53+
- added streams.SimpleStreams.SimpleVideoFilter
54+
- added streams.AviStreams.AviMediaReader
55+
- added 'vaf' and 'f' mode support for open()
56+
- added ffmpegprocess.run_two_pass() for 2-pass encoding
57+
- added 'two_pass', 'pass1_omits' and 'pass1_extras' arguments
58+
to video.write() and transcode()
59+
- added threading.ReaderThread
3860

3961
### Changed
4062

@@ -44,7 +66,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a
4466

4567
### Removed
4668

47-
-removed io.py and its dependencies
69+
- removed io.py and its dependencies
4870

4971
## [0.1.3]
5072

@@ -70,6 +92,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a
7092
- Renamed `caps.pixfmts()` and `caps.samplefmts()` to `pix_fmts()` and `sample_fmts()`, respectively
7193
- Split `caps.coders()` to `caps.decoders()` and `caps.encoders()`
7294
- Several output dict key names changed in `caps` functions
95+
-
7396
### Removed
7497

7598
- Removed `progress` argument from all functions in `image` submodule
@@ -81,21 +104,27 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a
81104

82105
## [0.1.1] - 2022-01-21
83106
### Added
107+
84108
- This file CHANGELOG
85109
- `SimpleStreams.SimpleReaderBase.blocksize` property to specify the number of blocks of media data to read as iterator
110+
-
86111
### Changed
112+
87113
- Turned `SimpleStreams.SimpleReaderBase.readiter()` into `__iter__()` and `__next__()` to make the class Iterable
88114
- Moved Github repo from `tikuma-lsuhsc` to `python-ffmpegio`
89115
### Fixed
116+
90117
- Exception handling in `transcode.transcode()`
91118

92119
## [0.1.0] - 2022-01-20
93120
### Added
121+
94122
- First beta release.
95123
- Main functionality of `transcode`, `video`, `audio`, `image`, `SimpleStreams`, `probe`, and `caps` modules.
96124
- Preliminary implementations of `FilterGraph` and `FFmpegError` classes.
97125

98126
[Unreleased]: https://github.com/python-ffmpegio/python-ffmpegio/compare/v0.2.1...HEAD
127+
[0.3.0]: https://github.com/python-ffmpegio/python-ffmpegio/compare/v0.2.1...v0.3.0
99128
[0.2.1]: https://github.com/python-ffmpegio/python-ffmpegio/compare/v0.2.0...HEAD
100129
[0.2.0]: https://github.com/python-ffmpegio/python-ffmpegio/compare/v0.1.3...v0.2.0
101130
[0.1.3]: https://github.com/python-ffmpegio/python-ffmpegio/compare/v0.1.2...v0.1.3

README.rst

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,17 @@ multimedia framework, which can handle most of the multimedia formats available
2121
Since v0.3.0, `ffmpegio` Python distribution package has been split into `ffmpegio-core` and `ffmpegio` to allow
2222
Numpy-independent installation.
2323

24-
- `pip install ffmpegio-core` to install NumPy-independent core modules. All raw data I/O operations are performed with a dict
25-
containing bytes data. Use this version to use FFmpeg as a pure transcoder.
26-
- `pip install ffmpegio` to install a plugin for NumPy array I/O along with the core package so that `numpy.ndarray` is used
27-
to store video and audio data. Use this version to read/write data for audio/image/video processing application.
28-
29-
Note: If `ffmpegio` distribution package is installed, `import ffmpegio` always uses the NumPy plugin, which is
30-
automatically loaded via `setuptools`' entry point mechanism. Use virtual environments to isolate the operating mode
31-
of `ffmpegio` per each use case if necessary.
24+
Install the full :py:mod:`ffmpegio` package via ``pip``:
25+
26+
.. code-block:: bash
27+
28+
pip install ffmpegio
29+
30+
If `numpy.ndarray` data I/O is not needed, instead use
31+
32+
.. code-block:: bash
33+
34+
pip install ffmpegio-core
3235
3336
Main Features
3437
-------------

docsrc/index.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,14 @@ Where to start
4747
4848
pip install ffmpegio
4949
50+
If `numpy.ndarray` I/O is not needed, use instead
51+
52+
.. code-block:: bash
53+
54+
pip install ffmpegio-core
55+
56+
See :ref:`Installation <install>` for more explanation.
57+
5058
Examples
5159
--------
5260

docsrc/install.rst

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,25 @@ Installation
77
To use :py:mod:`ffmpegio`, the package must be installed on Python as well as
88
having the FFmpeg binary files at a location :py:mod:`ffmpegio` can find.
99

10-
Install the :py:mod:`ffmpegio` package via :code:`pip`:
10+
Install the :py:mod:`ffmpegio` package via :code:`pip`. There are two options: `ffmpegio` and `ffmpegio-core`.
1111

1212
.. code-block::
1313
1414
pip install ffmpegio
1515
16+
This option installs the `ffmpegio` and `ffmpegio_plugin_numpy` packages so that the media data I/O are
17+
performed with `numpy.ndarray` objects. Naturally, `ffmpegio_plugin_numpy` requires `numpy` dependency.
18+
For use cases in which media data I/O is not needed, it unnecessarily bloats the site-package install.
19+
In such case, use the core-only install:
20+
21+
.. code-block::
22+
23+
pip install ffmpegio-core
24+
25+
This option only installs the `ffmpegio` package without `numpy` dependency. While media I/O functions
26+
(e.g., `open()`, `video.read()`, and `audio.write()`) are still available, the data are represented binary
27+
a `dict` object containing `bytes` data.
28+
1629
Install FFmpeg program
1730
^^^^^^^^^^^^^^^^^^^^^^
1831

@@ -57,4 +70,3 @@ For Windows, it is a bit more complicated.
5770
be placed in an arbitrary location and use :py:func:`ffmpegio.set_path` to
5871
specify the location. The latter feature is especially useful when `ffmpegio` is
5972
bundled in a package (e.g., PyInstaller).
60-

docsrc/quick.rst

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,19 @@ Install
1010
To use :py:mod:`ffmpegio`, the package must be installed on Python as well as
1111
having the FFmpeg binary files at a location :py:mod:`ffmpegio` can find.
1212

13-
Install the :py:mod:`ffmpegio` package via ``pip``:
13+
Install the full :py:mod:`ffmpegio` package via ``pip``:
1414

1515
.. code-block:: bash
1616
1717
pip install ffmpegio
1818
19+
If `numpy.ndarray` data I/O is not needed, instead use
20+
21+
.. code-block:: bash
22+
23+
pip install ffmpegio-core
24+
25+
1926
If FFmpeg is not installed on your system, please follow the instructions on
2027
:ref:`Installation page <install>`
2128

src/ffmpegio/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
"FFmpegError",
5151
"FilterGraph",
5252
]
53-
__version__ = "0.2.1"
53+
__version__ = "0.3.0"
5454

5555
ffmpeg_info = _ffmpeg.versions
5656
set_path = _ffmpeg.find

0 commit comments

Comments
 (0)