haskell rtp server
https://itecnote.com/tecnote/open-source-rtsp-rtp-stack-with-c-language/
(PDF) Real-time MPEG-2 delivery based on RTPAcademia.eduhttps://www.academia.edu › Real_time server system that uses RTP's payload for- have fallen to the same range as PCs ... Haskell, RTP payload Proceedings of the IEEE Visual Sign. Proc. And Comm ...
(3) WebRTC data channels implementation in Haskell? : haskell
https://github.com/oherrala/haskell-stun
https://hackage.haskell.org/package/socket-sctp
https://github.com/rawrtc/rawrtc
https://github.com/xhs/librtcdc
https://webrtc.googlesource.com/src/
https://github.com/EricssonResearch/openwebrtc
https://datatracker.ietf.org/doc/draft-ietf-rtcweb-data-channel/
parsing an IP 4 header in Erlang:
parse_ip4(<<4:4/integer, % IP Version: this matches a literal '4' from the first 4 bits!!!!!!! HOw awesome is this!?
HeaderLen:4/integer, % 4 bits of header as integer
Tos:8/integer,
PacketLen:16/big-integer,
FragmentId:16/big-integer,
Flags:2/integer,
MoreFragments:1/integer,
Offset:13/big-integer,
TTL:8/integer,
UpperLayerProtocol:8/integer,
Checksum:16/big-integer,
SrcIp:32/big-integer,
DstIp:32/big-integer,
Options/binary>>) ->
AAC/MP4/DASH RTP streams GADTs SCTP TLS/DTLS TFTP server HTTP/HTTPS using servant.GHC runtime
http://erlang.org/doc/programming_examples/bit_syntax.html
https://viinex.com/middleware-for-video-surveillance/streaming-video/
https://datatracker.ietf.org/doc/html/rfc2343
RTP Payload Format for Bundled MPEG
https://datatracker.ietf.org/doc/html/rfc2250
RTP Payload Format for MPEG1/MPEG2 Video
https://datatracker.ietf.org/doc/html/rfc2038
RTP Payload Format for MPEG1/MPEG2 Video
RTP Payload Format datatracker.ietf
RFC 7798 - RTP Payload Format for High Efficiency Video ...
IETF Datatracker https://datatracker.ietf.org › doc › rfc7...Standards Track [Page 31] RFC 7798 RTP Payload Format for HEVC March 2016 4.4.4. ... About IETF Datatracker Version 12.2.0 (release - 9e0d937) Report a bug ...
RFC 6184 - RTP Payload Format for H.264 Video
IETF Datatracker https://datatracker.ietf.org › doc › html RFC 6184 RTP Payload Format for H.264 Video May 2011 Macintosh file type ... Datatracker. RFC 6184. Proposed Standard. Info; Contents; Prefs. Document, Document ...
RTP Payload Format for Versatile Video Coding (VVC)
IETF Datatracker https://datatracker.ietf.org › rfc9328 Eleftheriadis, "RTP Payload Format for Scalable Video Coding", RFC ... About IETF Datatracker Version 12.2.0 (release - 9e0d937) Report a ...
https://haskell-language-server.readthedocs.io/en/latest/what-is-hls.html
https://haskell-language-server.readthedocs.io/en/latest/configuration.html
https://github.com/haskell/haskell-language-server/tree/master
mediabus-rtp :: Stackage Server
https://www.stackage.org/lts-9.21/package/mediabus-rtp-0.4.0.1
Data.MediaBus
Data.MediaBus.Rtp
Data.MediaBus.Rtp.AlawSource
Data.MediaBus.Rtp.Packet
Data.MediaBus.Rtp.Source
https://github.com/sheyll/mediabus-rtp
https://www.stackage.org/lts-9.0
LTS Haskell 9.0 (ghc-8.0.2) :: Stackage Server
https://www.stackage.org/lts-9.0/hoogle?q=+Haskell+
https://stackoverflow.com/questions/39233889/parse-pcm-audio-data-from-rtp-packet
c - Parse PCM audio data from RTP packet - Stack Overflow
https://en.wikipedia.org/wiki/Real-time_Transport_Protocol#Packet_header
https://trac.ffmpeg.org/wiki/Using%20libav*
https://stackoverflow.com/questions/10715170/receiving-rtsp-stream-using-ffmpeg-library
Multimedia Over IP: RSVP, RTP, RTCP, RTSP
https://www.cse.wustl.edu/~jain/cis788-97/ftp/ip_multimedia/index.html
RFC 2205, Resource ReSerVation Protocol (RSVP) -- Version 1 Functional Specification
RFC 2206, RSVP Management Information Base using SMIv2 (RFC 2206)
RFC 2207, RSVP Extensions for IPSEC Data Flows
RFC 2208, RSVP Version 1 Applicability Statement Some Guidelines on Deployment
RFC 2209, RSVP Version 1 Message Processing Rules
RFC 1889, RTP: A Transport Protocol for Real-Time Applications
RFC 1890, RTP Profile for Audio and Video Conferences with Minimal Control
https://en.wikipedia.org/wiki/Application-level_gateway
High quality IP video streaming with adaptive packet marking | Proceedings of the 3rd international conference on quality of future internet services and internet charging and QoS technologies 2nd international conference on From QoS provisioning to QoS charging
https://dl.acm.org/doi/abs/10.5555/1754656.1754666
https://itecnote.com/tecnote/open-source-rtsp-rtp-stack-with-c-language/
Open source RTSP/RTP stack with C language – iTecNote
http://www.live555.com/
https://itecnote.com/tecnote/r-how-to-initialize-a-struct-in-accordance-with-c-programming-language-standards/
https://gcc.gnu.org/onlinedocs/gcc/index.html#SEC_Contents
https://gcc.gnu.org/onlinedocs/gcc/Designated-Inits.html
MPEG RTP Generation Module
https://www.cs.columbia.edu/~hgs/teaching/ais/1998/projects/mpegRTP/report.html
In this project, a software module that splits an MPEG file into
individual frames and wraps each into the necessary RTP payload and sets
the fields of fixed RTP header and extension header for MPEG stream
according to the packeting rules and header field format described in
RFC2038 was developed. This module can be intergrated to RTSP server or
any generic server that delivers MPEG video streams onto network. Simple
RTP player was also developed for dumping MPEG RTP packets and verifying
the RTP-packetized MPEG video stream that it received.
Background
RTP
MPEG
RTSP
Internet RFCs
RFC 1889
RFC 1890
RFC 2250
[1] H. Schulzrinne, S. Casner, R. Frederick, V. Jacobson, "RTP: A Transport Protocol for
Real-Time Applications," RFC 1889, January, 1996.
[2] D. Hoffman, G. Fernando, V. Goyal and M. Civanlar, "RTP payload format for
MPEG1/MPEG2 video," RFC 2250, Internet Engineering Task Force, January , 1998.
[3] Barry G. Haskell, Atui Puri, and Arun N. Netravli, "Digital Video: An Introduction
To MPEG-2", 1997
[4] H. Schulzrinne, A. Rao, R. Lanphier, "Real Time Streaming Protocol (RTSP)", RFC 2326,
Internet Engineering Task Force,April 1998
[5] H. Schulzrinne, "RTP Profile for Audio and Video Conferences with Minimal Control",
RFC 1890, January 1996.
[6] RTP Resource http://www.cs.columbia.edu/~hgs/rtp/
[7] RTSP Resource http://www.cs.columbia.edu/~hgs/rtsp/
Wireplumber PipeWire Helvum qpwgraph Multimedia multimedia framework.
https://wiki.archlinuxcn.org/zh-tw/PipeWire
PipeWire/Examples
WirePlumber
PipeWire 是一個新的底層多媒體框架。 它旨在以最低的延遲為音頻和視頻提供錄製和播放功能,並支持基於 PulseAudio、JACK、ALSA 和 GStreamer 的應用程式。
基於該框架的守護進程可以配置為音頻伺服器(具有 PulseAudio 和 JACK 特性)和視頻錄製伺服器。
PipeWire 還支持像 Flatpak 這樣的容器,不依賴於 audio 和 video 用戶組。 相反,它採用了類似於 Polkit的安全模式,向 Flatpak 或 Wayland 請求許可以錄製屏幕或音頻。
Toolchain, GCC 12.1, Wireplumber 0.4.10, Haskell, Python
https://forum.manjaro.org/t/unstable-update-2022-05-11-toolchain-gcc-12-1-wireplumber-0-4-10-haskell-python/110501
Wireplumber PipeWire Helvum qpwgraph
https://github.com/mikeroyal/PipeWire-Guide
https://blogs.gnome.org/uraeus/category/pipewire/
webrtc server open source
Kurento WebRTC Media Server
Mediasoup
Open WebRTC Toolkit (OWT)
Jitsi Video Bridge
Janus - General purpose WebRTC server
https://janus.conf.meetecho.com/docs/index.html
https://github.com/meetecho/janus-gateway
https://github.com/8xFF/atm0s-media-server?trk=article-ssr-frontend-pulse_x-social-details_comments-action_comment-text
https://sfu.mirotalk.com/?trk=article-ssr-frontend-pulse_x-social-details_comments-action_comment-text
2024年1月17日 星期三
haskell rtp server RTP MPEG RTSP MPEG video streams
2024年1月15日 星期一
speech segmentation speech segmenting algorithm
https://www.researchgate.net/publication/221258872_a_simple_but_effective_approach_to_speaker_tracking_in_broadcast_news
https://www.researchgate.net/figure/automatic-segmentation-of-the-audio-recorded-in-the-cafeteria-noisy-environment-by_fig2_323155847
https://genekogan.com/works/field-rec-navigator/
Visualizing my field recordings
https://www.jyu.fi/hytk/fi/laitokset/mutku/en/research/materials/mirtoolbox
automatically segmented the raw recordings segmentation algorithm
https://sourceforge.net/projects/supercollider/
https://en.wikipedia.org/wiki/Principal_component_analysis
https://en.wikipedia.org/wiki/Music_information_retrieval
https://lgm.fri.uni-lj.si/research/segmentation-of-field-recordings/
Segmentation of field recordings — LGM
https://yaiglobal.com/index.php/component/k2/item/5-audio-segmentation
https://www.researchgate.net/figure/audio-onset-segmentation-dashed-lines-variable-window-length-segmentation-empty_fig1_252187078
http://recherche.ircam.fr/equipes/temps-reel/audio-mosaicking/
Real-Time Audio Mosaicking
MFCC based Frame by Frame Audio Mosacing MEL-frequency cepstrum coefficients (MFCC).
Semi-supervised feature selection for audio classification based on constraint compensated Laplacian score | EURASIP Journal on Audio, Speech, and Music Processing | Full Text
figure 5 Accuracy as a function of the number of selected features
https://asmp-eurasipjournals.springeropen.com/articles/10.1186/s13636-016-0086-9
QUIC TCP BBR HTTPS TLS tcp protocol sctp quic fast internet stream protocol bbr algorithm load balancer most fast protocol optimization network performance algorithm
https://en.wikipedia.org/wiki/QUIC
BBR(Bottleneck Bandwidth and Round-trip propagation time) algorithm
數據擁塞控制協定 Datagram Congestion Control Protocol, DCCP
HTTPS TLS tcp protocol sctp quic
fast internet stream protocol bbr algorithm
load balancer most fast protocol optimization network performance algorithm
HTTP/3 HTTP/2 SPDY UDT
TLS DTLS
https://en.wikipedia.org/wiki/Stream_Control_Transmission_Protocol
https://en.wikipedia.org/wiki/SPDY
https://en.wikipedia.org/wiki/Transport_layer
fast Protocol that replaces Low-Latency
BBR Modification
Fast-Varying algorithm
Low-Latency BBR Modification
Fast-Varying Connections
https://en.wikipedia.org/wiki/Reliable_User_Datagram_Protocol
UDP UDP-Lite TCP Multipath-TCP SCTP DCCP RUDP
https://news.ycombinator.com/item?id=18519459
Indeed, nearly all FPS/MMO/RTS games are realtime and need UDP, only some messag... | Hacker News
https://en.wikipedia.org/wiki/Multipath_TCP
RealTime Servers and Reliable UDP
https://repost.aws/zh-Hant/questions/QURZJYNXN4St-AdQbuV6WTAw/realtime-servers-and-reliable-udp
Low-level RUDP Libraries
Name Language Encryption
Ruffles C# n/a
LiteNetLib C# AES or XOR
Lidgren.Network C# AES
Hazel-Networking fork C# DTLS
ENet C n/a
ENet-CSharp C# n/a
KCP C n/a
Ruffles - https://github.com/MidLevel/Ruffles
LiteNetLib - https://github.com/RevenantX/LiteNetLib
Lidgren.Network (maintain mode) - https://github.com/lidgren/lidgren-network-gen3
Hazel-Networking (fork) - https://github.com/willardf/Hazel-Networking
ENet - https://github.com/lsalzman/enet
ENet-CSharp - https://github.com/nxrighthere/ENet-CSharp
KCP
https://github.com/skywind3000/kcp/blob/master/README.en.md
https://github.com/vis2k/kcp2k/ (C# port)
https://github.com/leenjewel/node-kcp (node wrapper)
High-Level Network Solution that supports RUDP
Opus audio Codec Speex Vorbi RFC 6716 Modern audio compression for the internet. VOIP AUDIO Codec OPUS CODEC (IP Phone音訊格式) OPUS Codec: Clear, Adaptable Voice for Mobile VoIP Opus audio codec developed by the Internet Engineering Task Force (IETF), ... stored at \App\Client\Test\Testvecs\ ...
http://www.foveon.de/sonstiges/opusdrop/index.htm
https://de.wikipedia.org/wiki/Opus_%28Audioformat%29
https://docs.omniverse.nvidia.com/kit/docs/carbonite/latest/docs/audio/Basics.html
https://e2e.ti.com/blogs_/b/process/posts/swiss-army-knife-of-audio-codecs
https://en.wikipedia.org/wiki/Data_compression#Lossy_audio_compression
Opus splitter audio codec voip rtp
https://stackoverflow.com/questions/34506330/sending-naudio-opus-encoded-audio-from-device-as-rtp
https://www.rfc-editor.org/rfc/rfc3550
https://datatracker.ietf.org/doc/html/rfc6716
Open Interactive Audio Codec
https://github.com/DevJohnC/Opus.NET
Play or Capture Audio Sound. Send and Receive as Multicast (RTP)
https://www.codeproject.com/Articles/394890/Play-or-Capture-Audio-Sound-Send-and-Receive-a
https://stackoverflow.com/questions/2637697/sending-udp-packet-in-c-sharps-Mu
medium audio data classification voice signal data divide frame splitter audio codec
https://onkar-patil.medium.com/how-to-remove-silence-from-an-audio-using-python-50fd2c00557d
https://medium.com/analytics-vidhya/deep-learning-audio-classification-fcbed546a2dd
https://paperswithcode.com/dataset/timit
https://www.researchgate.net/figure/The-method-of-divide-the-audio-signal-into-phonemes-with-use-video-frame_fig2_262360598
https://towardsdatascience.com/decoding-the-symphony-of-sound-audio-signal-processing-for-musical-engineering-c66f09a4d0f5
https://www.researchgate.net/figure/top-A-part-of-a-speech-signal-from-TIMIT-database-Manually-positioned-phoneme_fig1_264936933
Silence detection - VoIPmonitor.org Silence detection - VoIPmonitor.org
https://www.voipmonitor.org/doc/Silence_detection
https://www.soundonsound.com/sound-advice/q-whats-difference-between-detect-silence-and-hitpoints-cubase
https://www.techtarget.com/searchnetworking/definition/orthogonal-frequency-division-multiplexing
voice signal data divide frame splitter audio codec ring buffer wrap-around discontinuity zero crossing clipping
Basics of Audio Processing — carbonite 162.0 documentation
https://docs.omniverse.nvidia.com/kit/docs/carbonite/latest/docs/audio/Basics.html
Record of pcm ring buffer in alsa - Programmer Sought
https://programmersought.com/article/45685377190/
https://blog.risa.com/post/what-are-the-ramp-up-coast-down-functions-in-time-history
audio Packages DLL music Audio libraries library
SEARCH Packages Linux Unix
https://slackbuilds.org/result/?search=audio&sv=15.0
https://pkgs.org/download/libopenshot-audio
https://en.wikipedia.org/wiki/Category:Audio_libraries
https://en.wikipedia.org/wiki/Category:Video_game_music_technology
category is Audio library.Pages in category "Audio libraries"
BASS
ClanLib
DirectSound
Enlightened Sound Daemon
FMOD
JACK Audio Connection Kit
Libavcodec
Miles Sound System
Open Sound System
OpenAL
OpenSL ES
PulseAudio
Raylib
Simple DirectMedia Layer
UFMOD
Audio libraries Raylib ClanLib Libavcodec PulseAudio
https://packages.altlinux.org/en/p10/srpms/libopenshot-audio/
https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%90%D1%83%D0%B4%D0%B8%D0%BE%D0%B1%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B8
libopenshot-audio JUCE audio library
audio/opus-tools
https://en.wikipedia.org/wiki/Opus_(audio_format)
https://wiki.xiph.org/Opus-tools
libs For Qt5. pulseaudio qt
https://archlinux.org/packages/extra/x86_64/pulseaudio-qt/
https://packages.fedoraproject.org/pkgs/pulseaudio-qt/pulseaudio-qt-qt5/
https://github.com/OpenShot/libopenshot-audio
OpenShot Audio Library libopenshot-audio OpenShot Audio Library (libopenshot-audio) is a free, open ...
GitHub https://github.com › OpenShot › libope...
OpenShot Audio Library (libopenshot-audio)
https://www.haskell.org/
haskell Packages bindings audio haskell bindings audio
https://hackage.haskell.org/package/htaglib
https://hackage.haskell.org/package/jack
Octave packages audio Audio and MIDI Toolbox for GNU Octave. SHA256
https://en.wikipedia.org/wiki/UFMOD
pectrum-devel pkgs top-level/all-packages
https://spectrum-os.org/lists/archives/spectrum-devel/c22a62456db/s/?b=pkgs/top-level/all-packages.nix
https://discourse.julialang.org/t/package-trouble-again/104977
https://ctepp.calstate.edu/tlab-change-packages
Steam Audio supports the following platforms:
https://valvesoftware.github.io/steam-audio/doc/capi/getting-started.html
Steam Audio supports the following platforms
Steam Broadcasting
Steam Support
https://help.steampowered.com › view
Steam Broadcasting is currently supported by the following browsers: Steam Client; Google Chrome (version 39+); Apple Safari (version 8+ on macOS); Internet ...
Modern audio compressioninternet. Opus audio format Opus lossy audio coding format Xiph.Org Foundation standardized code speech
https://en.wikipedia.org/wiki/Opus_(audio_format)
Opus (audio format) - Wikipedia
Opus is a lossy audio coding format developed by the Xiph.Org Foundation and standardized by the Internet Engineering Task Force, designed to efficiently code speech and general audio in a singl
xiph/opus: Modern audio compression for the internet.
Opus Codec
https://opus-codec.org/
Opus Interactive Audio Codec
Overview
Opus is a totally open, royalty-free, highly versatile audio codec. Opus is unmatched for interactive speech and music transmission over the Internet, but is also intended for storage and streaming applications. It is standardized by the Internet Engineering Task Force (IETF) as RFC 6716 which incorporated technology from Skype’s SILK codec and Xiph.Org’s CELT codec.
Technology
Opus can handle a wide range of audio applications, including Voice over IP, videoconferencing, in-game chat, and even remote live music performances. It can scale from low bitrate narrowband speech to very high quality stereo music. Supported features are:
Bitrates from 6 kb/s to 510 kb/s
Sampling rates from 8 kHz (narrowband) to 48 kHz (fullband)
Frame sizes from 2.5 ms to 60 ms
Support for both constant bitrate (CBR) and variable bitrate (VBR)
Audio bandwidth from narrowband to fullband
Support for speech and music
Support for mono and stereo
Support for up to 255 channels (multistream frames)
Dynamically adjustable bitrate, audio bandwidth, and frame size
Good loss robustness and packet loss concealment (PLC)
Floating point and fixed-point implementation
2024年1月13日 星期六
rtsp Streaming Media streaming library LIVE555 Media Server Proxy Server HLS Proxy vobStreamer streaming DVD RTP/RTCP/RTSP
https://en.wikipedia.org/wiki/Real-Time_Streaming_Protocol
LIVE555 Streaming Media
This code forms a set of C++ libraries for multimedia streaming, using open standard protocols (RTP/RTCP, RTSP, SIP). These libraries - which can be compiled for Unix (including Linux and Mac OS X), QNX (and other POSIX-compliant systems) - can be used to build streaming applications. The libraries are already being used to implement applications such as the "LIVE555 Media Server", "LIVE555 Proxy Server", and "LIVE555 HLS Proxy" and "vobStreamer" (for streaming DVD content using RTP/RTCP/RTSP). The libraries can also be used to stream, receive, and process MPEG, H.265, H.264, H.263+, DV or JPEG video, and several audio codecs. They can easily be extended to support additional (audio and/or video) codecs, and can also be used to build basic RTSP or SIP clients and servers, and have been used to add streaming support to existing media player applications, such as "VLC" and "MPlayer". (For some specific examples of how these libraries can be used, see the test programs below.)
https://girishjoshi.io/post/stream-a-video-over-rtsp-using-live555mediaserver/
串流伺服器特性剖析 - 國立交通大學國立陽明交通大學機構典藏 https://ir.nctu.edu.tw › bitstreamPDF由 吳宗修 著作 · 2006 — A streaming server will consists of three important modules, they are " Set up a standard connection procedure "," RTSP Signaling Negotiation " and " packet ...
https://github.com/bluenviron/mediamtx
RTSP Pull - OvenMediaEngine
https://airensoft.gitbook.io/ovenmediaengine/live-source/rtsp-pull-beta
https://gstreamer.freedesktop.org/documentation/gst-rtsp-server/rtsp-server.html?gi-language=c
https://github.com/aler9/rtsp-simple-proxy
RTSP/RTP streaming support for MPlayer
http://www.live555.com/mplayer/
RTSP SDK Libraries for Windows, .NET 6+, .NET Framework, C#, VB, C/C++, and Python | LEADTOOLS
https://www.leadtools.com/sdk/multimedia/streaming/rtsp
Managed Media Aggregation using Rtsp and Rtp - CodeProject
https://www.codeproject.com/Articles/507218/Managed-Media-Aggregation-using-Rtsp-and-Rtp
RTSP & RTP Client, Broadcaster & Server Library | VASTreaming
https://www.vastreaming.net/rtsp-library.html
rtsp RTP Streaming Media streaming library
https://github.com/ekumenlabs/AndroidStreamingClient/blob/master/android_streaming_client/src/main/java/com/c77/androidstreamingclient/lib/rtp/RtpMediaDecoder.java
android streaming client lib
DataPacketTracer
MediaExtractor
RtpMediaDecoder
RtpMediaExtractor
streaming data packet tracer decoder extractor Naishy/rtpsplit: RTP stream extractor GitHub - Linaro/OpenCSD: CoreSight trace stream decoder
rtp streaming data extractor
https://wiki.wireshark.org/rtp_statistics