cs.ffmpegutils


Namecs.ffmpegutils JSON
Version 20240519 PyPI version JSON
download
home_pageNone
SummaryConvenience facilities for using FFmpeg (ffmpeg.org), with invocation via `ffmpeg-python`.
upload_time2024-05-19 02:32:38
maintainerNone
docs_urlNone
authorNone
requires_pythonNone
licenseGNU General Public License v3 or later (GPLv3+)
keywords python3
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            Convenience facilities for using FFmpeg (ffmpeg.org),
with invocation via `ffmpeg-python`.

*Latest release 20240519*:
ffmpeg_docker: set DockerRun.output_hostdir from the output file dirname.

## Class `ConversionSource(builtins.tuple)`

ConversionSource(src, srcfmt, start_s, end_s)

*Property `ConversionSource.end_s`*:
Alias for field number 3

*Property `ConversionSource.src`*:
Alias for field number 0

*Property `ConversionSource.srcfmt`*:
Alias for field number 1

*Property `ConversionSource.start_s`*:
Alias for field number 2

## Function `convert(*srcs, dstpath: str, doit=True, dstfmt=None, ffmpeg_exe=None, fstags: Optional[cs.fstags.FSTags] = <function <lambda> at 0x10bd092d0>, conversions=None, metadata: Optional[dict] = None, timespans=(), overwrite=False, acodec=None, vcodec=None, extra_opts=None) -> List[str]`

Transcode video to `dstpath` in FFMPEG compatible `dstfmt`.

## Function `ffmpeg_docker(*ffmpeg_args: Iterable[str], docker_run_opts: Union[List[str], Mapping, NoneType] = None, doit: Optional[bool] = None, quiet: Optional[bool] = None, ffmpeg_exe: Optional[str] = None, docker_exe: Optional[str] = None, image: Optional[str] = None, output_hostdir: Optional[str] = None) -> Optional[subprocess.CompletedProcess]`

Invoke `ffmpeg` using docker.

## Class `FFmpegSource`

A representation of an `ffmpeg` input source.

*Method `FFmpegSource.add_as_input(self, ff)`*:
Add as an input to `ff`.
Return `None` if `self.source` is a pathname,
otherwise return the file descriptor of the data source.

Note: because we rely on `ff.input('pipe:')` for nonpathnames,
you can only use a nonpathname `FFmpegSource` for one of the inputs.
This is not checked.

*Method `FFmpegSource.promote(source)`*:
Promote `source` to an `FFmpegSource`.

## Function `ffprobe(input_file, *, doit=True, ffprobe_exe='ffprobe', quiet=False)`

Run `ffprobe -print_format json` on `input_file`,
return format, stream, program and chapter information
as an `AttrableMapping` (a `dict` subclass).

## Function `main_ffmpeg_docker(argv=None)`

The `ffm[peg-docker` command line implementation.

## Class `MetaData(cs.tagset.TagSet)`

Object containing fields which may be supplied to ffmpeg's -metadata option.

*Method `MetaData.__init__(self, format, **kw)`*:
pylint: disable=redefined-builtin

*Method `MetaData.options(self)`*:
Compute the FFmpeg -metadata option strings and return as a list.

# Release Log



*Release 20240519*:
ffmpeg_docker: set DockerRun.output_hostdir from the output file dirname.

*Release 20240316.1*:
DISTINFO fix.

*Release 20240316*:
Fixed release upload artifacts.

*Release 20240201*:
* New $FFMPEG_EXE envvar.
* convert: use $FFMPEG_EXE, return the ffmpeg argv.
* convert: include the media type in DEFAULT_CONVERSIONS, refactor the choice of codec conversion.
* convert: supply dummy results if doit is false - could do with some finesse.
* ffmpeg_docker: use DockerRun.{add_input,add_output}.
* New main_ffmpeg_docker to support the ffmpeg-docker command, add ffmpeg-docker to DISTINFO scripts.

*Release 20231202*:
Initial PyPI release.


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "cs.ffmpegutils",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "python3",
    "author": null,
    "author_email": "Cameron Simpson <cs@cskk.id.au>",
    "download_url": "https://files.pythonhosted.org/packages/1f/93/9e9cf8260a7d3c5df382fdb7b477aab657fdd934a3b26d224aec35215e91/cs.ffmpegutils-20240519.tar.gz",
    "platform": null,
    "description": "Convenience facilities for using FFmpeg (ffmpeg.org),\nwith invocation via `ffmpeg-python`.\n\n*Latest release 20240519*:\nffmpeg_docker: set DockerRun.output_hostdir from the output file dirname.\n\n## Class `ConversionSource(builtins.tuple)`\n\nConversionSource(src, srcfmt, start_s, end_s)\n\n*Property `ConversionSource.end_s`*:\nAlias for field number 3\n\n*Property `ConversionSource.src`*:\nAlias for field number 0\n\n*Property `ConversionSource.srcfmt`*:\nAlias for field number 1\n\n*Property `ConversionSource.start_s`*:\nAlias for field number 2\n\n## Function `convert(*srcs, dstpath: str, doit=True, dstfmt=None, ffmpeg_exe=None, fstags: Optional[cs.fstags.FSTags] = <function <lambda> at 0x10bd092d0>, conversions=None, metadata: Optional[dict] = None, timespans=(), overwrite=False, acodec=None, vcodec=None, extra_opts=None) -> List[str]`\n\nTranscode video to `dstpath` in FFMPEG compatible `dstfmt`.\n\n## Function `ffmpeg_docker(*ffmpeg_args: Iterable[str], docker_run_opts: Union[List[str], Mapping, NoneType] = None, doit: Optional[bool] = None, quiet: Optional[bool] = None, ffmpeg_exe: Optional[str] = None, docker_exe: Optional[str] = None, image: Optional[str] = None, output_hostdir: Optional[str] = None) -> Optional[subprocess.CompletedProcess]`\n\nInvoke `ffmpeg` using docker.\n\n## Class `FFmpegSource`\n\nA representation of an `ffmpeg` input source.\n\n*Method `FFmpegSource.add_as_input(self, ff)`*:\nAdd as an input to `ff`.\nReturn `None` if `self.source` is a pathname,\notherwise return the file descriptor of the data source.\n\nNote: because we rely on `ff.input('pipe:')` for nonpathnames,\nyou can only use a nonpathname `FFmpegSource` for one of the inputs.\nThis is not checked.\n\n*Method `FFmpegSource.promote(source)`*:\nPromote `source` to an `FFmpegSource`.\n\n## Function `ffprobe(input_file, *, doit=True, ffprobe_exe='ffprobe', quiet=False)`\n\nRun `ffprobe -print_format json` on `input_file`,\nreturn format, stream, program and chapter information\nas an `AttrableMapping` (a `dict` subclass).\n\n## Function `main_ffmpeg_docker(argv=None)`\n\nThe `ffm[peg-docker` command line implementation.\n\n## Class `MetaData(cs.tagset.TagSet)`\n\nObject containing fields which may be supplied to ffmpeg's -metadata option.\n\n*Method `MetaData.__init__(self, format, **kw)`*:\npylint: disable=redefined-builtin\n\n*Method `MetaData.options(self)`*:\nCompute the FFmpeg -metadata option strings and return as a list.\n\n# Release Log\n\n\n\n*Release 20240519*:\nffmpeg_docker: set DockerRun.output_hostdir from the output file dirname.\n\n*Release 20240316.1*:\nDISTINFO fix.\n\n*Release 20240316*:\nFixed release upload artifacts.\n\n*Release 20240201*:\n* New $FFMPEG_EXE envvar.\n* convert: use $FFMPEG_EXE, return the ffmpeg argv.\n* convert: include the media type in DEFAULT_CONVERSIONS, refactor the choice of codec conversion.\n* convert: supply dummy results if doit is false - could do with some finesse.\n* ffmpeg_docker: use DockerRun.{add_input,add_output}.\n* New main_ffmpeg_docker to support the ffmpeg-docker command, add ffmpeg-docker to DISTINFO scripts.\n\n*Release 20231202*:\nInitial PyPI release.\n\n",
    "bugtrack_url": null,
    "license": "GNU General Public License v3 or later (GPLv3+)",
    "summary": "Convenience facilities for using FFmpeg (ffmpeg.org), with invocation via `ffmpeg-python`.",
    "version": "20240519",
    "project_urls": {
        "URL": "https://bitbucket.org/cameron_simpson/css/commits/all"
    },
    "split_keywords": [
        "python3"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2a723b8e31e3e1ce02a610d4cc972dd49ae04b2bcdaf2e63093e0691a4bd4897",
                "md5": "80d923c470f9cdb98ff616a33df5a78c",
                "sha256": "8f320374330072ae9ed79f57245c0c2f028ef3b87d466151dc93911bc38e87cc"
            },
            "downloads": -1,
            "filename": "cs.ffmpegutils-20240519-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "80d923c470f9cdb98ff616a33df5a78c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 7549,
            "upload_time": "2024-05-19T02:32:35",
            "upload_time_iso_8601": "2024-05-19T02:32:35.743942Z",
            "url": "https://files.pythonhosted.org/packages/2a/72/3b8e31e3e1ce02a610d4cc972dd49ae04b2bcdaf2e63093e0691a4bd4897/cs.ffmpegutils-20240519-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1f939e9cf8260a7d3c5df382fdb7b477aab657fdd934a3b26d224aec35215e91",
                "md5": "23c1a3a58d59087ef91225160bd13da8",
                "sha256": "d70cb00f58e1e26e790029a57adde62e1677b67422d85bc41cd38cf2b5106e11"
            },
            "downloads": -1,
            "filename": "cs.ffmpegutils-20240519.tar.gz",
            "has_sig": false,
            "md5_digest": "23c1a3a58d59087ef91225160bd13da8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 6937,
            "upload_time": "2024-05-19T02:32:38",
            "upload_time_iso_8601": "2024-05-19T02:32:38.366220Z",
            "url": "https://files.pythonhosted.org/packages/1f/93/9e9cf8260a7d3c5df382fdb7b477aab657fdd934a3b26d224aec35215e91/cs.ffmpegutils-20240519.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-19 02:32:38",
    "github": false,
    "gitlab": false,
    "bitbucket": true,
    "codeberg": false,
    "bitbucket_user": "cameron_simpson",
    "bitbucket_project": "css",
    "lcname": "cs.ffmpegutils"
}
        
Elapsed time: 0.82543s