{"id":26784137,"url":"https://github.com/husen-hn/ffmpeg-android-binary","last_synced_at":"2025-03-29T10:17:57.374Z","repository":{"id":285064852,"uuid":"956540532","full_name":"husen-hn/ffmpeg-android-binary","owner":"husen-hn","description":"🎬 Android FFmpeg Builder - Automated FFmpeg shared library (.so) builder for Android. Supports multiple architectures, optimized configuration, and includes pre-built binaries.","archived":false,"fork":false,"pushed_at":"2025-03-29T08:54:36.000Z","size":12937,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-29T09:24:09.509Z","etag":null,"topics":["android","automation","build-script","ffmpeg","media-processing","ndk","shared-libraries","shell"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/husen-hn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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":"2025-03-28T12:30:38.000Z","updated_at":"2025-03-29T08:17:57.000Z","dependencies_parsed_at":"2025-03-29T09:34:22.079Z","dependency_job_id":null,"html_url":"https://github.com/husen-hn/ffmpeg-android-binary","commit_stats":null,"previous_names":["husen-hn/ffmpeg-android-binary"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/husen-hn%2Fffmpeg-android-binary","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/husen-hn%2Fffmpeg-android-binary/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/husen-hn%2Fffmpeg-android-binary/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/husen-hn%2Fffmpeg-android-binary/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/husen-hn","download_url":"https://codeload.github.com/husen-hn/ffmpeg-android-binary/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246168106,"owners_count":20734391,"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","automation","build-script","ffmpeg","media-processing","ndk","shared-libraries","shell"],"created_at":"2025-03-29T10:17:56.968Z","updated_at":"2025-03-29T10:17:57.348Z","avatar_url":"https://github.com/husen-hn.png","language":"Shell","readme":"# Android FFmpeg Builder\n\n🎬 Automated FFmpeg shared library and binary builder for Android. This script builds FFmpeg with full codec support and hardware acceleration for multiple Android architectures.\n\n[![License](https://img.shields.io/badge/License-LGPL-blue.svg)](LICENSE)\n[![FFmpeg Version](https://img.shields.io/badge/FFmpeg-7.1-red.svg)](https://ffmpeg.org/releases/ffmpeg-7.1.tar.bz2)\n[![GitHub last commit](https://img.shields.io/github/last-commit/husen-hn/ffmpeg-android-binary?label=Last%20Update)](https://github.com/husen-hn/ffmpeg-android-binary/commits/main)\n[![GitHub release (latest by date)](https://img.shields.io/github/v/release/husen-hn/ffmpeg-android-binary)](https://github.com/husen-hn/ffmpeg-android-binary/releases/latest)\n\n## 🚀 Features\n\n- FFmpeg 7.1 with full codec and format support\n- Supported architectures:\n  - arm64-v8a\n  - armeabi-v7a\n  - x86_64\n- Hardware acceleration enabled\n- MediaCodec support\n- NEON optimization\n- Network capabilities\n- All encoders and decoders\n- All muxers and demuxers\n- All protocols enabled\n- ffmpeg and ffprobe binaries included\n\n## 📋 Prerequisites\n\n### Required Tools\n\n- Android NDK\n- Build essentials (gcc, make)\n- YASM/NASM assembler\n- wget\n- pkg-config\n\nOn Ubuntu/Debian:\n\n```bash\nsudo apt-get update \u0026\u0026 sudo apt-get install -y \\\n    build-essential \\\n    gcc \\\n    make \\\n    yasm \\\n    nasm \\\n    pkg-config \\\n    wget\n```\n\nOn macOS:\n\n```bash\nbrew install automake yasm nasm pkg-config wget\n```\n\n### Android NDK Setup\n\n1. Download Android NDK from [Android's NDK page](https://developer.android.com/ndk/downloads)\n2. Extract it to a location (default: `/opt/android-ndk`)\n3. Update the `ANDROID_NDK_HOME` variable in the script if your NDK is installed elsewhere\n4. Ensure NDK toolchain is accessible\n\n## 🛠️ Usage\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/husen-hn/android-ffmpeg-builder.git\ncd android-ffmpeg-builder\n```\n\n2. Make the script executable:\n\n```bash\nchmod +x build_ffmpeg.sh\n```\n\n3. Run the script:\n\n```bash\n./build_ffmpeg.sh\n```\n\n## 📚 Output Structure\n\n```\nandroid/project_output/\n├── arm64-v8a/\n│   ├── bin/\n│   │   ├── ffmpeg\n│   │   └── ffprobe\n│   └── lib/\n│       ├── libavcodec.so\n│       ├── libavdevice.so\n│       ├── libavfilter.so\n│       ├── libavformat.so\n│       ├── libavutil.so\n│       ├── libpostproc.so\n│       ├── libswresample.so\n│       └── libswscale.so\n├── armeabi-v7a/\n├── x86_64/\n└── build_info.txt\n```\n\n## 🔧 Configurations\n\nThe script builds FFmpeg with these features:\n\n- Shared libraries enabled\n- Hardware acceleration\n- MediaCodec support\n- NEON optimization\n- Network support\n- All codecs and formats\n- Debug symbols stripped\n- Size-optimized binaries\n\n## 📦 Releases \u0026 Pre-built Binaries\n\n### Latest Release\n\n[![Latest Release](https://img.shields.io/github/v/release/husen-hn/ffmpeg-android-binary)](https://github.com/husen-hn/ffmpeg-android-binary/releases/latest)\n\nPre-built binaries are available in the [Releases](https://github.com/husen-hn/ffmpeg-android-binary/releases) section. Each release includes:\n\n- Built `.so` files for all supported architectures (arm64-v8a, armeabi-v7a, x86_64)\n- ffmpeg and ffprobe binaries\n- Build information and checksums\n- Source code archive\n\n## 🔄 Updating FFmpeg Version\n\n1. Update the version in `build_ffmpeg.sh`:\n\n```bash\n# Change this line\nFFMPEG_VERSION=\"7.1\"\n```\n\n2. Download the new FFmpeg source:\n\n```bash\nwget https://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.bz2\n```\n\n3. Clean old build files:\n\n```bash\nrm -rf ffmpeg-*\nrm -rf android/project_output/*\n```\n\n4. Run the build script:\n\n```bah\n./build_ffmpeg.sh\n```\n\n## 📜 License\n\nThis project is licensed under the GNU Lesser General Public Version 3 License - see the [LICENSE](./LICENSE) file for details.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhusen-hn%2Fffmpeg-android-binary","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhusen-hn%2Fffmpeg-android-binary","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhusen-hn%2Fffmpeg-android-binary/lists"}