{
"info": {
"author": "Sam Lavigne",
"author_email": "lavigne@saaaam.com",
"bugtrack_url": null,
"classifiers": [],
"description": "VidPy\n=====\n\n.. image:: https://api.travis-ci.org/antiboredom/vidpy.svg\n :target: https://travis-ci.org/antiboredom/vidpy\n\nA Python video editor and compositor based on the `MLT Multimedia\nFramework `__.\n\nVidPy is currently in alpha - there are probably a bunch of bugs, and\nthe api will likely change. If you're interested in testing it out,\nplease do, and leave comments/suggestions/issues in the `issue\ntracker `__.\n\nRead the full documentation here: https://antiboredom.github.io/vidpy\n\nInstallation/Dependencies\n-------------------------\n\nVidPy requires melt, which can be tricky to properly install on Mac and\nWindows. The easiest option is to install Shotcut (an open source video\neditor) which comes with a prebuilt melt binary.\n\nMac/Windows\n~~~~~~~~~~~\n\n1. `Install Shotcut `__ (on a mac with brew: ``brew cask install shotcut``\n2. Install VidPy with: ``pip install vidpy``\n\nUbuntu/Debian\n~~~~~~~~~~~~~\n\n1. Install melt: ``sudo apt-get install melt``\n2. Install VidPy: ``pip install vidpy``\n\nSetup\n-----\n\nVidPy will attempt to locate the melt binary, searching first for a\nShotcut installation on Mac/Windows. You can also point VidPy to a\nspecific binary like so:\n\n.. code:: python\n\n from vidpy import config\n config.MELT_BINARY = '/path/to/melt'\n\nOverview\n--------\n\nUse the ``Clip`` class to create and manipulate video clips, and the\n``Composition`` class to put clips together.\n\n``Composition()`` takes a list of clips as input, and then allows you to\nsave an output video with ``save()``, or to preview with ``preview()``.\n\nBy default a composition will treat each clip as a separate track,\nplaying them all at the same time.\n\n.. code:: python\n\n from vidpy import Clip, Composition\n\n clip1 = Clip('video.mp4')\n clip2 = Clip('anothervideo.mp4')\n\n # play videos on top of each other\n composition = Composition([clip1, clip2])\n composition.save('output.mp4')\n\nYou can tell clips when to start playing with the ``offset`` parameter,\nor with ``set_offset()`` after instantiation. All time is in seconds.\n\n.. code:: python\n\n # start playing clip one after 1.5 seconds\n clip1 = Clip('video.mp4', offset=1.5)\n\n clip2 = Clip('anothervideo.mp4')\n clip2.set_offset(5) # start clip2 after 5 seconds\n\n composition = Composition([clip1, clip2])\n composition.save('output.mp4')\n\nTrim clips with ``start`` and ``end`` parameters, or with the ``cut``\nmethod.\n\n.. code:: python\n\n # only use the first second of the clip\n clip1 = Clip('video.mp4', start=0, end=1)\n\n clip2 = Clip('anothervideo.mp4')\n clip2.cut(start=2, end=4) # use clip2 from 2 to 4 seconds\n\nYou can also play clips one after the other (instead of all at the same\ntime) by adding ``singletrack=True`` as a parameter to your composition.\n\n.. code:: python\n\n composition = Composition([clip1, clip2], singletrack=True)\n composition.save('output.mp4')\n\n``Composition`` also allows you to set dimensions, fps, and background\ncolor.\n\n.. code:: python\n\n # create a 1280x720 composition at 30 fps with a red background\n composition = Composition(clips, bgcolor=\"#ff0000\", width=1280, height=720, fps=30)\n\n # preview it\n composition.preview()\n\nFinally, you can convert compositions to clips to reuse.\n\n.. code:: python\n\n comp = Composition([clip1, clip2, clip3], singletrack=True)\n clip = Clip(comp)\n\n # do stuff with the entire composition\n clip.cut(0, 1)\n\nFilters & Effects\n-----------------\n\nThere are a number of effects built into VidPy:\n\n.. code:: python\n\n clip.fadein(1) # fade the clip in over 1 second\n clip.fadeout(0.5) # fade the clip over 0.5 seconds\n clip.glow() # add a glow effect\n clip.spin(2) # make the clip spin around. (Why would you do this? I don't know!)\n clip.chroma() # attempt to automatically remove the background color\n clip.volume(0) # mute a video\n\n # set clip's position \n clip.position(x=100, y=20)\n\n # resize a clip\n clip.position(w='50%', h='20%'')\n\n # start the clip scaled to 200% at coordinates (0, 0)\n # then move it to (200, 200) and scale it to 90% over 5 seconds\n clip.zoompan([0, 0, '200%', '200%'], [200, 200, '90%', '90%'], start=0, end=5)\n\nFor a full list see the filters documentation: (link to come)\n\nYou can also use `any filter supported by\nmlt `__ with the\n``fx`` method. The first parameter should be the name of the filter, and\nthe second a dictionary of options.\n\nFor example, to add a `cartoon\neffect `__:\n\n.. code:: python\n\n # use the full filter name as the first parameter\n # and then a dictionary of options, based on the mlt documentation\n clip.fx('frei0r.cartoon', {'0': 0.999})\n\nOr, `play with\ncolors `__:\n\n.. code:: python\n\n clip.fx('avfilter.colorchannelmixer', {'av.rr': 2, 'av.br': 2})\n\nRemember to look at the mlt docs to figure out what parameters to pass\nin.\n\nText\n----\n\nUse the ``Text`` class to add text clips\n\n.. code:: python\n\n from vidpy import Text\n\n text_clip = Text(\"A spectre is haunting Europe.\", font=\"Comic Sans Ms\", size=100, color=\"#ff0000\")\n\nSome optional parameters for text clips are:\n\n``font`` any font name on your system\n\n``color`` color of text\n\n``weight`` between 100 and 1000\n\n``style`` normal or italic\n\n``olcolor`` outline color\n\n``outline`` outline size\n\n``halign`` horizontal alignment (left, center, right)\n\n``valign`` vertical alignment (top, middle, bottom)\n\n``bbox`` a bounding box to put the text in (x, y, width, height)\n\nCredits\n-------\n\nVidPy is by `Sam Lavigne `__, and draws heavily from\n`MoviePy by Zulko `__.\n",
"description_content_type": null,
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://antiboredom.github.io/vidpy",
"keywords": "",
"license": "MIT",
"maintainer": "",
"maintainer_email": "",
"name": "vidpy",
"package_url": "https://pypi.org/project/vidpy/",
"platform": "",
"project_url": "https://pypi.org/project/vidpy/",
"project_urls": {
"Homepage": "https://antiboredom.github.io/vidpy"
},
"release_url": "https://pypi.org/project/vidpy/0.1.9/",
"requires_dist": null,
"requires_python": "",
"summary": "Video editing and compositing in Python",
"version": "0.1.9"
},
"last_serial": 3350416,
"releases": {
"0.1.0": [
{
"comment_text": "",
"digests": {
"md5": "c86829a41a790ab247f6d3bdc483f9c5",
"sha256": "0bbbb34958be50acb9c9b7fd19711f0d50ba5408f8e39810f759aaa4f43e0e9a"
},
"downloads": -1,
"filename": "vidpy-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "c86829a41a790ab247f6d3bdc483f9c5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3814,
"upload_time": "2017-11-06T21:36:46",
"url": "https://files.pythonhosted.org/packages/ff/9b/6b7a82cc683655aca33e1534e304e86c7c8ae38f87907d769d26db43d482/vidpy-0.1.0.tar.gz"
}
],
"0.1.1": [
{
"comment_text": "",
"digests": {
"md5": "8e9ef1f1c6a7268d4bf79b9d588b29c2",
"sha256": "8031cefe7ff7369829769bf700753c8e03798e4653724cd4aa3dad6ed4b6ff47"
},
"downloads": -1,
"filename": "vidpy-0.1.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "8e9ef1f1c6a7268d4bf79b9d588b29c2",
"packagetype": "bdist_wheel",
"python_version": "3.6",
"requires_python": null,
"size": 18634,
"upload_time": "2017-11-06T21:41:14",
"url": "https://files.pythonhosted.org/packages/fe/50/41e3996343f8815eacaa814c4a650c8d93f1c6cea4af1b480f780a897ce9/vidpy-0.1.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "e7dde3fcffb53b093366887c1cbba9c9",
"sha256": "09b7eeb3950431acc8bd165dc8c0bd739ba5d3fd169c9238618c24fafce8df93"
},
"downloads": -1,
"filename": "vidpy-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "e7dde3fcffb53b093366887c1cbba9c9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 15970,
"upload_time": "2017-11-06T21:39:41",
"url": "https://files.pythonhosted.org/packages/dd/07/d5fd3585c9d454d8abba815f89363503b3966ea9258a223b31bb06215669/vidpy-0.1.1.tar.gz"
}
],
"0.1.2": [
{
"comment_text": "",
"digests": {
"md5": "c3c4d3d28e388333b92ae48ce4864a9d",
"sha256": "08e9c2f300b8aa0f36ea2d7e50c3b6f839a6bae165325460a30f4a9ef45f8a7e"
},
"downloads": -1,
"filename": "vidpy-0.1.2-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "c3c4d3d28e388333b92ae48ce4864a9d",
"packagetype": "bdist_wheel",
"python_version": "3.6",
"requires_python": null,
"size": 26383,
"upload_time": "2017-11-06T21:48:06",
"url": "https://files.pythonhosted.org/packages/3e/d1/245f964bd71a877ea38e7ce9b1805df75a53a0b2c54d3123d24b577e5ac0/vidpy-0.1.2-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "2ff275e9ef98b1275727b7d0c4e3fd6a",
"sha256": "2a701a16f83862e18157cc9b52b9059261811db766979f0c0684025e9b2ea71d"
},
"downloads": -1,
"filename": "vidpy-0.1.2.tar.gz",
"has_sig": false,
"md5_digest": "2ff275e9ef98b1275727b7d0c4e3fd6a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 23350,
"upload_time": "2017-11-06T21:48:01",
"url": "https://files.pythonhosted.org/packages/db/2b/5b1427243fc21fc72199d1c12cc40038e3bc852d8f3b90f8524954940389/vidpy-0.1.2.tar.gz"
}
],
"0.1.3": [
{
"comment_text": "",
"digests": {
"md5": "d51cc21653f6279edbfec16f08afafc0",
"sha256": "722ec1e9b3c1130f1c30bd5063a95754da27d5b02852c56bde471856a57851a7"
},
"downloads": -1,
"filename": "vidpy-0.1.3-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "d51cc21653f6279edbfec16f08afafc0",
"packagetype": "bdist_wheel",
"python_version": "3.6",
"requires_python": null,
"size": 26780,
"upload_time": "2017-11-07T08:33:49",
"url": "https://files.pythonhosted.org/packages/1e/34/11320afefeefac664c49132135913a29caffb30cb8b9842898fd096fb1e9/vidpy-0.1.3-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "0f7311ea8f2d68d098c0807e75f7fadd",
"sha256": "feee4aa8f188e504b32dda49fd3f6ea7fca177511a6f0d08fef630552cf66dc2"
},
"downloads": -1,
"filename": "vidpy-0.1.3.tar.gz",
"has_sig": false,
"md5_digest": "0f7311ea8f2d68d098c0807e75f7fadd",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 23950,
"upload_time": "2017-11-07T08:31:42",
"url": "https://files.pythonhosted.org/packages/11/08/797a862d9fb4270160b7e2479a3f9679c52079d3090c8c8439e0a940ecb6/vidpy-0.1.3.tar.gz"
}
],
"0.1.4": [
{
"comment_text": "",
"digests": {
"md5": "ef9d3d5290c697f296ca406ad1cc17bd",
"sha256": "f01b56fdbe0c89f140e3fbc01e25269a4b018e6840441ecdd115ce393ff12008"
},
"downloads": -1,
"filename": "vidpy-0.1.4-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "ef9d3d5290c697f296ca406ad1cc17bd",
"packagetype": "bdist_wheel",
"python_version": "3.6",
"requires_python": null,
"size": 26905,
"upload_time": "2017-11-07T08:44:29",
"url": "https://files.pythonhosted.org/packages/33/9a/c2f29e747a0e62eab83a7ba310af13fe0788ccbb90a206c6b2b7e7f914eb/vidpy-0.1.4-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "dcec1fb85ff3778c38f574c48a3d35ac",
"sha256": "faedd2f214969cf51990adc2818f9aef6c2d6e0fb7f19905e62c9a3e2fc4bda3"
},
"downloads": -1,
"filename": "vidpy-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "dcec1fb85ff3778c38f574c48a3d35ac",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 24190,
"upload_time": "2017-11-07T08:44:23",
"url": "https://files.pythonhosted.org/packages/49/78/db817a3232f1a3500616ddddddb92567006888ca4f4b3dc285290f19d69e/vidpy-0.1.4.tar.gz"
}
],
"0.1.5": [
{
"comment_text": "",
"digests": {
"md5": "d635f6d2275ba0497af7756d8dcfe7e7",
"sha256": "f8dade5fe6d3a65c11c368b5a9fc003594a46ced4a22563800a9f676d258e66d"
},
"downloads": -1,
"filename": "vidpy-0.1.5-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "d635f6d2275ba0497af7756d8dcfe7e7",
"packagetype": "bdist_wheel",
"python_version": "3.6",
"requires_python": null,
"size": 29306,
"upload_time": "2017-11-08T19:48:07",
"url": "https://files.pythonhosted.org/packages/e1/e1/65430a810eaddcb500c14d698cea414e22087322ca17f4f511098fbf5a82/vidpy-0.1.5-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "5711a578d40fa526350ebb5ed0358e86",
"sha256": "01e199c4be36c59a9264003f299ff3c61f60d61d617fccbae032b4715cd56555"
},
"downloads": -1,
"filename": "vidpy-0.1.5.tar.gz",
"has_sig": false,
"md5_digest": "5711a578d40fa526350ebb5ed0358e86",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 25779,
"upload_time": "2017-11-08T19:48:05",
"url": "https://files.pythonhosted.org/packages/19/86/ebe4b4b5715676f5a55d003f6f685367181e67688d8fbf8301cc35c2b615/vidpy-0.1.5.tar.gz"
}
],
"0.1.6": [
{
"comment_text": "",
"digests": {
"md5": "179462fe780e4a16355188dde1a2f974",
"sha256": "2831644d2e9c07d4c53d15f8bc1e37442f72494c8a77b884cb9d2cf2e38b3389"
},
"downloads": -1,
"filename": "vidpy-0.1.6-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "179462fe780e4a16355188dde1a2f974",
"packagetype": "bdist_wheel",
"python_version": "3.6",
"requires_python": null,
"size": 31049,
"upload_time": "2017-11-13T01:38:48",
"url": "https://files.pythonhosted.org/packages/5c/7b/4636ddc6878a9401d931b309c5d04b4cda87da534744768c9a7b0c8ecddc/vidpy-0.1.6-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "1c673d6aee74b7b3a4e82044e97ac754",
"sha256": "c804ae3d7815a486c171092895bb7326e39746060558bb3defff248c850b7d54"
},
"downloads": -1,
"filename": "vidpy-0.1.6.tar.gz",
"has_sig": false,
"md5_digest": "1c673d6aee74b7b3a4e82044e97ac754",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 26846,
"upload_time": "2017-11-13T01:38:47",
"url": "https://files.pythonhosted.org/packages/f5/42/ebb76f8235ef1e0c8a24e84bdb721bf6a82092dea0a24b2b46dda6d274bc/vidpy-0.1.6.tar.gz"
}
],
"0.1.7": [
{
"comment_text": "",
"digests": {
"md5": "fcba0bd36a8003092af4dd41d093337c",
"sha256": "08e0ced262c2bfec9e50a4abf3d23a5c06618d526d3f180d3afeda8b1d6d8c88"
},
"downloads": -1,
"filename": "vidpy-0.1.7-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "fcba0bd36a8003092af4dd41d093337c",
"packagetype": "bdist_wheel",
"python_version": "3.6",
"requires_python": null,
"size": 31411,
"upload_time": "2017-11-13T23:17:06",
"url": "https://files.pythonhosted.org/packages/e1/94/fba93820efbeefff70920f0ef72ddc9cdad1a7d7cd6d7333fd587bde2191/vidpy-0.1.7-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "2a179b79afa18397821bd11fdcd1d919",
"sha256": "f55773dc4cb70200f3d50078b9b986316cb83b880a093f8d136b49814ef25f77"
},
"downloads": -1,
"filename": "vidpy-0.1.7.tar.gz",
"has_sig": false,
"md5_digest": "2a179b79afa18397821bd11fdcd1d919",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 27131,
"upload_time": "2017-11-13T23:17:04",
"url": "https://files.pythonhosted.org/packages/92/61/d4e2bd1e74c75b8fa1a33617c07494413b0cbc44ca417ed5f23fb18a6db8/vidpy-0.1.7.tar.gz"
}
],
"0.1.8": [
{
"comment_text": "",
"digests": {
"md5": "5c7f48b0cea13d0cc1c49faa81b5f8c3",
"sha256": "03e13f689c2d7752a59d6698823b608a51ad0b07b333f1e96895985419d29093"
},
"downloads": -1,
"filename": "vidpy-0.1.8-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "5c7f48b0cea13d0cc1c49faa81b5f8c3",
"packagetype": "bdist_wheel",
"python_version": "3.6",
"requires_python": null,
"size": 33839,
"upload_time": "2017-11-14T23:13:58",
"url": "https://files.pythonhosted.org/packages/47/aa/bf7954459abdc621bb02df0a72d7e25846234374a70dc2477783f561302f/vidpy-0.1.8-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "55ffb530764e2a5e839037a583738e5e",
"sha256": "cec6dc6723135ca027692e21c70ca4c80b3a09b4b067c4cd5fc3468aa4be7507"
},
"downloads": -1,
"filename": "vidpy-0.1.8.tar.gz",
"has_sig": false,
"md5_digest": "55ffb530764e2a5e839037a583738e5e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 29760,
"upload_time": "2017-11-14T23:13:55",
"url": "https://files.pythonhosted.org/packages/2a/b1/aacc0d2546564f5666b0693ec0f997e607e7b59f8f3c9a737d254a771366/vidpy-0.1.8.tar.gz"
}
],
"0.1.9": [
{
"comment_text": "",
"digests": {
"md5": "fd1378dc6ee7665664879d0f79eadbcc",
"sha256": "397fc55b31b4ebf55e2cb6a0569996d5e2d1aa294840a0f47f6f2f7f1e059153"
},
"downloads": -1,
"filename": "vidpy-0.1.9-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "fd1378dc6ee7665664879d0f79eadbcc",
"packagetype": "bdist_wheel",
"python_version": "3.6",
"requires_python": null,
"size": 33930,
"upload_time": "2017-11-20T22:22:19",
"url": "https://files.pythonhosted.org/packages/a2/3b/d394da368bf60a789b44f4eeea8de52f59eac854a9f4ae61932debb5b924/vidpy-0.1.9-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "6ea6d4cec11c9fb4d8469c3b21e322cc",
"sha256": "41c454ea9f31bdc53b1931b3b0498ad2c0e25fba376b100007f61a9ec97b418a"
},
"downloads": -1,
"filename": "vidpy-0.1.9.tar.gz",
"has_sig": false,
"md5_digest": "6ea6d4cec11c9fb4d8469c3b21e322cc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 29873,
"upload_time": "2017-11-20T22:22:17",
"url": "https://files.pythonhosted.org/packages/a8/a4/d94faafaabb5873f8970dfb849c24b3ffffb11b77826dbe6787e11072ed7/vidpy-0.1.9.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "fd1378dc6ee7665664879d0f79eadbcc",
"sha256": "397fc55b31b4ebf55e2cb6a0569996d5e2d1aa294840a0f47f6f2f7f1e059153"
},
"downloads": -1,
"filename": "vidpy-0.1.9-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "fd1378dc6ee7665664879d0f79eadbcc",
"packagetype": "bdist_wheel",
"python_version": "3.6",
"requires_python": null,
"size": 33930,
"upload_time": "2017-11-20T22:22:19",
"url": "https://files.pythonhosted.org/packages/a2/3b/d394da368bf60a789b44f4eeea8de52f59eac854a9f4ae61932debb5b924/vidpy-0.1.9-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "6ea6d4cec11c9fb4d8469c3b21e322cc",
"sha256": "41c454ea9f31bdc53b1931b3b0498ad2c0e25fba376b100007f61a9ec97b418a"
},
"downloads": -1,
"filename": "vidpy-0.1.9.tar.gz",
"has_sig": false,
"md5_digest": "6ea6d4cec11c9fb4d8469c3b21e322cc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 29873,
"upload_time": "2017-11-20T22:22:17",
"url": "https://files.pythonhosted.org/packages/a8/a4/d94faafaabb5873f8970dfb849c24b3ffffb11b77826dbe6787e11072ed7/vidpy-0.1.9.tar.gz"
}
]
}