#视频流 #SRT #RTMP # # #模式 #监听器

bin+lib srt_rtmp

SRT 转 RTMP

1 个稳定版本

1.2.0 2023年8月30日

视频 分类中排名第336

Apache-2.0AGPL-3.0-only

34KB
414

SRT 转 RTMP

本应用程序从SRT流中读取一个MPEG-TS流并输出为RTMP流。用例示例

  • 将SRT内容流式传输到Twitch或YouTube Live

支持呼叫者和监听器模式的SRT流。在MacOS和Ubuntu上运行。

screenshot

合规性表

以下是支持的生产软件列表。

源类型 支持 详细信息
FFMpeg 支持作为输入源
OBS 支持作为输入源
Twitch 支持流式传输到Twitch
YouTube live 支持流式传输到YouTube Live

安装

cargo install srt_rtmp

# recommended for pretty log viewer (optional)
cargo install bunyan

例如,使用我们的测试src Docker容器生成SRT测试源

docker run --rm -p 1234:1234/udp eyevinntechnology/testsrc

然后,一个SRT流(在监听模式下)将在 srt://127.0.0.1:1234 上可用。

设置流密钥为ENV STREAM_KEY。然后运行 srt-rtmp 应用程序

export STREAM_KEY=$YOUR_STREAM_KEY

srt-rtmp -i 127.0.0.1:1234 -s caller -o live.twitch.tv/app | bunyan

它将以呼叫者模式连接到SRT测试流,因为生成的SRT流是监听模式。一个直播流将在 rtmp://live.twitch.tv/app/$STREAM_KEY 上可用。

从源构建

OSX

要求

  • 已安装XCode命令行工具
  • 从GStreamer网站安装GStreamer 二进制文件
  • 已安装Rust和cargo

确保您已定义以下环境变量

export PATH=$PATH:/Library/Frameworks/GStreamer.framework/Versions/Current/bin
export PKG_CONFIG_PATH=/Library/Frameworks/GStreamer.framework/Versions/Current/lib/pkgconfig
export GST_PLUGIN_PATH=/Library/Frameworks/GStreamer.framework/Versions/Current/lib
export DYLD_FALLBACK_LIBRARY_PATH=$GST_PLUGIN_PATH

使用Cargo构建

cargo check
cargo install bunyan # Optional, for pretty printing of logs
cargo build --release

二进制文件将在 ./target/release/srt-rtmp 中可用。有关运行方法,请参见下文。

Debian (bullseye / bookworm)

要求

  • 已安装Rust和cargo

安装GStreamer构建依赖项。

apt-get update
apt-get -y install build-essential \
  curl \
  pkg-config \
  libssl-dev \
  libunwind-dev \
  libgstreamer1.0-dev \
  libgstreamer-plugins-base1.0-dev \
  libgstreamer-plugins-bad1.0-dev \
  gstreamer1.0-plugins-base \
  gstreamer1.0-plugins-good \
  gstreamer1.0-plugins-bad \
  gstreamer1.0-plugins-ugly \
  gstreamer1.0-libav \
  gstreamer1.0-tools \
  gstreamer1.0-x \
  gstreamer1.0-alsa \
  gstreamer1.0-gl \
  gstreamer1.0-gtk3 \
  gstreamer1.0-qt5 \
  gstreamer1.0-pulseaudio \
  gstreamer1.0-nice

使用Cargo构建

cargo check
cargo install bunyan # Optional, for pretty printing of logs
cargo build --release

二进制文件将在 ./target/release/srt-rtmp 中可用。有关运行方法,请参见下文。

许可证 (Apache-2.0)

版权所有 2023 Eyevinn Technology AB

在Apache License,Version 2.0(“许可证”)下许可;除非遵守许可证,否则不得使用此文件。您可以在以下位置获得许可证副本:

https://apache.ac.cn/licenses/LICENSE-2.0

除非适用法律或书面同意,否则根据本许可证分发的软件是以“现状”为基础分发的,不提供任何形式(明示或暗示)的保证或条件。有关许可证的具体语言,请参阅许可证。

支持

加入我们在Slack上的社区,在那里您可以发布关于我们任何开源项目的任何问题。Eyevinn的咨询业务还可以为您提供

  • 此组件的进一步开发
  • 此组件的定制和集成到您的平台中
  • 支持和维护协议

如有兴趣,请联系[email protected]

关于Eyevinn技术

Eyevinn技术是一家专注于视频和流媒体的独立咨询公司。独立的方式是我们没有与任何平台或技术供应商有商业联系。

在Eyevinn,每位软件开发顾问都有一个专门用于开源开发和贡献给开源社区的预算。这为我们提供了创新、团队建设和个人能力发展的空间。同时,这也为我们作为一个公司回馈开源社区提供了一种方式。

想了解更多关于Eyevinn以及在这里工作的感受?请联系我们[email protected]

依赖关系

~26–41MB
~705K SLoC