pythonPackages.ffmpeg-python: init at 0.2.0
This commit is contained in:
parent
e79af471e7
commit
07c817f9d2
43
pkgs/development/python-modules/ffmpeg-python/default.nix
Normal file
43
pkgs/development/python-modules/ffmpeg-python/default.nix
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, substituteAll
|
||||||
|
, ffmpeg
|
||||||
|
, future
|
||||||
|
, pytest
|
||||||
|
, pytestrunner
|
||||||
|
, pytest-mock
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "ffmpeg-python";
|
||||||
|
version = "0.2.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "kkroening";
|
||||||
|
repo = "ffmpeg-python";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "0mmydmfz3yiclbgi4lqrv9fh2nalafg4bkm92y2qi50mwqgffk8f";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
(
|
||||||
|
substituteAll {
|
||||||
|
src = ./ffmpeg-location.patch;
|
||||||
|
inherit ffmpeg;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [ pytestrunner ];
|
||||||
|
propagatedBuildInputs = [ future ];
|
||||||
|
checkInputs = [ pytest pytest-mock ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Python bindings for FFmpeg - with complex filtering support";
|
||||||
|
homepage = "https://github.com/kkroening/ffmpeg-python";
|
||||||
|
license = licenses.asl20;
|
||||||
|
maintainers = [ maintainers.AluisioASG ];
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,84 @@
|
|||||||
|
diff --git i/ffmpeg/_probe.py w/ffmpeg/_probe.py
|
||||||
|
index 41e8168..eb83b54 100644
|
||||||
|
--- i/ffmpeg/_probe.py
|
||||||
|
+++ w/ffmpeg/_probe.py
|
||||||
|
@@ -4,7 +4,7 @@ from ._run import Error
|
||||||
|
from ._utils import convert_kwargs_to_cmd_line_args
|
||||||
|
|
||||||
|
|
||||||
|
-def probe(filename, cmd='ffprobe', **kwargs):
|
||||||
|
+def probe(filename, cmd='@ffmpeg@/bin/ffprobe', **kwargs):
|
||||||
|
"""Run ffprobe on the specified file and return a JSON representation of the output.
|
||||||
|
|
||||||
|
Raises:
|
||||||
|
diff --git i/ffmpeg/_run.py w/ffmpeg/_run.py
|
||||||
|
index afc504d..9445cca 100644
|
||||||
|
--- i/ffmpeg/_run.py
|
||||||
|
+++ w/ffmpeg/_run.py
|
||||||
|
@@ -172,7 +172,7 @@ def get_args(stream_spec, overwrite_output=False):
|
||||||
|
|
||||||
|
|
||||||
|
@output_operator()
|
||||||
|
-def compile(stream_spec, cmd='ffmpeg', overwrite_output=False):
|
||||||
|
+def compile(stream_spec, cmd='@ffmpeg@/bin/ffmpeg', overwrite_output=False):
|
||||||
|
"""Build command-line for invoking ffmpeg.
|
||||||
|
|
||||||
|
The :meth:`run` function uses this to build the commnad line
|
||||||
|
@@ -193,7 +193,7 @@ def compile(stream_spec, cmd='ffmpeg', overwrite_output=False):
|
||||||
|
@output_operator()
|
||||||
|
def run_async(
|
||||||
|
stream_spec,
|
||||||
|
- cmd='ffmpeg',
|
||||||
|
+ cmd='@ffmpeg@/bin/ffmpeg',
|
||||||
|
pipe_stdin=False,
|
||||||
|
pipe_stdout=False,
|
||||||
|
pipe_stderr=False,
|
||||||
|
@@ -289,7 +289,7 @@ def run_async(
|
||||||
|
@output_operator()
|
||||||
|
def run(
|
||||||
|
stream_spec,
|
||||||
|
- cmd='ffmpeg',
|
||||||
|
+ cmd='@ffmpeg@/bin/ffmpeg',
|
||||||
|
capture_stdout=False,
|
||||||
|
capture_stderr=False,
|
||||||
|
input=None,
|
||||||
|
diff --git i/ffmpeg/tests/test_ffmpeg.py w/ffmpeg/tests/test_ffmpeg.py
|
||||||
|
index 279a323..8d3b35c 100644
|
||||||
|
--- i/ffmpeg/tests/test_ffmpeg.py
|
||||||
|
+++ w/ffmpeg/tests/test_ffmpeg.py
|
||||||
|
@@ -24,7 +24,7 @@ TEST_OUTPUT_FILE2 = os.path.join(SAMPLE_DATA_DIR, 'out2.mp4')
|
||||||
|
BOGUS_INPUT_FILE = os.path.join(SAMPLE_DATA_DIR, 'bogus')
|
||||||
|
|
||||||
|
|
||||||
|
-subprocess.check_call(['ffmpeg', '-version'])
|
||||||
|
+subprocess.check_call(['@ffmpeg@/bin/ffmpeg', '-version'])
|
||||||
|
|
||||||
|
|
||||||
|
def test_escape_chars():
|
||||||
|
@@ -423,7 +423,7 @@ def test_filter_text_arg_str_escape():
|
||||||
|
|
||||||
|
def test__compile():
|
||||||
|
out_file = ffmpeg.input('dummy.mp4').output('dummy2.mp4')
|
||||||
|
- assert out_file.compile() == ['ffmpeg', '-i', 'dummy.mp4', 'dummy2.mp4']
|
||||||
|
+ assert out_file.compile() == ['@ffmpeg@/bin/ffmpeg', '-i', 'dummy.mp4', 'dummy2.mp4']
|
||||||
|
assert out_file.compile(cmd='ffmpeg.old') == [
|
||||||
|
'ffmpeg.old',
|
||||||
|
'-i',
|
||||||
|
@@ -490,7 +490,7 @@ def test__run__input_output(mocker):
|
||||||
|
@pytest.mark.parametrize('capture_stdout', [True, False])
|
||||||
|
@pytest.mark.parametrize('capture_stderr', [True, False])
|
||||||
|
def test__run__error(mocker, capture_stdout, capture_stderr):
|
||||||
|
- mocker.patch.object(ffmpeg._run, 'compile', return_value=['ffmpeg'])
|
||||||
|
+ mocker.patch.object(ffmpeg._run, 'compile', return_value=['@ffmpeg@/bin/ffmpeg'])
|
||||||
|
stream = _get_complex_filter_example()
|
||||||
|
with pytest.raises(ffmpeg.Error) as excinfo:
|
||||||
|
out, err = ffmpeg.run(
|
||||||
|
@@ -684,7 +684,7 @@ def test_pipe():
|
||||||
|
'pipe:1',
|
||||||
|
]
|
||||||
|
|
||||||
|
- cmd = ['ffmpeg'] + args
|
||||||
|
+ cmd = ['@ffmpeg@/bin/ffmpeg'] + args
|
||||||
|
p = subprocess.Popen(
|
||||||
|
cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE
|
||||||
|
)
|
@ -2636,6 +2636,8 @@ in {
|
|||||||
|
|
||||||
fb-re2 = callPackage ../development/python-modules/fb-re2 { };
|
fb-re2 = callPackage ../development/python-modules/fb-re2 { };
|
||||||
|
|
||||||
|
ffmpeg-python = callPackage ../development/python-modules/ffmpeg-python { };
|
||||||
|
|
||||||
filetype = callPackage ../development/python-modules/filetype { };
|
filetype = callPackage ../development/python-modules/filetype { };
|
||||||
|
|
||||||
flammkuchen = callPackage ../development/python-modules/flammkuchen { };
|
flammkuchen = callPackage ../development/python-modules/flammkuchen { };
|
||||||
|
Loading…
Reference in New Issue
Block a user