joker-studio
============
CLI tools for media file editing, wrapping FFmpeg and others
Install with `pip` (add `sudo` if necessary):
python3 -m pip install joker-studio
### Crop
Example:
dio crop -c 0 0 .1 .2 -t 120 60 myvideo.mp4
This command will
* remove the leading 2 minutes and trailing 1 minute
* crop 10% at bottom and 20% on the left
* save result as `myvideo.crop.mp4` (original `myvideo.mp4` untouched)
### Convert
Convert multiple `.ts` videos to `.mp4`:
dio conv video1.ts video2.ts
Extract audio from video as `.mp3`:
dio conv -f mp3 -f myvideo.mp4
### Split
Split a video into 4 segments of equal duration:
dio split -n 4 myvideo.mp4
Split into segments, each (but the last one) of duration 5 minutes (300 seconds):
dio split -s 300 myvideo.mp4
### Fade
Add 10 sec audio fade-in, 6 sec video fade-in, 4 sec video fade-out
dio fade -a 10 0 -v 6 4 myvideo.mp4
### Burn subtitle
This command generates a video with hard subtitle named `myvideo.wSub.mp4`
dio sub -s myvideo.english.srt myvideo.mp4
--------------------------------------------------------------
### Rename files
Remove all "unsafe" characters on Unix-like systems, i.e. characters you should quote in shell scripts,
and invalid characters on Microsoft Windows:
dio ren -f san *.jpg
Rename `waterlife.jpg` to `img-800x600.waterlife.jpg`:
dio ren -f img waterlife.jpg
Rename `lightning.jpg` to `ih-F8F07B7F3F0E0E0F.lightning.jpg`, where `F8F07B7F3F0E0E0F` is an [imagehash](https://github.com/JohannesBuchner/imagehash)
dio ren -f ih lightning.jpg
Remove preset prefixes:
dio ren -fn -c *.jpg
More info:
dio ren -h
Raw data
{
"_id": null,
"home_page": "https://github.com/frozflame/joker-studio",
"name": "joker-studio",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "anonym",
"author_email": "anonym@example.com",
"download_url": "https://files.pythonhosted.org/packages/e9/b7/046a2c94ee33d9958770d70bd848e68880c24a7e202a5a9a24e466c5605e/joker-studio-0.2.1.tar.gz",
"platform": null,
"description": "joker-studio\n============\n\nCLI tools for media file editing, wrapping FFmpeg and others\n\nInstall with `pip` (add `sudo` if necessary):\n\n python3 -m pip install joker-studio\n\n\n### Crop\n\nExample:\n\n dio crop -c 0 0 .1 .2 -t 120 60 myvideo.mp4\n\nThis command will\n* remove the leading 2 minutes and trailing 1 minute\n* crop 10% at bottom and 20% on the left\n* save result as `myvideo.crop.mp4` (original `myvideo.mp4` untouched)\n\n\n### Convert\n\nConvert multiple `.ts` videos to `.mp4`:\n\n dio conv video1.ts video2.ts\n\nExtract audio from video as `.mp3`:\n\n dio conv -f mp3 -f myvideo.mp4\n\n\n### Split\n\nSplit a video into 4 segments of equal duration:\n\n dio split -n 4 myvideo.mp4\n\nSplit into segments, each (but the last one) of duration 5 minutes (300 seconds):\n\n dio split -s 300 myvideo.mp4\n \n \n### Fade \n\nAdd 10 sec audio fade-in, 6 sec video fade-in, 4 sec video fade-out\n\n dio fade -a 10 0 -v 6 4 myvideo.mp4\n\n\n### Burn subtitle\n\nThis command generates a video with hard subtitle named `myvideo.wSub.mp4`\n\n dio sub -s myvideo.english.srt myvideo.mp4\n \n \n--------------------------------------------------------------\n\n\n### Rename files\n\nRemove all \"unsafe\" characters on Unix-like systems, i.e. characters you should quote in shell scripts,\nand invalid characters on Microsoft Windows:\n\n dio ren -f san *.jpg\n \nRename `waterlife.jpg` to `img-800x600.waterlife.jpg`:\n\n dio ren -f img waterlife.jpg\n\n Rename `lightning.jpg` to `ih-F8F07B7F3F0E0E0F.lightning.jpg`, where `F8F07B7F3F0E0E0F` is an [imagehash](https://github.com/JohannesBuchner/imagehash)\n\n dio ren -f ih lightning.jpg\n \nRemove preset prefixes:\n\n dio ren -fn -c *.jpg \n \nMore info:\n \n dio ren -h \n",
"bugtrack_url": null,
"license": "GNU General Public License (GPL)",
"summary": "CLI tools for media file editing, wrapping FFmpeg and others",
"version": "0.2.1",
"project_urls": {
"Homepage": "https://github.com/frozflame/joker-studio"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e9b7046a2c94ee33d9958770d70bd848e68880c24a7e202a5a9a24e466c5605e",
"md5": "e84e3314f8b1aa47c3886b164536e48d",
"sha256": "e01cf27fd34dbbf6848e5ad13899d93d269827d13afc08623ea172e2cb6bd27f"
},
"downloads": -1,
"filename": "joker-studio-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "e84e3314f8b1aa47c3886b164536e48d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 19649,
"upload_time": "2025-02-19T12:05:30",
"upload_time_iso_8601": "2025-02-19T12:05:30.643159Z",
"url": "https://files.pythonhosted.org/packages/e9/b7/046a2c94ee33d9958770d70bd848e68880c24a7e202a5a9a24e466c5605e/joker-studio-0.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-19 12:05:30",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "frozflame",
"github_project": "joker-studio",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "imagehash",
"specs": [
[
"~=",
"4.3.1"
]
]
},
{
"name": "joker-cast",
"specs": [
[
"~=",
"0.5.2"
]
]
},
{
"name": "joker-stream",
"specs": [
[
"~=",
"0.5.0"
]
]
},
{
"name": "joker-textmanip",
"specs": []
},
{
"name": "joker",
"specs": [
[
"~=",
"0.3.3"
]
]
},
{
"name": "numpy",
"specs": [
[
"~=",
"2.2.1"
]
]
},
{
"name": "pillow",
"specs": [
[
"~=",
"11.0.0"
]
]
},
{
"name": "pymediainfo",
"specs": [
[
"~=",
"1.0"
]
]
},
{
"name": "scipy",
"specs": [
[
"~=",
"1.14.1"
]
]
},
{
"name": "volkanic",
"specs": [
[
"~=",
"0.5.3"
]
]
}
],
"lcname": "joker-studio"
}