Skip to content

Commit 180a665

Browse files
gbassinello1mamute
authored andcommitted
A bunch of things
1 parent 23b8876 commit 180a665

File tree

7 files changed

+251
-22
lines changed

7 files changed

+251
-22
lines changed

README.md

Lines changed: 126 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,139 @@
1-
# Awesome Audio Networking
1+
# Awesome Media Networking
22
[![Awesome](https://awesome.re/badge.svg)](https://awesome.re)
33

4-
> A curated list of all things related to audio networking.
4+
> A walkthrough over all things related to media networking.
55
66

77
## Contents
8-
- [Awesome Audio Networking](#awesome-audio-networking)
8+
- [Awesome Media Networking](#awesome-media-networking)
99
- [Contents](#contents)
10-
- [Compressed Audio](#compressed-audio)
11-
- [Uncompressed Audio](#uncompressed-audio)
12-
- [SMPTE](#smpte)
13-
- [SMTPE 2022-5/6](#smtpe-2022-56)
14-
- [SMPTE ST 2110-22](#smpte-st-2110-22)
15-
- [SMPTE RP 2110-25](#smpte-rp-2110-25)
10+
- [Codecs](#codecs)
11+
- [Lossless](#lossless)
12+
- [JPEG XS](#jpeg-xs)
13+
- [Lossy](#lossy)
14+
- [Transport Streams](#transport-streams)
15+
- [CBR](#cbr)
16+
- [Piecewise VBR](#piecewise-vbr)
17+
- [Non-piecewise VBR:](#non-piecewise-vbr)
18+
- [High Bit Rate Media Transport (HBRMT)](#high-bit-rate-media-transport-hbrmt)
19+
- [Standards](#standards)
20+
- [SMTPE ST 2022](#smtpe-st-2022)
21+
- [SMPTE ST 2110](#smpte-st-2110)
22+
- [Streaming](#streaming)
23+
- [Video Rendering](#video-rendering)
24+
- [IPMX](#ipmx)
1625
- [SAP](#sap)
1726
- [IEEE 1588v2](#ieee-1588v2)
1827
- [PTP \& PTPv2](#ptp--ptpv2)
1928
- [NMOS](#nmos)
29+
- [Network Analysis](#network-analysis)
2030
- [Audio Over IP / Audio Over Ethernet](#audio-over-ip--audio-over-ethernet)
2131
- [Audio Over Thread](#audio-over-thread)
32+
- [HDBaseT / Audio Over Cat](#hdbaset--audio-over-cat)
2233
- [AES67](#aes67)
2334
- [Dante](#dante)
35+
- [mDNS](#mdns)
2436
- [Ravenna](#ravenna)
2537
- [CobraNet](#cobranet)
2638
- [Tools](#tools)
27-
- [Groups](#groups)
2839
- [Resources](#resources)
40+
- [Groups](#groups)
2941
- [Books](#books)
3042
- [Papers](#papers)
3143
- [Articles](#articles)
44+
- [Newsletters](#newsletters)
3245
- [Journals](#journals)
3346
- [Blogs](#blogs)
47+
- [Podcasts](#podcasts)
48+
- [YouTube Channels](#youtube-channels)
49+
- [Events](#events)
3450
- [Miscellaneous](#miscellaneous)
3551
- [Related Lists](#related-lists)
3652
- [Contributing](#contributing)
3753

38-
## Compressed Audio
54+
## Codecs
55+
### Lossless
56+
#### JPEG XS
3957
- [JPEGXS](https://jpeg.org/jpegxs/) ([Specification](https://ds.jpeg.org/whitepapers/jpeg-xs-whitepaper.pdf)) - The JPEG XS (ISO/IEC 21122) standard specifies a compression technology with an end-to-end latency of a few lines, at a low implementation complexity.
58+
- [Introduction to the New JPEG XS Standard for Low-Latency, Visually Lossless Streaming in HD, 4K, and 8K](https://www.nvidia.com/en-us/on-demand/session/gtcspring21-s31734/) by Jean-Baptiste Lorent.
59+
- FFmpeg - A cross-platform solution to record, convert and stream audio and video. Supports SMPTE ST 2110.
4060

41-
## Uncompressed Audio
61+
### Lossy
4262

43-
## SMPTE
44-
### SMTPE 2022-5/6
45-
### SMPTE ST 2110-22
46-
### SMPTE RP 2110-25
63+
### Transport Streams
64+
#### CBR
65+
#### Piecewise VBR
66+
A piecewise constant VBR transport stream can only vary at the PCRs of the program under consideration per ISO/IEC 13818-1:2007 § 2.4.2.2.
67+
#### Non-piecewise VBR:
68+
A non-piecewise constant VBR transport stream has no predictable time base to reconstruct the signal if the inter-packet timing is altered in transit through the network.
69+
## High Bit Rate Media Transport (HBRMT)
70+
> Formerly known as High Bit Rate Audio Video Over IP (HBRAV-IP)
4771
72+
Standard for data encapsulation and forward error correction (FEC) of high bit rate contribution oriented video/audio feed services, up to 3 Gbit/s over Ethernet networks. HBRMT is published as parts 5 and 6 of SMPTE 2022 by the [SMPTE 32NF networking technology committee](https://web.archive.org/web/20110125153532/http://www.videoservicesforum.org/SMPTE_32NF_Tech_Com.shtml). HBRMT supports both SDI uncompressed and JPEG 2000 compressed video and audio formats.
73+
74+
## Standards
75+
### SMTPE ST 2022
76+
The SMPTE ST 2022 suite of standards provides a reliable way of using IP to transmit signals that were traditionally sent over serial interfaces.
77+
78+
> To read more about every part of the SMPTE ST 2022 standard, head to [standards/SMPTE-ST-2022.md](standards/SMPTE-ST-2022.md)
79+
80+
- [smpte2110-analyzer](https://github.com/ebu/smpte2110-analyzer): Analyzer to inspect network packets generated by the SMPTE ST 2110 specification.
81+
82+
### SMPTE ST 2110
83+
The SMPTE ST 2110 suite of standards specifies the carriage, synchronization, and description of separate elementary essence streams over IP for real-time media applications.
84+
85+
> To read more about every part of the SMPTE ST 2110 standard, head to [standards/SMPTE-ST-2110.md](standards/SMPTE-ST-2110.md)
86+
87+
- [JT-NM TR1001-1 "System Environment and Device Behaviors for ST 2110 Media Nodes in Engineered Networks"](https://static.jt-nm.org/documents/JT-NM_TR-1001-1_2020_v1.1.pdf): Technical Recommendation paper from JT-NM with a "goal to enable the creation of network environments where an end-user can take delivery of (recommended) equipment, connect it to their network, and configure it for use, with a minimum amount of human interaction."
88+
89+
## Streaming
90+
- [NVIDIA® Rivermax®](https://developer.nvidia.com/networking/rivermax): GPU-accelerated media and data streaming IP-based solution. [Tools, Apps & Code Samples](https://github.com/NVIDIA/Rivermax)
91+
92+
## Video Rendering
93+
- [Viz Engine](https://www.vizrt.com/products/viz-engine/): SMPTE ST 2110 And NMOS compatible Real Time Video Renderer
94+
95+
## IPMX
4896
## SAP
4997
## IEEE 1588v2
50-
5198
## PTP & PTPv2
5299
## NMOS
53-
Specifications:
100+
Overview: https://www.amwa.tv/nmos-overview
101+
Specifications: https://specs.amwa.tv/nmos/
102+
- [Pebble Control Free](https://www.pebble.tv/control-free/about/): Self-contained, scalable and easy to configure IP connection manager.
103+
- [nmos-cpp](https://github.com/sony/nmos-cpp): Sony's NMOS Registry and Node Implementation in C++.
104+
- [nmos-js](https://github.com/sony/nmos-js): Sony's NMOS Client Implementation in Javascript.
105+
- [BBC's NMOS Authorisation Server Implementation](https://github.com/bbc/nmos-auth-server): A Flask-based implementation of an OAuth2 Authorisation Server based on [AMWA NMOS BCP-003-02](https://amwa-tv.github.io/nmos-api-security/best-practice-authorisation.html) using [RFC 6749](https://tools.ietf.org/html/rfc6749).
106+
- [Ledger](https://github.com/Streampunk/ledger): Node.js Javascript implementation of the NMOS discovery and registration APIs.
107+
- [Easy-NMOS Docker Compose Solution](https://github.com/rhastie/easy-nmos): Easy NMOS setup using Docker compose
108+
- [NMOS-TESTING](https://specs.amwa.tv/nmos-testing/): Testing tool for the AMWA NMOS Specifications ([GitHub Repo](https://github.com/AMWA-TV/nmos-testing))
109+
- [The Business Benefits of DNS-SD for NMOS](http://static.amwa.tv/business-benefits-of-nmos-plus-dns-sd.pdf): Why DNS Service Discovery in an NMOS environment?
110+
- [NMOS Web Router](https://github.com/bbc/nmos-web-router): A web based application for connecting multicast RTP Senders and Receivers using AMWA NMOS IS-04 and IS-05.
111+
112+
113+
## Network Analysis
114+
- wireshark
54115

55116
## Audio Over IP / Audio Over Ethernet
56117
Specifications:
57118

58119
## Audio Over Thread
59120
Specifications:
60121

122+
## HDBaseT / Audio Over Cat
123+
61124
## AES67
62125
Specifications:
63126

64127
## Dante
65128
Specifications:
66129

130+
## mDNS
131+
- RFC 6762 - mDNS - http://tools.ietf.org/html/rfc6762
132+
- RFC 6763 - DNS Based Service Discovery (DNS-SD) - http://tools.ietf.org/html/rfc6763
133+
- http://www.tcpipguide.com/free/t_DNSMessageHeaderandQuestionSectionFormat.htm
134+
- https://github.com/mdns-js/node-mdns-js
135+
- http://en.wikipedia.org/wiki/Multicast_DNS
136+
- http://en.wikipedia.org/wiki/Zero_configuration_networking#Service_discovery
67137
## Ravenna
68138
Specifications:
69139

@@ -74,25 +144,59 @@ Specifications:
74144

75145
- [Media Network Manager Cloud (MnMs)](https://github.com/nicolassturmel/media-network-manager-cloud)
76146

77-
## Groups
78147

79148
## Resources
80149

150+
### Groups
151+
- AIMS
152+
- AMWA
153+
- SMPTE
154+
- VSF
155+
- AES
156+
- AVIXA
157+
- AVNU
158+
- [JT-NM](https://www.jt-nm.org/)
159+
81160
### Books
82161

83162
### Papers
84-
163+
- https://aimsalliance.org/wp-content/uploads/2019/04/AES67-SMPTE-ST-2110-Commonalities-and-Constraints-Updated-April-2019.pdf
85164
### Articles
165+
- https://www.commercialintegrator.com/networks/information_technology/av-as-a-service-requires-you-to-speak-its-language/
166+
- https://www.avnetwork.com/news/how-to-achieve-global-interoperability
167+
- https://www.avnetwork.com/news/dirty-hands-and-ipmx
168+
- https://www.avnetwork.com/news/ipmxs-soft-spot
169+
- https://www.avnetwork.com/news/for-ipmx-its-about-time
170+
- https://www.avnetwork.com/news/ipmxs-strength-is-its-interoperability
171+
- https://www.avnetwork.com/news/ipmx-media-experience-nirvana
172+
- https://www.avnetwork.com/features/ipmx-the-next-great-av-standard
173+
- https://www.avnetwork.com/news/deep-dive-do-you-know-the-difference-between-ipmx-and-smpte-st-2110-and-aes67
174+
- https://medium.com/canal-tech/why-we-use-a-multicast-ip-network-for-live-content-production-697a57b86766
175+
176+
177+
### Newsletters
178+
- https://www.avnetwork.com/
179+
- https://www.tvtechnology.com/
86180

87181
### Journals
88182

89183
### Blogs
90-
91-
184+
- https://medium.com/canal-tech
185+
-
186+
### Podcasts
187+
- https://higheredav.com/060-james-king-audio-visual-specialist-at-stockton-university/
188+
- https://higheredav.com/024-10-minute-take-dante-av-by-audinate/
189+
-
190+
### YouTube Channels
191+
192+
### Events
193+
- InfoComm
194+
-
92195
## Miscellaneous
93196
- [Network Engineering Stack Exchange](https://networkengineering.stackexchange.com/)
94197
- [Server Fault](https://serverfault.com/) - A question and answer site for system and network administrators.
95198
- [/r/Networking](https://www.reddit.com/r/networking/) - Reddit group for networking.
199+
96200
## Related Lists
97201

98202
- [Awesome Broadcasting](https://github.com/ebu/awesome-broadcasting)

protocols/DNS-SD.md

Whitespace-only changes.

protocols/MDNS.md

Whitespace-only changes.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[](https://www.riedel.net/fileadmin/user_upload/800-downloads/07-Guides/White_Paper_-_ST_2022-6_vs_ST_2110_final.pdf)
2+
3+
https://www.aimsalliance.org/wp-content/uploads/2019/02/4.-AIMS-Reception-ISE-2019-ST2110-explained-Hildebrand.pdf

standards/IPMX.md

Whitespace-only changes.

standards/SMPTE-ST-2022.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
> [Click here](/README.md) to go back to the start
2+
3+
# SMTPE ST 2022
4+
5+
## Contents
6+
- [SMTPE ST 2022](#smtpe-st-2022)
7+
- [Contents](#contents)
8+
- [The Standard](#the-standard)
9+
- [Documents](#documents)
10+
- [ST 2022-1:2007 “Forward Error Correction for Real-Time Video/Audio Transport Over IP Networks”](#st-2022-12007-forward-error-correction-for-real-time-videoaudio-transport-over-ip-networks)
11+
- [ST 2022-2:2007 “Unidirectional Transport of Constant Bit Rate MPEG-2 Transport Streams on IP Networks”](#st-2022-22007-unidirectional-transport-of-constant-bit-rate-mpeg-2-transport-streams-on-ip-networks)
12+
- [ST 2022-3:2010 “Unidirectional Transport of Variable Bit Rate MPEG-2 Transport Streams on IP Networks”](#st-2022-32010-unidirectional-transport-of-variable-bit-rate-mpeg-2-transport-streams-on-ip-networks)
13+
- [ST 2022-4:2011 “Unidirectional Transport of Non-Piecewise Constant Variable Bit Rate MPEG-2 Streams on IP Networks”](#st-2022-42011-unidirectional-transport-of-non-piecewise-constant-variable-bit-rate-mpeg-2-streams-on-ip-networks)
14+
- [ST 2022-5:2012 “Forward Error Correction for High Bit Rate Media Transport Over IP Networks”](#st-2022-52012-forward-error-correction-for-high-bit-rate-media-transport-over-ip-networks)
15+
- [ST 2022-5:2013 - "Forward Error Correction for Transport of High Bit Rate Media Signals over IP Networks (HBRMT)"](#st-2022-52013---forward-error-correction-for-transport-of-high-bit-rate-media-signals-over-ip-networks-hbrmt)
16+
- [ST 2022-6:2012 “Transport of High Bit Rate Media Signals over IP Networks (HBRMT)”](#st-2022-62012-transport-of-high-bit-rate-media-signals-over-ip-networks-hbrmt)
17+
- [ST 2022-7:2013 “Seamless Protection Switching of SMPTE ST 2022 IP Datagrams”](#st-2022-72013-seamless-protection-switching-of-smpte-st-2022-ip-datagrams)
18+
- [ST 2022-8:2019 "Timing of ST 2022-6 Streams in ST 2110-10 Systems"](#st-2022-82019-timing-of-st-2022-6-streams-in-st-2110-10-systems)
19+
- [ST 2022-2:2019 "Unidirectional Transport of Constant Bit Rate MPEG-2 Transport Streams on IP Networks (????)"](#st-2022-22019-unidirectional-transport-of-constant-bit-rate-mpeg-2-transport-streams-on-ip-networks-)
20+
- [ST 2022-3:2019 "Unidirectional Transport of Variable Bit Rate MPEG-2 Transport Streams on IP Networks"](#st-2022-32019-unidirectional-transport-of-variable-bit-rate-mpeg-2-transport-streams-on-ip-networks)
21+
- [ST 2022-7:2019 "Seamless Protection Switching of RTP Datagrams"](#st-2022-72019-seamless-protection-switching-of-rtp-datagrams)
22+
23+
## The Standard
24+
The SMPTE ST 2022 suite of standards provides a reliable way of using IP to transmit signals that were traditionally sent over serial interfaces.
25+
26+
## Documents
27+
28+
### [ST 2022-1:2007 “Forward Error Correction for Real-Time Video/Audio Transport Over IP Networks”](https://ieeexplore.ieee.org/document/7291470)
29+
Defines a forward error correction technique for the carriage of real-time Video/Audio content over IP networks. <details><summary>Rough Explanation</summary>_Defines row/column FEC (Forward Error Correction) for IP video streams. Along with Section 2, this standard has been widely implemented. Row/Column FEC works by grouping IP video packets into logical rows and columns, and then appending one FEC packet to each row and each column.[[1]](https://web.archive.org/web/20151208160422/http://www.tvtechnology.com/insight/0083/smpte--and-the-future-of-video-over-ip/220188)_</details>
30+
31+
### [ST 2022-2:2007 “Unidirectional Transport of Constant Bit Rate MPEG-2 Transport Streams on IP Networks”](https://ieeexplore.ieee.org/document/7291740)
32+
Defines a unidirectional transport protocol for the carriage of real-time [_Constant Bitrate (CBR)_](/README.md#cbr) MPEG-2 Transport Streams over IP networks. <details><summary>Rough Explanation</summary>_Specifies how constant bit rate compressed video signals that are encoded within MPEG-2 transport streams are encapsulated into IP packets. This standard covers the transport layer (RTP and UDP) as well as comments about timing and buffer sizes.[[1]](https://web.archive.org/web/20151208160422/http://www.tvtechnology.com/insight/0083/smpte--and-the-future-of-video-over-ip/220188)_</details>
33+
34+
### [ST 2022-3:2010 “Unidirectional Transport of Variable Bit Rate MPEG-2 Transport Streams on IP Networks”](https://ieeexplore.ieee.org/document/7290021)
35+
Defines a transport protocol for the carriage of real-time [_piecewise constant variable bit rate (VBR)_](/README.md#piecewise-vbr) MPEG-2 Transport Streams over IP networks, either with or without Forward Error Correction for recovery from network transmission errors. <details><summary>Rough Explanation</summary>_Defines IP packets for variable bit-rate MPEG-2 TS streams that are constrained to have a constant bit rate between PCR messages (called piecewise-constant).[[1]](https://web.archive.org/web/20151208160422/http://www.tvtechnology.com/insight/0083/smpte--and-the-future-of-video-over-ip/220188)_</details>
36+
37+
### [ST 2022-4:2011 “Unidirectional Transport of Non-Piecewise Constant Variable Bit Rate MPEG-2 Streams on IP Networks”](https://ieeexplore.ieee.org/document/7290516)
38+
Defines a transport protocol for the carriage of real-time [_non-piecewise constant variable bit rate (VBR)_](/README.md#non-piecewise-vbr) MPEG-2 Transport Streams over IP networks, either with or without Forward Error Correction for recovery from network transmission errors. <details><summary>Rough Explanation</summary>_Similar to Section 3, except that it removes the constraint on bit rates.[[1]](https://web.archive.org/web/20151208160422/http://www.tvtechnology.com/insight/0083/smpte--and-the-future-of-video-over-ip/220188)_</details>
39+
40+
### [ST 2022-5:2012 “Forward Error Correction for High Bit Rate Media Transport Over IP Networks”](https://ieeexplore.ieee.org/document/7291908)
41+
Defines a forward error correction technique for the carriage of High Bit Rate real-time media over IP networks. <details><summary>Rough Explanation</summary>_Expands on Section 1 to allow larger row/column FEC combinations to support signals with bit rates up to 3 Gbps and beyond.[[1]](https://web.archive.org/web/20151208160422/http://www.tvtechnology.com/insight/0083/smpte--and-the-future-of-video-over-ip/220188)_</details>
42+
43+
### [ST 2022-5:2013 - "Forward Error Correction for Transport of High Bit Rate Media Signals over IP Networks (HBRMT)"](https://ieeexplore.ieee.org/document/7291590)
44+
Revision of ST 2022-5:2013. <details><summary>Rough Explanation</summary>TODO: What changed?</details>
45+
46+
### [ST 2022-6:2012 “Transport of High Bit Rate Media Signals over IP Networks (HBRMT)”](https://ieeexplore.ieee.org/document/7289943)
47+
Defines a unidirectional IP-based protocol for the transport of real-time video, audio, and ancillary signals. <details><summary>Rough Explanation</summary>_Specifies a way to transport high bit-rate signals (including uncompressed 3 Gbps 1080p video) that are not encapsulated in MPEG-2 transport streams.[[1]](https://web.archive.org/web/20151208160422/http://www.tvtechnology.com/insight/0083/smpte--and-the-future-of-video-over-ip/220188)_</details>
48+
49+
### [ST 2022-7:2013 “Seamless Protection Switching of SMPTE ST 2022 IP Datagrams](https://ieeexplore.ieee.org/servlet/opac?punumber=7291849)
50+
Defines requirements for redundant streams of SMPTE 2022 packets to allow for creation of a single reconstructed output stream through seamless protection switching at the RTP datagram level. <details><summary>Rough Explanation</summary>_Describes a way to send two matching streams of packets from a source to a destination over different paths, and have the receiver switch automatically between them. This allows a perfect video signal to be reconstructed at the receiver as long as both paths do not fail simultaneously.[[1]](https://web.archive.org/web/20151208160422/http://www.tvtechnology.com/insight/0083/smpte--and-the-future-of-video-over-ip/220188)_</details>
51+
52+
### [ST 2022-8:2019 "Timing of ST 2022-6 Streams in ST 2110-10 Systems"](https://ieeexplore.ieee.org/document/8716819)
53+
Specifies the use and constraints for SMPTE ST 2022-6 streams in conjunction with the timing model of SMPTE ST 2110-10, including definition of a Synchronizing Timestamp derived in the ST 2022-8 receiver to relate the two standards. It also documents the SDP announcement of SMPTE ST 2022-5 FEC and SMPTE ST 2022-7 redundancy for these streams. <details><summary>Rough Explanation</summary>_TODO_</details>
54+
55+
### [ST 2022-2:2019 "Unidirectional Transport of Constant Bit Rate MPEG-2 Transport Streams on IP Networks (????)"](https://ieeexplore.ieee.org/document/7291740)
56+
Listed in the [SMPTE Standards list](https://www.smpte.org/standards/document-index/st#listing) but the hyperlink points to the ST 2022-2:2007 paper.
57+
58+
### [ST 2022-3:2019 "Unidirectional Transport of Variable Bit Rate MPEG-2 Transport Streams on IP Networks"](https://ieeexplore.ieee.org/document/8813131)
59+
Revision of ST 2022-3:2010. <details><summary>Rough Explanation</summary>TODO: What changed?</details>
60+
61+
### [ST 2022-7:2019 "Seamless Protection Switching of RTP Datagrams"](https://ieeexplore.ieee.org/document/8716822)
62+
Revision of ST 2022-7:2013. <details><summary>Rough Explanation</summary>TODO: What changed?</details>

0 commit comments

Comments
 (0)