16个不稳定版本 (5个破坏性更新)

0.13.0 2024年7月16日
0.12.0 2024年2月8日
0.11.3 2023年12月18日
0.11.2 2023年11月11日
0.0.0 2021年4月5日

#60 in 视频

Download history 2/week @ 2024-05-18 1/week @ 2024-06-08 163/week @ 2024-06-15 14/week @ 2024-06-22 2/week @ 2024-07-06 93/week @ 2024-07-13 15/week @ 2024-07-20 9/week @ 2024-07-27 1/week @ 2024-08-03

每月下载量 118次

MPL-2.0 许可证

275KB
6.5K SLoC

GStreamer NDI插件

兼容NDI SDK 6.x和5.x

这是一个GStreamer多媒体框架的插件,允许GStreamer接收或发送NDI流。

此插件最初由Teltek开发,并由伦敦艺术大学曼彻斯特大学资助。

当前该插件包含一个用于接收NDI源的数据源元素,一个提供NDI源的目标元素,以及一个用于在网络中查找NDI源的设备提供者。

插件在运行时加载NDI SDK,从默认库路径或,如果设置,从由环境变量NDI_RUNTIME_DIR_V6NDI_RUNTIME_DIR_V5指定的目录加载。

以下是一些从命令行使用这些元素的示例

# Information about the elements
$ gst-inspect-1.0 ndi
$ gst-inspect-1.0 ndisrc
$ gst-inspect-1.0 ndisink

# Discover all NDI sources on the network
$ gst-device-monitor-1.0 -f Source/Network:application/x-ndi

# Audio/Video source pipeline
$ gst-launch-1.0 ndisrc ndi-name="GC-DEV2 (OBS)" ! ndisrcdemux name=demux   demux.video ! queue ! videoconvert ! autovideosink  demux.audio ! queue ! audioconvert ! autoaudiosink

# Audio/Video sink pipeline
$ gst-launch-1.0 videotestsrc is-live=true ! video/x-raw,format=UYVY ! ndisinkcombiner name=combiner ! ndisink ndi-name="My NDI source"  audiotestsrc is-live=true ! combiner.audio

欢迎为此项目做出贡献。以下是一些您可以贡献的方式

  • 使用更多硬件和软件进行测试并报告错误
  • 提交拉取请求。

字幕支持

字幕支持基于1 & 2

此管道从gst-plugins-rs/video/closedcaption发送带有测试字幕的测试视频。从gst-plugins-rs根目录运行。

# Audio/Video sink pipeline with closed captions (cc start around 0:00:14)

$ gst-launch-1.0 \
    ndisinkcombiner name=ndicombiner ! ndisink ndi-name="My NDI source" \
    cccombiner name=cccombiner ! videoconvert ! video/x-raw,format=UYVY ! ndicombiner.video \
    videotestsrc is-live=true ! cccombiner. \
    filesrc location=video/closedcaption/tests/dn2018-1217.scc ! sccparse ! cccombiner.caption \
    audiotestsrc is-live=true volume=0.1 ! ndicombiner.audio

# Discover all NDI sources on the network
$ gst-device-monitor-1.0 -f Source/Network:application/x-ndi

# Audio/Video source pipeline with closed caption overlay
$ gst-launch-1.0 \
    ndisrc ndi-name="_REPLACE_WITH_SOURCE_NAME_" ! ndisrcdemux name=demux \
    demux.video ! queue ! cea608overlay ! videoconvert ! autovideosink \
    demux.audio ! queue ! audioconvert ! autoaudiosink

# Variant 1: sink pipeline with c708 closed captions

$ gst-launch-1.0 \
    ndisinkcombiner name=ndicombiner ! ndisink ndi-name="My NDI source" \
    cccombiner name=cccombiner ! videoconvert ! video/x-raw,format=UYVY ! ndicombiner.video \
    videotestsrc is-live=true ! cccombiner. \
    filesrc location=video/closedcaption/tests/dn2018-1217.scc ! sccparse ! ccconverter ! closedcaption/x-cea-708,format=cdp ! cccombiner.caption \
    audiotestsrc is-live=true volume=0.1 ! ndicombiner.audio

# Variant 2: sink pipeline with c608 and c708 closed captions

$ gst-launch-1.0 \
    ndisinkcombiner name=ndicombiner ! ndisink ndi-name="My NDI source" \
    cccombiner name=cccombiner_1 ! cccombiner name=cccombiner_2 ! videoconvert ! video/x-raw,format=UYVY ! ndicombiner.video \
    videotestsrc is-live=true ! cccombiner_1. \
    filesrc location=video/closedcaption/tests/dn2018-1217.scc ! sccparse ! tee name=cctee \
    cctee. ! ccconverter ! closedcaption/x-cea-608,format=raw ! cccombiner_1.caption \
    cctee. ! ccconverter ! closedcaption/x-cea-708,format=cdp ! cccombiner_2.caption \
    audiotestsrc is-live=true volume=0.1 ! ndicombiner.audio

许可证

此插件根据MPL-2许可证授权 - 请参阅许可证文件以获取详细信息

致谢

  • 伦敦艺术大学和曼彻斯特大学。
  • Sebastian Dröge (@sdroege)。

依赖项

~11–18MB
~278K SLoC