{"id":13908284,"url":"https://github.com/SimformSolutionsPvtLtd/SSffmpegVideoOperation","last_synced_at":"2025-07-18T07:30:49.263Z","repository":{"id":37449171,"uuid":"325743092","full_name":"SimformSolutionsPvtLtd/SSffmpegVideoOperation","owner":"SimformSolutionsPvtLtd","description":"This is a library of FFmpeg for android... 📸  🎞  🚑 ","archived":false,"fork":false,"pushed_at":"2023-08-28T04:54:26.000Z","size":128031,"stargazers_count":365,"open_issues_count":26,"forks_count":87,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-06-13T23:35:43.167Z","etag":null,"topics":["android","compression","ffmpeg","ffmpeg-android","frame","gif","image","image-processing","kotlin","kotlin-android","kotlin-library","mp3-converter","mp4","mpeg","multimedia","photos","video","video-processing","video-streaming"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SimformSolutionsPvtLtd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-31T07:31:55.000Z","updated_at":"2025-06-01T19:13:02.000Z","dependencies_parsed_at":"2024-11-25T17:32:58.475Z","dependency_job_id":"949a1616-583d-4889-a814-8793aaf9b01c","html_url":"https://github.com/SimformSolutionsPvtLtd/SSffmpegVideoOperation","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/SimformSolutionsPvtLtd/SSffmpegVideoOperation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimformSolutionsPvtLtd%2FSSffmpegVideoOperation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimformSolutionsPvtLtd%2FSSffmpegVideoOperation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimformSolutionsPvtLtd%2FSSffmpegVideoOperation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimformSolutionsPvtLtd%2FSSffmpegVideoOperation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SimformSolutionsPvtLtd","download_url":"https://codeload.github.com/SimformSolutionsPvtLtd/SSffmpegVideoOperation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimformSolutionsPvtLtd%2FSSffmpegVideoOperation/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265720429,"owners_count":23817237,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","compression","ffmpeg","ffmpeg-android","frame","gif","image","image-processing","kotlin","kotlin-android","kotlin-library","mp3-converter","mp4","mpeg","multimedia","photos","video","video-processing","video-streaming"],"created_at":"2024-08-06T23:02:36.513Z","updated_at":"2025-07-18T07:30:48.891Z","avatar_url":"https://github.com/SimformSolutionsPvtLtd.png","language":"Kotlin","funding_links":[],"categories":["HarmonyOS","Android"],"sub_categories":["Windows Manager","Kotlin"],"readme":"# FFMPEG video operations\n\n[![Kotlin Version](https://img.shields.io/badge/Kotlin-1.7.0-blue.svg)](https://kotlinlang.org) \n[![Platform](https://img.shields.io/badge/Platform-Android-green.svg?style=flat)](https://www.android.com/) \n[![API](https://img.shields.io/badge/API-24%2B-brightgreen.svg?style=flat)](https://android-arsenal.com/api?level=19) [![Android Arsenal]( https://img.shields.io/badge/Android%20Arsenal-SSffmpegVideoOperation-green.svg?style=flat )]( https://android-arsenal.com/details/1/8250 )\n\n\nFFmpeg compiled for Android.\nExecute FFmpeg commands with ease in your Android app.\n\nGetting Started\n------------------------\nThis project is provide in-build FFmpeg operation queries:\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"https://user-images.githubusercontent.com/16113993/111145681-86f5ee00-85ae-11eb-9057-c54955819459.png\" width=270 height=480\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"https://user-images.githubusercontent.com/16113993/111145695-8a897500-85ae-11eb-9c92-625865c0bfd4.png\" width=270 height=480\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"https://user-images.githubusercontent.com/16113993/111145578-6cbc1000-85ae-11eb-90a6-3550842db092.gif\" width=270 height=480\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n#### Video operation ffmpeg queries like\n- Cut video using time\n- Convert image to video\n- Add water mark on video\n- Add text on video\n- Combine image image and video\n- Combine images\n- Combine videos\n- Compress a video\n- Extract frames from video\n- Fast/Slow motion video\n- Reverse video\n- video fade in / fade out\n- Compress video to GIF\n- Rotate and Flip video (Mirroring)\n- Remove audio from video\n- Update aspect ratio of video\n#### Other extra operation FFmpeg queries like\n- Merge GIFs\n- Merge Audios\n- Update audio volume\n- Fast/Slow audio\n- Crop audio using time\n- Compress Audio\n\n### Architectures\nFFmpeg Android runs on the following architectures:\n- arm-v7a, arm-v7a-neon, arm64-v8a, x86 and x86_64\n\n### Features\n- Enabled network capabilities\n- Multi-threading\n- Supports zlib and Media-codec system libraries\n- Camera access on supported devices\n- Supports API Level 24+\n\n### Support target sdk\n- 30\n\n### Dependency\n- [MobileFFmpeg](https://github.com/tanersener/mobile-ffmpeg)\n\n### Gradle Dependency\n* Add it in your root build.gradle at the end of repositories:\n\n\t```\n\tallprojects {\n\t    repositories {\n\t\t...\n\t\tmaven { url 'https://jitpack.io' }\n\t    }\n\t}\n\t```\n\n* Add the dependency in your app's build.gradle file\n\n\t```\n\tdependencies {\n\t\timplementation 'com.github.SimformSolutionsPvtLtd:SSffmpegVideoOperation:1.0.8'\n\t}\n\t```\n\nThis is all you have to do to load the FFmpeg library.\n\n### Run FFmpeg command\nIn this sample code we will run the FFmpeg -version command in background call.\n```java\n  val query:Array\u003cString\u003e = \"-i, input,....,...., outout\"\n        CallBackOfQuery().callQuery(query, object : FFmpegCallBack {\n            override fun statisticsProcess(statistics: Statistics) {\n                Log.i(\"FFMPEG LOG : \", statistics.videoFrameNumber)\n            }\n\n            override fun process(logMessage: LogMessage) {\n                Log.i(\"FFMPEG LOG : \", logMessage.text)\n            }\n\n            override fun success() {\n            }\n\n            override fun cancel() {\n            }\n\n            override fun failed() {\n            }\n        })\n```\n\n\n\n#### In-build query example\n```java\nval startTimeString = \"00:01:00\" (HH:MM:SS)\nval endTimeString = \"00:02:00\" (HH:MM:SS)\nval query:Array\u003cString\u003e = FFmpegQueryExtension().cutVideo(inputPath, startTimeString, endTimeString, outputPath)\nCallBackOfQuery().callQuery(query, object : FFmpegCallBack {\n            override fun statisticsProcess(statistics: Statistics) {\n                Log.i(\"FFMPEG LOG : \", statistics.videoFrameNumber)\n            }\n\n            override fun process(logMessage: LogMessage) {\n                Log.i(\"FFMPEG LOG : \", logMessage.text)\n            }\n\n            override fun success() {\n                //Output = outputPath\n            }\n\n            override fun cancel() {\n            }\n\n            override fun failed() {\n            }\n        })\n```\nsame for other queries.\nAnd you can apply your query also\n\n## Medium Blog\nFor more info go to __[Multimedia Operations for Android using FFmpeg](https://medium.com/simform-engineering/multimedia-operations-for-android-using-ffmpeg-78f1fb480a83)__\n\n## Find this library useful? :heart:\nSupport it by joining __[stargazers](https://github.com/SimformSolutionsPvtLtd/ffmpeg_video_operation/stargazers)__ for this repository. :star:\n\n## Awesome Mobile Libraries\n- Check out our other available [awesome mobile libraries](https://github.com/SimformSolutionsPvtLtd/Awesome-Mobile-Libraries)\n\n## License\n\n```\nCopyright 2021 Simform Solutions\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSimformSolutionsPvtLtd%2FSSffmpegVideoOperation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSimformSolutionsPvtLtd%2FSSffmpegVideoOperation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSimformSolutionsPvtLtd%2FSSffmpegVideoOperation/lists"}