Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
pythonPackages.ffmpeg-python: init at 0.2.0
- Loading branch information
1 parent
e79af47
commit 07c817f
Showing
3 changed files
with
129 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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; | ||
}; | ||
} |
84 changes: 84 additions & 0 deletions
84
pkgs/development/python-modules/ffmpeg-python/ffmpeg-location.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters