streaming

module
v0.0.0-...-a4d51af Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 19, 2023 License: MIT

README

Golang RTSP / RTP / RTCP

If you are interested in a very good library to handle an IP-camera, you should really consider starting with gortsplib instead of jfsmig/streaming. Aler9 wrote 99.9% of the source in the current repository, he is to be praised. gortsplib is very good, moving fast, handling the weirdness of heterogenous hardware. What else?

On the other hand, jfsmig/streaming achieves the same tasks but gives more control to the developer. Instead of one big swiss-army-knife library that will handle all the logic of the streaming, you get individual libraries with little intersection in the purposes.

  • jfsmig/streaming/rtsp1 won't decode nor encode packets of the various media. Barely the smallest minimal set of feature is kept to quickly recognized a codec from a frame. That's all.
  • jfsmig/streaming/transport won't handle RTP and RTCP streams. When calling gortsplib.Client.Play() you can provide unknown ports with a zero value. With rtsp1/Client.Play() you must provide pre-established viable ports.

Why such the need for a split? When trying to use gortsplib to capture RTP packets, the experience with RTSP was very pleasant (i.e. working soon after the first try) until the need to capture the raw RTP stream shown up. This happens in an architecture which does the decoding in an existing software, which doesn't require any heavyweight parsing on the field. It turned to be very complicated.

Directories

Path Synopsis
examples
rtsp1-play command
Package rtsp1 is a fork of gortsplib, a RTSP 1.0 library for the Go programming language, written for rtsp-simple-server.
Package rtsp1 is a fork of gortsplib, a RTSP 1.0 library for the Go programming language, written for rtsp-simple-server.
pkg/auth
Package auth contains utilities to perform authentication.
Package auth contains utilities to perform authentication.
pkg/base
Package conn contains a RTSP connection implementation.
Package conn contains a RTSP connection implementation.
pkg/bits
Package bits contains functions to read/write bits from/to buffers.
Package bits contains functions to read/write bits from/to buffers.
pkg/bytecounter
Package bytecounter contains a io.ReadWriter wrapper that allows to count read and written bytes.
Package bytecounter contains a io.ReadWriter wrapper that allows to count read and written bytes.
pkg/codecs
Package codecs contains codec-specific utilities.
Package codecs contains codec-specific utilities.
pkg/codecs/h264
Package h264 contains utilities to work with the H264 codec.
Package h264 contains utilities to work with the H264 codec.
pkg/codecs/h265
Package h265 contains utilities to work with the H265 codec.
Package h265 contains utilities to work with the H265 codec.
pkg/codecs/jpeg
Package jpeg contains JPEG/JFIF markers.
Package jpeg contains JPEG/JFIF markers.
pkg/codecs/mpeg4audio
Package mpeg4audio contains utilities to work with MPEG-4 audio codecs.
Package mpeg4audio contains utilities to work with MPEG-4 audio codecs.
pkg/format
Package format contains format definitions.
Package format contains format definitions.
pkg/headers
Package headers contains various RTSP headers.
Package headers contains various RTSP headers.
pkg/liberrors
Package liberrors contains errors returned by the library.
Package liberrors contains errors returned by the library.
pkg/media
Package media contains the media stream definition.
Package media contains the media stream definition.
pkg/multibuffer
Package multibuffer contains a buffer with multiple levels.
Package multibuffer contains a buffer with multiple levels.
pkg/ringbuffer
Package ringbuffer contains a ring buffer.
Package ringbuffer contains a ring buffer.
pkg/sdp
Package sdp contains a SDP encoder/decoder compatible with most RTSP implementations.
Package sdp contains a SDP encoder/decoder compatible with most RTSP implementations.
pkg/url
Package url contains the URL structure.
Package url contains the URL structure.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL