{"id":16646267,"url":"https://github.com/xaionaro/ffmpeg","last_synced_at":"2026-04-13T20:32:23.711Z","repository":{"id":241637003,"uuid":"806777688","full_name":"xaionaro/ffmpeg","owner":"xaionaro","description":"Fork of ffmpeg with support of dynamic/on-fly changing of video bitrate in MediaCodec (Android)","archived":false,"fork":false,"pushed_at":"2025-11-09T19:06:14.000Z","size":398323,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"feature/mediacodec_dynamic_bitrate","last_synced_at":"2025-11-17T14:42:01.179Z","etag":null,"topics":["android","bit-rate","bitrate","change","dynamic","dynamically","ffmpeg","h264","h265","hevc","mediacodec","on-fly","streaming","variable"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xaionaro.png","metadata":{"files":{"readme":"README.md","changelog":"Changelog","contributing":"CONTRIBUTING.md","funding":null,"license":"COPYING.GPLv2","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,"zenodo":null}},"created_at":"2024-05-27T22:09:26.000Z","updated_at":"2024-06-17T13:55:07.000Z","dependencies_parsed_at":"2025-07-15T09:45:06.881Z","dependency_job_id":null,"html_url":"https://github.com/xaionaro/ffmpeg","commit_stats":null,"previous_names":["xaionaro/ffmpeg"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/xaionaro/ffmpeg","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xaionaro%2Fffmpeg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xaionaro%2Fffmpeg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xaionaro%2Fffmpeg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xaionaro%2Fffmpeg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xaionaro","download_url":"https://codeload.github.com/xaionaro/ffmpeg/tar.gz/refs/heads/feature/mediacodec_dynamic_bitrate","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xaionaro%2Fffmpeg/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31770719,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T20:17:16.280Z","status":"ssl_error","status_checked_at":"2026-04-13T20:17:08.216Z","response_time":93,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","bit-rate","bitrate","change","dynamic","dynamically","ffmpeg","h264","h265","hevc","mediacodec","on-fly","streaming","variable"],"created_at":"2024-10-12T08:27:02.393Z","updated_at":"2026-04-13T20:32:23.676Z","avatar_url":"https://github.com/xaionaro.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The fork of `ffmpeg`\n\nThis fork adds option `-bitrate_ctrl_socket` to MediaCodec encoders, which enables\nthe user to change the bitrate on fly.\n\nAn example of ffmpeg execution:\n```\nffmpeg -listen 1 -i rtmp://0.0.0.0:1935/live/myStream -c:v hevc_mediacodec -bitrate_ctrl_socket /run/bitrate.sock -b:v 8M -f rtsp rtsp://127.0.0.1:1935/live/reEncoded\n```\nAn example of changing the bitrate to 1 Mbps:\n```\nprintf '%016X' 1000000 | xxd -r -p | socat -u STDIN UNIX:/run/bitrate.sock\n```\n\n## Building\n\n```\ncd /tmp\ngit clone https://github.com/xaionaro/termux-packages\ncd termux-packages\n./scripts/run-docker.sh ./scripts/setup-android-sdk.sh\ncurl https://raw.githubusercontent.com/gouravkhunger/termux-packages/20070/fix-glib/packages/glib/build.sh \u003e packages/glib/build.sh\n./scripts/run-docker.sh env TERMUX_FORCE_BUILD_DEPENDENCIES=true ./build-package.sh glib\n./scripts/run-docker.sh rm -f /data/data/.built-packages/glib\n./scripts/run-docker.sh ./build-package.sh glib\n./scripts/run-docker.sh ./build-package.sh ffmpeg\nls -ld ../output/ffmpeg*deb\n```\n\n## Merging to the upstream\n\nThe patch was suggested here: https://ffmpeg.org/pipermail/ffmpeg-devel/2024-May/328280.html\n\n# Original `README.md`\n\nFFmpeg is a collection of libraries and tools to process multimedia content\nsuch as audio, video, subtitles and related metadata.\n\n## Libraries\n\n* `libavcodec` provides implementation of a wider range of codecs.\n* `libavformat` implements streaming protocols, container formats and basic I/O access.\n* `libavutil` includes hashers, decompressors and miscellaneous utility functions.\n* `libavfilter` provides means to alter decoded audio and video through a directed graph of connected filters.\n* `libavdevice` provides an abstraction to access capture and playback devices.\n* `libswresample` implements audio mixing and resampling routines.\n* `libswscale` implements color conversion and scaling routines.\n\n## Tools\n\n* [ffmpeg](https://ffmpeg.org/ffmpeg.html) is a command line toolbox to\n  manipulate, convert and stream multimedia content.\n* [ffplay](https://ffmpeg.org/ffplay.html) is a minimalistic multimedia player.\n* [ffprobe](https://ffmpeg.org/ffprobe.html) is a simple analysis tool to inspect\n  multimedia content.\n* Additional small tools such as `aviocat`, `ismindex` and `qt-faststart`.\n\n## Documentation\n\nThe offline documentation is available in the **doc/** directory.\n\nThe online documentation is available in the main [website](https://ffmpeg.org)\nand in the [wiki](https://trac.ffmpeg.org).\n\n### Examples\n\nCoding examples are available in the **doc/examples** directory.\n\n## License\n\nFFmpeg codebase is mainly LGPL-licensed with optional components licensed under\nGPL. Please refer to the LICENSE file for detailed information.\n\n## Contributing\n\nPatches should be submitted to the ffmpeg-devel mailing list using\n`git format-patch` or `git send-email`. Github pull requests should be\navoided because they are not part of our review process and will be ignored.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxaionaro%2Fffmpeg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxaionaro%2Fffmpeg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxaionaro%2Fffmpeg/lists"}