Merge remote-tracking branch 'origin/master'

This commit is contained in:
Karl Kroening 2018-06-02 00:33:58 -07:00
commit e294bd7753
3 changed files with 21 additions and 2 deletions

View File

@ -95,6 +95,10 @@ $ python
>>> import ffmpeg >>> import ffmpeg
``` ```
## [Examples](https://github.com/kkroening/ffmpeg-python/tree/master/examples)
When in doubt, take a look at the [examples](https://github.com/kkroening/ffmpeg-python/tree/master/examples) to see if there's something that's close to whatever you're trying to do.
## [API Reference](https://kkroening.github.io/ffmpeg-python/) ## [API Reference](https://kkroening.github.io/ffmpeg-python/)
API documentation is automatically generated from python docstrings and hosted on github pages: https://kkroening.github.io/ffmpeg-python/ API documentation is automatically generated from python docstrings and hosted on github pages: https://kkroening.github.io/ffmpeg-python/

View File

@ -1,10 +1,9 @@
from __future__ import unicode_literals from __future__ import unicode_literals
from .dag import get_outgoing_edges, topo_sort from .dag import get_outgoing_edges, topo_sort
from ._utils import basestring from ._utils import basestring
from builtins import str from builtins import str
from functools import reduce from functools import reduce
from past.builtins import basestring import collections
import copy import copy
import operator import operator
import subprocess import subprocess
@ -123,6 +122,11 @@ def _get_output_args(node, stream_name_map):
fmt = kwargs.pop('format', None) fmt = kwargs.pop('format', None)
if fmt: if fmt:
args += ['-f', fmt] args += ['-f', fmt]
if 'video_size' in kwargs:
video_size = kwargs.pop('video_size')
if not isinstance(video_size, basestring) and isinstance(video_size, collections.Iterable):
video_size = '{}x{}'.format(video_size[0], video_size[1])
args += ['-video_size', video_size]
args += _convert_kwargs_to_cmd_line_args(kwargs) args += _convert_kwargs_to_cmd_line_args(kwargs)
args += [filename] args += [filename]
return args return args

View File

@ -237,6 +237,17 @@ def test_filter_asplit():
] ]
@pytest.mark.parametrize('video_size', [(320, 240), '320x240'])
def test__output__video_size(video_size):
args = (
ffmpeg
.input('in')
.output('out', video_size=video_size)
.get_args()
)
assert args == ['-i', 'in', '-video_size', '320x240', 'out']
def test_filter_normal_arg_escape(): def test_filter_normal_arg_escape():
"""Test string escaping of normal filter args (e.g. ``font`` param of ``drawtext`` filter).""" """Test string escaping of normal filter args (e.g. ``font`` param of ``drawtext`` filter)."""
def _get_drawtext_font_repr(font): def _get_drawtext_font_repr(font):