{"id":20267128,"url":"https://github.com/xiph/ezstream","last_synced_at":"2025-04-11T03:36:30.794Z","repository":{"id":25264279,"uuid":"28689549","full_name":"xiph/ezstream","owner":"xiph","description":"[Mirror] A streaming source client for Icecast","archived":false,"fork":false,"pushed_at":"2021-02-12T22:15:54.000Z","size":966,"stargazers_count":60,"open_issues_count":7,"forks_count":25,"subscribers_count":20,"default_branch":"develop","last_synced_at":"2025-03-25T01:38:17.420Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://gitlab.xiph.org/xiph/ezstream","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/xiph.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-01T15:50:09.000Z","updated_at":"2025-03-21T08:12:30.000Z","dependencies_parsed_at":"2022-08-14T20:42:24.476Z","dependency_job_id":null,"html_url":"https://github.com/xiph/ezstream","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiph%2Fezstream","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiph%2Fezstream/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiph%2Fezstream/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiph%2Fezstream/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xiph","download_url":"https://codeload.github.com/xiph/ezstream/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248338022,"owners_count":21087146,"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":[],"created_at":"2024-11-14T12:13:23.561Z","updated_at":"2025-04-11T03:36:30.769Z","avatar_url":"https://github.com/xiph.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# About\n\nEzstream is a command line source client for media streams, primarily for\nstreaming to Icecast servers.\n\nIt allows the creation of media streams based on input from files or standard\ninput that is piped through an optional external de- and encoder. As every\npart of this chain is highly configurable, ezstream can be useful in a large\nnumber of streaming setups.\n\nIt uses libshout to communicate with streaming servers and currently supports\nOgg, MP3, WebM, and Matroska streams using the HTTP, ICY, and RoarAudio\nprotocols. It uses TagLib to read and manage metadata in numerous media\nfiles.\n\nEzstream is free software and licensed under the GNU General Public License.\nSee the `COPYING` file for details.\n\n\n# Dependencies\n\nEzstream depends on:\n\n - [libshout](https://www.icecast.org/download/) version 2.2.x or newer\n - [libxml](http://xmlsoft.org/) version 2.x\n - [TagLib](https://taglib.github.io/) for C version 1.x (1.4 or newer\n   recommended)\n\nEzstream optionally uses:\n\n - [libiconv](https://www.gnu.org/software/libiconv/) on systems where\n   `iconv()` is not available in libc, for basic non-ASCII charset support in\n   metadata and filenames\n\nBuilding ezstream depends on:\n\n - [check](https://libcheck.github.io/check) unit testing framework for C\n\n# Installation\n\nThe ezstream software uses the GNU auto-tools to configure, build, and\ninstall on a variety of systems. Several (additional) configuration options\nare available.\n\nRun `./configure --help` to get an overview.\n\nThe compilation and installation process then boils down to the usual\n\n```console\n    $ ./configure --help | less         # Skim over the available options\n    $ ./configure [options] \u0026\u0026 make \u0026\u0026 [sudo] make install\n                                        # Configure, build and install\n                                        # [as root] the software\n```\n\nIf this procedure is unfamiliar to you, please consult the `INSTALL` file for\nmore detailed instructions.\n\nOn systems where the libshout installation does not include the required\nshout.pc file for `pkg-config(1)`, the non-standard `shout-config` utility\nis available. However, the ezstream build system does not support the latter.\n\nIf this is an issue, configure ezstream with\n\n```console\n    $ ./configure \\\n        LIBSHOUT_CPPFLAGS=\"$(shout-config --cppflags)\" \\\n        LIBSHOUT_CFLAGS=\"$(shout-config --cflags-only)\" \\\n        LIBSHOUT_LIBS=\"$(shout-config --libs)\"\n```\n\nIf needed, verbose configuration error messages can be found in the\n`config.log` file.\n\nWhen working on a fresh checkout from source control, the `autogen.sh` script\nmust be run first. It requires automake, autoconf, libtool, and gettext.\n\n\n# Usage\n\nOnce ezstream is installed successfully, type `man ezstream` on the command\nline for a comprehensive manual. This distribution package also comes with\nexample configuration files that can be used as a guide to configure\nezstream.\n\nAs ezstream is a source client, a media streaming server like Icecast\nmust be available to distribute the stream to listening clients. See\n(https://www.icecast.org/) for more information and resources.\n\n\n# External Decoders/Encoders\n\nEzstream should be able to work with any media decoder and encoder that\nfulfills the following requirements:\n\n 1. Must be an executable that can be run from the command line without the\n    need for a graphical display or terminal\n 2. Decoding software must be able to either\n    1. write raw audio data to standard output, or\n    2. write a properly encoded stream ready for distribution to standard\n       output\n 3. Encoding software must be able to read raw audio data from standard input\n\nThe following incomplete list of programs shows a few that are known to work.\nThese are also used in the example configuration files:\n\n - MP3\n   - Decoder: madplay (https://www.underbit.com/products/mad/)\n   - Encoder: lame (https://lame.sourceforge.io/)\n\n - Ogg Vorbis (https://xiph.org/vorbis/):\n   - Decoder: oggdec\n   - Encoder: oggenc\n\n - FLAC (https://xiph.org/flac/):\n   - Decoder: flac\n   - Encoder: flac (requires Ogg FLAC output)\n\n - Ogg Theora:\n   - Decoder/Encoder: ffmpeg2theora (http://v2v.cc/~j/ffmpeg2theora/)\n\n\n# Development\n\n - Xiph.org Gitlab: https://gitlab.xiph.org/xiph/ezstream/\n - GitHub mirror: https://github.com/xiph/ezstream/\n - Travis CI: https://travis-ci.org/xiph/ezstream/\n - CircleCI: https://circleci.com/gh/xiph/ezstream/\n - Codecov: https://codecov.io/gh/xiph/ezstream/\n - Coverity: https://scan.coverity.com/projects/xiph-ezstream/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxiph%2Fezstream","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxiph%2Fezstream","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxiph%2Fezstream/lists"}