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"
}