{"id":18352846,"url":"https://github.com/membraneframework/membrane_rtsp","last_synced_at":"2025-04-06T11:33:12.424Z","repository":{"id":40350708,"uuid":"172188488","full_name":"membraneframework/membrane_rtsp","owner":"membraneframework","description":"RTSP client for Elixir","archived":false,"fork":false,"pushed_at":"2024-03-18T22:57:44.000Z","size":4161,"stargazers_count":8,"open_issues_count":0,"forks_count":5,"subscribers_count":11,"default_branch":"master","last_synced_at":"2024-03-19T23:47:05.391Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Elixir","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/membraneframework.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}},"created_at":"2019-02-23T08:05:43.000Z","updated_at":"2024-04-15T15:53:19.446Z","dependencies_parsed_at":"2023-02-17T07:15:31.316Z","dependency_job_id":"e021c167-8f2b-4c28-8be0-feadbb4e07ce","html_url":"https://github.com/membraneframework/membrane_rtsp","commit_stats":{"total_commits":69,"total_committers":9,"mean_commits":7.666666666666667,"dds":"0.33333333333333337","last_synced_commit":"914b1995580400756e96daf5e12a9ffe4b069610"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/membraneframework%2Fmembrane_rtsp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/membraneframework%2Fmembrane_rtsp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/membraneframework%2Fmembrane_rtsp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/membraneframework%2Fmembrane_rtsp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/membraneframework","download_url":"https://codeload.github.com/membraneframework/membrane_rtsp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247478152,"owners_count":20945258,"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-05T21:37:37.479Z","updated_at":"2025-04-06T11:33:12.415Z","avatar_url":"https://github.com/membraneframework.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Membrane RTSP\n\n[![Hex.pm](https://img.shields.io/hexpm/v/membrane_rtsp.svg)](https://hex.pm/packages/membrane_rtsp)\n[![API Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_rtsp/)\n[![CircleCI](https://circleci.com/gh/membraneframework/membrane_rtsp.svg?style=svg)](https://circleci.com/gh/membraneframework/membrane_rtsp)\n\n\nThe RTSP client and server for Elixir\n\nCurrently supports only RTSP 1.0 defined by\n[RFC2326](https://tools.ietf.org/html/rfc2326)\n\n## Installation\n\nThe package can be installed by adding `membrane_rtsp` to your list\nof dependencies in `mix.exs`:\n\n```elixir\ndef deps do\n  [\n    {:membrane_rtsp, \"~\u003e 0.10.1\"}\n  ]\nend\n```\n\n## Usage\n\nTo use the Membrane RTSP client you must first start a session:\n\n```elixir\n{:ok, session} = Membrane.RTSP.start_link(\"rtsp://domain.name:port/path\")\n```\n\nThen you can proceed with executing requests:\n\n```elixir\nalias Membrane.RTSP\nalias Membrane.RTSP.Response\n\n{:ok, %Response{status: 200}} = RTSP.describe(session)\n\n{:ok, %Response{status: 200}} =\n  RTSP.setup(session, \"/trackID=1\", [\n    {\"Transport\", \"RTP/AVP;unicast;client_port=57614-57615\"}\n  ])\n\n{:ok, %Response{status: 200}} =\n  RTSP.setup(session, \"/trackID=2\", [\n    {\"Transport\", \"RTP/AVP;unicast;client_port=52614-52615\"}\n  ])\n\n{:ok, %Response{status: 200}} = RTSP.play(session)\n```\n\nIf you started a session without linking it, it is advised to close it manually\nby calling:\n\n```elixir\nRTSP.close(session)\n```\n\n## External tests\n\nTests that use external RTSP service are disabled by default but they are present\nin the codebase. They are tagged as external and are usually accompanied by\ntests that mimic their behavior by using predefined responses.\n\n## Copyright and License\n\nCopyright 2019, [Software Mansion](https://swmansion.com/?utm_source=git\u0026utm_medium=readme\u0026utm_campaign=membrane)\n\n[![Software Mansion](https://logo.swmansion.com/logo?color=white\u0026variant=desktop\u0026width=200\u0026tag=membrane-github)](https://swmansion.com/?utm_source=git\u0026utm_medium=readme\u0026utm_campaign=membrane)\n\nLicensed under the [Apache License, Version 2.0](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmembraneframework%2Fmembrane_rtsp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmembraneframework%2Fmembrane_rtsp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmembraneframework%2Fmembrane_rtsp/lists"}