Add H266 (VVC) support with output to a .266 file. Tested with https://github.com/jimm98y/SharpRealTimeStreaming which uses the SharpRTSP Library
New features: AV1 servers can use RTP/AVPF to indicate they support Feedback so a viewer could request a Keyframe via RTCP
New features: Output AV1 streams to a .obu file that 'ffplay' can replay. Tested with MediaMTX with ffmpeg-current sending AV1 via RTSP to MediaMTX Remove wowza demo. They no longer host an online RTSP server we can use Add new examples/demo where the URL, username and password can be passed on the Command Line Show Wall Clock Time for RTP packets after the RTCP Sender Report is received Initial RTSPS support, tested with Bosch CCTV Cameras. (did not work with Axis CCTV Cameras that want to use SRTP) Add support for SHA256 hash (in addition to existing MD5)
Bug fixes: Fix parsing of H265 with no 'fmtp' in the SDP
New features: Output H265 streams to a .265 file Fix RTCP parsing bug Add NAT hole punching (experimental) Upgrade NPM modules used
Bug fixes: Fix parsing of SDP for relative ONVIF Metadata
New features: Write the XML ONVIF Metadata to a file
Bug fixes: Fix parsing of SDP for relative media stream URLs Fixed OPTIONS keepalive by sending Session ID
New features: Output AAC Audio as well as H264 video
Bug fixes:
- Fixed Digest authentication thanks to @oleaasbo
Huge shoutout to @RogerHardiman for co-developing this release of the library!
Breaking changes:
- Expected Node.js version increased to Node.js LTS (
8.11.3).- This code may still work on older Node.js versions, but they're not officially supported.
- If this does not work for you, rebuilding using a lower target in
tsconfig.jsonshould help.
- Removed
RTCPPacket.payloadthat was deprecated inv2.1.1 - Renamed
RtspClienttoRTSPClient - Renamed
OnvifRtspClienttoONVIFClient - Changed structure of
RTSPClient#request, instead of returning aPromisewith headers, it now returns aPromiseof an object with a propertyheaders.
New features:
- H264 transport!
- UDP support!
- Move to TypeScript & new ES2017 features
- Why? TypeScript should help improve code quality (something I've noticed in my old code the past few months through GitHub issues & pull requests). Type errors, general confusion about code, etc.
- Async/await control flow helps to simplify codebase and make it more readable.
- Hopefully, this will not alieniate potential contributors.
Breaking changes:
- Parsed RTCP header deprecated the
payloadvalue to remove potentially confusing functionality , replacing it withbuffer. For now,payloadwill still work, but will log a message to switch to the new key.
New features:
- A parsed version of the RTSP transport header is now in the returned object from connect().
- (TODO) Test suite.
- Changed RTSP link in example, our old link died.
Breaking changes:
- Emitted event
datanow haschannelas first parameter (making parameters channel, data, packet).
New features:
- Basic parsing for RTCP, splits into the
dataandcontrolDataemitted events. (both have same parameters, see above). - Improvements to RTP header parsing.
Huge thanks to @RogerHardiman for the contributions!
The it works again! update:
- A large refactor, so I decided to bump up the major version.
- Fix embarassing errors with copy-pasted JS code from 1.5 years ago.
- Add proper RTSP data framing, other than whatever was there.
- Remove Babel/Gulp entirely, we only use what Node v6.0+ supports as far as ES6.
- Add yarn.lock for anyone using Yarn.
- Fix example.